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