summaryrefslogtreecommitdiff
path: root/base/src/main/java/com/smartdevicelink/security/AbstractSdlSecurityBase.java
blob: bdcc0dae5a7ceb9924cc79bf085e4b6221fc8991 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
package com.smartdevicelink.security;

import java.util.ArrayList;
import java.util.List;
import com.smartdevicelink.SdlConnection.SdlSession;
import com.smartdevicelink.protocol.enums.SessionType;

abstract class AbstractSdlSecurityBase {
	
	protected SdlSession session = null;	
	protected String appId = null;
	protected List<String> makeList = null;
	protected boolean isInitSuccess = false;
	protected byte sessionId = 0;
	protected List<SessionType> startServiceList = new ArrayList<SessionType>();	
	
    public AbstractSdlSecurityBase() {
	}
	
	public abstract void initialize();
	
    public abstract Integer runHandshake(byte[] inputData,byte[] outputData);
    
	public abstract Integer encryptData(byte[] inputData,byte[] outputData);
	
    public abstract Integer decryptData(byte[] inputData,byte[] outputData);
    
    public abstract void shutDown();
    
    public void resetParams() {
    	session = null;
    	appId = null;
    	isInitSuccess = false;
    	startServiceList.clear();
    }
    
    public List<SessionType> getServiceList() {
    	return startServiceList;
    }
    
    public void handleInitResult(boolean val) {
        if (session == null) return;

        setInitSuccess(val);
        session.onSecurityInitialized();
    }
    
    public void handleSdlSession(SdlSession val) {
    	if (val == null) return;
    	
    	setSessionId(val.getSessionId());
    	setSdlSession(val);
    }
	
    private void setInitSuccess(boolean val) {
    	isInitSuccess = val;
    }
    
    public boolean getInitSuccess() {
    	return isInitSuccess;
    }
    
    private void setSessionId(byte val) {
    	sessionId = val;
    }
    
    public byte getSessionId() {
    	return sessionId;
    }

    private void setSdlSession(SdlSession val) {
    	session = val;
    }
    
    public String getAppId() {
    	return appId;
    }
    
    public void setAppId(String val) {
    	appId = val;
    }

    public List<String> getMakeList() {
    	return makeList;
    }
    
    public void setMakeList(List<String> val) {
    	makeList = val;
    }
}