Development of NETCONF RPCs for tr-069 adapter to
[oam/tr069-adapter.git] / acs / common / src / main / java / org / commscope / tr069adapter / acs / common / requestprocessor / service / TR069DeviceEventHandler.java
1 /*
2  * ============LICENSE_START========================================================================
3  * ONAP : tr-069-adapter
4  * =================================================================================================
5  * Copyright (C) 2020 CommScope Inc Intellectual Property.
6  * =================================================================================================
7  * This tr-069-adapter software file is distributed by CommScope Inc under the Apache License,
8  * Version 2.0 (the "License"); you may not use this file except in compliance with the License. You
9  * may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
14  * either express or implied. See the License for the specific language governing permissions and
15  * limitations under the License.
16  * ===============LICENSE_END=======================================================================
17  */
18
19 package org.commscope.tr069adapter.acs.common.requestprocessor.service;
20
21 import org.commscope.tr069adapter.acs.common.DeviceInform;
22 import org.commscope.tr069adapter.acs.common.DeviceRPCRequest;
23 import org.commscope.tr069adapter.acs.common.DeviceRPCResponse;
24 import org.commscope.tr069adapter.acs.common.dto.DeviceOperationRequestDetails;
25 import org.commscope.tr069adapter.acs.common.dto.TR069DeviceDetails;
26 import org.commscope.tr069adapter.acs.common.exception.DeviceOperationException;
27 import org.commscope.tr069adapter.acs.common.exception.SessionConcurrentAccessException;
28 import org.commscope.tr069adapter.acs.common.exception.SessionManagerException;
29 import org.commscope.tr069adapter.acs.common.response.DeviceInformResponse;
30
31 public interface TR069DeviceEventHandler {
32
33   /**
34    * @param deviceNotification
35    * @return
36    * @throws SessionConcurrentAccessException
37    */
38   public DeviceInformResponse processDeviceInform(DeviceInform deviceNotification)
39       throws InterruptedException, SessionConcurrentAccessException;
40
41   /**
42    * Return type can be null, such case Empty HTTP response to be sent to the device
43    * 
44    * @param operationResult
45    * @return
46    */
47   public DeviceRPCRequest processDeviceRPCResponse(DeviceRPCResponse operationResult)
48       throws SessionConcurrentAccessException, InterruptedException;
49
50   /**
51    * Return type can be null, such case Empty HTTP response to be sent to the device
52    * 
53    * @return
54    */
55   public DeviceRPCRequest processEmptyDeviceRequest(TR069DeviceDetails deviceDetails)
56       throws SessionConcurrentAccessException, InterruptedException;
57
58   /**
59    * @param sessionId
60    * @return
61    * @throws SessionManagerException
62    */
63   public DeviceOperationRequestDetails getOpRequestDetailsBySessionId(String sessionId)
64       throws SessionManagerException;
65
66   /**
67    * @param deviceId
68    * @return
69    * @throws DeviceOperationException
70    */
71   public TR069DeviceDetails getDeviceDetails(String deviceId) throws DeviceOperationException;
72
73   public void processConnectionRequest(String errorMsg, String deviceId, boolean isSuccess);
74
75 }