Pārlūkot izejas kodu

Create Json format compatible with GenieACS

Sasan Torabkheslat 5 gadi atpakaļ
vecāks
revīzija
e7b71a1d9f

+ 0 - 10
.idea/deployment.xml

@@ -12,16 +12,6 @@
           </excludedPaths>
         </serverdata>
       </paths>
-      <paths name="Remote Host (c0ecdd86-f178-4b13-b05c-a47e3455e4c4)">
-        <serverdata>
-          <mappings>
-            <mapping deploy="/tmp/tmp.5FwZ7fhobb" local="$PROJECT_DIR$" />
-          </mappings>
-          <excludedPaths>
-            <excludedPath local="true" path="$PROJECT_DIR$/cmake-build-debug" />
-          </excludedPaths>
-        </serverdata>
-      </paths>
     </serverData>
   </component>
 </project>

+ 0 - 1
.idea/other.xml

@@ -3,7 +3,6 @@
   <component name="AutoUploadManager">
     <option name="hosts">
       <list>
-        <option value="c0ecdd86-f178-4b13-b05c-a47e3455e4c4" />
         <option value="e9dd1ecb-683b-455d-93f3-bda676ea4f16" />
       </list>
     </option>

+ 126 - 205
.idea/workspace.xml

@@ -15,38 +15,21 @@
       <change beforePath="$PROJECT_DIR$/.idea/deployment.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/deployment.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/other.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/other.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/CMakeLists.txt" beforeDir="false" afterPath="$PROJECT_DIR$/CMakeLists.txt" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeCache.txt" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeCache.txt" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/3.13.2/CMakeDetermineCompilerABI_C.bin" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/3.13.2/CMakeDetermineCompilerABI_C.bin" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/3.13.2/CMakeDetermineCompilerABI_CXX.bin" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/3.13.2/CMakeDetermineCompilerABI_CXX.bin" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/3.13.2/CompilerIdC/a.out" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/3.13.2/CompilerIdC/a.out" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/3.13.2/CompilerIdCXX/a.out" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/3.13.2/CompilerIdCXX/a.out" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/3.7.2/CMakeSystem.cmake" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/3.7.2/CMakeSystem.cmake" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/CMakeDirectoryInformation.cmake" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/CMakeDirectoryInformation.cmake" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/CMakeError.log" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/CMakeError.log" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/CMakeOutput.log" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/CMakeOutput.log" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/FDIACS.dir/CXX.includecache" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/FDIACS.dir/CXX.includecache" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/FDIACS.dir/DependInfo.cmake" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/FDIACS.dir/DependInfo.cmake" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/FDIACS.dir/build.make" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/FDIACS.dir/build.make" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/FDIACS.dir/depend.internal" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/FDIACS.dir/depend.internal" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/FDIACS.dir/depend.make" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/FDIACS.dir/depend.make" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/FDIACS.dir/flags.make" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/FDIACS.dir/flags.make" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/FDIACS.dir/httppost.cpp.o" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/FDIACS.dir/httppost.cpp.o" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/FDIACS.dir/link.txt" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/FDIACS.dir/link.txt" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/FDIACS.dir/main.cpp.o" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/FDIACS.dir/main.cpp.o" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/FDIACS.dir/soapC.cpp.o" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/FDIACS.dir/soapC.cpp.o" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/FDIACS.dir/soapcwmpService.cpp.o" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/FDIACS.dir/soapcwmpService.cpp.o" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/FDIACS.dir/stdsoap2.cpp.o" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/FDIACS.dir/stdsoap2.cpp.o" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/Makefile2" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/Makefile2" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/Progress/count.txt" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/Progress/count.txt" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/TargetDirectories.txt" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/TargetDirectories.txt" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/Makefile.cmake" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/Makefile.cmake" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/clion-log.txt" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/clion-log.txt" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/feature_tests.bin" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/CMakeFiles/feature_tests.bin" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/cmake-build-debug/FDIACS" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/FDIACS" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug/FDIACS.cbp" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/FDIACS.cbp" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug/Makefile" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/Makefile" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/cmake-build-debug/cmake_install.cmake" beforeDir="false" afterPath="$PROJECT_DIR$/cmake-build-debug/cmake_install.cmake" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/influxdb.h" beforeDir="false" />
       <change beforePath="$PROJECT_DIR$/main.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/main.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/soapcwmpService.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/soapcwmpService.cpp" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/stdsoap2.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/stdsoap2.cpp" afterDir="false" />
     </list>
     <ignored path="$PROJECT_DIR$/cmake-build-debug/" />
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
@@ -61,118 +44,54 @@
       <file pinned="false" current-in-tab="true">
         <entry file="file://$PROJECT_DIR$/main.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="1605">
-              <caret line="116" column="43" selection-start-line="116" selection-start-column="43" selection-end-line="116" selection-end-column="43" />
+            <state relative-caret-position="315">
+              <caret line="106" column="16" lean-forward="true" selection-start-line="106" selection-start-column="16" selection-end-line="106" selection-end-column="16" />
               <folding>
-                <element signature="e#7134#9502#0" />
+                <element signature="e#482#861#0" />
+                <element signature="e#515#764#0" />
+                <element signature="e#798#829#0" />
+                <element signature="e#6188#6874#0" />
+                <element signature="e#6876#7907#0" />
+                <element signature="e#7910#10278#0" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
-      <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/soapcwmpService.cpp">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="3105">
-              <caret line="207" selection-start-line="207" selection-end-line="207" />
-              <folding>
-                <element signature="e#0#614#0" />
-                <element signature="e#646#778#0" />
-                <element signature="e#780#880#0" />
-                <element signature="e#882#1022#0" />
-                <element signature="e#1024#1154#0" />
-                <element signature="e#1156#1300#0" />
-                <element signature="e#1302#1401#0" />
-                <element signature="e#1403#2164#0" />
-                <element signature="e#2166#2246#0" />
-                <element signature="e#2248#2401#0" />
-                <element signature="e#2429#2612#0" />
-                <element signature="e#2621#2830#0" />
-                <element signature="e#2832#2907#0" />
-                <element signature="e#2909#2996#0" />
-                <element signature="e#2998#3137#0" />
-                <element signature="e#3139#3326#0" />
-                <element signature="e#3328#3471#0" />
-                <element signature="e#3473#3664#0" />
-                <element signature="e#3666#3750#0" />
-                <element signature="e#3790#3884#0" />
-                <element signature="e#3893#4006#0" />
-                <element signature="e#4015#4079#0" />
-                <element signature="e#4081#4704#0" />
-                <element signature="e#4706#4783#0" />
-                <element signature="e#4803#5202#0" />
-                <element signature="e#5699#5813#0" />
-                <element signature="e#5826#5884#0" />
-                <element signature="e#7642#7702#0" />
-                <element signature="e#7704#9235#0" />
-                <element signature="e#9316#11138#0" />
-                <element signature="e#11140#12986#0" />
-                <element signature="e#12988#13748#0" />
-                <element signature="e#13750#15596#0" />
-                <element signature="e#15598#17540#0" />
-                <element signature="e#17542#19484#0" />
-                <element signature="e#19486#21092#0" />
-                <element signature="e#21094#22652#0" />
-                <element signature="e#22654#24284#0" />
-                <element signature="e#24286#25988#0" />
-                <element signature="e#25990#27716#0" />
-              </folding>
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/soapcwmpService.h">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="2070">
-              <caret line="138" selection-start-line="138" selection-end-line="138" />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/CMakeLists.txt">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="75">
-              <caret line="5" column="30" selection-start-line="5" selection-start-column="30" selection-end-line="5" selection-end-column="30" />
-            </state>
-          </provider>
-        </entry>
-      </file>
     </leaf>
   </component>
   <component name="FindInProjectRecents">
     <findStrings>
-      <find>stdsoap2.cpp</find>
-      <find>MustUnderstand</find>
-      <find>sassan</find>
-      <find>tood</find>
-      <find>debug</find>
-      <find>msgbuf</find>
-      <find>fault struct for error code</find>
-      <find>engh</find>
-      <find>Instantiated struct</find>
-      <find>Instantiated struct SOAP_ENV__Fault</find>
-      <find>MUST</find>
-      <find>Understand</find>
-      <find>Sassan</find>
-      <find>understood</find>
-      <find>SOAP_MUSTUNDERSTAND</find>
-      <find>SOAP_NAMESPACE</find>
-      <find>match but namespaces differ</find>
-      <find>cerr</find>
-      <find>soap_match_namespace(</find>
-      <find>SOAP_XML_IGNORENS</find>
-      <find>SOAP_NO_DATA</find>
-      <find>setsockopt</find>
-      <find>bind failed in soap_bind</find>
-      <find>InternetGatewayDevice.WANDevice.1.X_TGT_WANNetConfigInfo.RSRP2</find>
-      <find>pPtrToArrayOfCharPtrs</find>
-      <find>Data</find>
-      <find>zbx_keys</find>
-      <find>timestamp</find>
-      <find>he</find>
-      <find>hello</find>
+      <find>soap_http_get_body</find>
+      <find>Sassan2</find>
+      <find>rsrq</find>
+      <find>RRC</find>
+      <find>MCS</find>
+      <find>vers</find>
+      <find>WANIPAddress</find>
+      <find>InternetGatewayDevice.DeviceInfo.UpTime</find>
+      <find>SerialNumber</find>
+      <find>chrono</find>
+      <find>tr069[&quot;Manufacturer&quot;]</find>
+      <find>RSRP2</find>
+      <find>ManufacturerOUI</find>
+      <find>Manufacturer</find>
+      <find>IMSI</find>
+      <find>InternetGatewayDevice.DeviceInfo.X_TGT_IMEI</find>
+      <find>_IMEI</find>
+      <find>IMEI</find>
+      <find>Status</find>
+      <find>LANEthernetInterfaceConfig</find>
+      <find>DHCPServerEnable</find>
+      <find>LAN1Enable</find>
+      <find>ConnectionRequestURL</find>
+      <find>imsi</find>
+      <find>BytesSent</find>
+      <find>compare</find>
+      <find>wanEtehrnetinterface</find>
+      <find>RSRQ</find>
+      <find>InternetGatewayDevice.WANDevice.1.WANEthernetInterfaceConfig.Enable</find>
+      <find>WANEthernetInterfaceConfig</find>
     </findStrings>
   </component>
   <component name="Git.Settings">
@@ -182,14 +101,14 @@
     <option name="CHANGED_PATHS">
       <list>
         <option value="$USER_HOME$/Library/Caches/CLion2018.3/.remote/192.168.0.154_22/8475b696-d6ff-4afa-994e-c4b54dd29918/usr/local/include/stdsoap2.h" />
-        <option value="$PROJECT_DIR$/stdsoap2.cpp" />
         <option value="$PROJECT_DIR$/ZBXSender/zabbix_sender.cpp" />
         <option value="$PROJECT_DIR$/zbx.h" />
         <option value="$PROJECT_DIR$/soapcwmpService.h" />
-        <option value="$PROJECT_DIR$/soapcwmpService.cpp" />
         <option value="$PROJECT_DIR$/zbx.cpp" />
         <option value="$PROJECT_DIR$/influxdb.h" />
         <option value="$PROJECT_DIR$/CMakeLists.txt" />
+        <option value="$PROJECT_DIR$/soapcwmpService.cpp" />
+        <option value="$PROJECT_DIR$/stdsoap2.cpp" />
         <option value="$PROJECT_DIR$/main.cpp" />
       </list>
     </option>
@@ -224,7 +143,7 @@
     <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
     <property name="nodejs_npm_path_reset_for_default_project" value="true" />
     <property name="restartRequiresConfirmation" value="false" />
-    <property name="settings.editor.selected.configurable" value="CPPToolchains" />
+    <property name="settings.editor.selected.configurable" value="web.server" />
   </component>
   <component name="RecentsManager">
     <key name="MoveFile.RECENT_KEYS">
@@ -277,14 +196,25 @@
       <workItem from="1568617184480" duration="295000" />
       <workItem from="1568879402223" duration="2478000" />
       <workItem from="1571572407314" duration="399000" />
-      <workItem from="1572182212544" duration="1115000" />
+      <workItem from="1572182212544" duration="1843000" />
+      <workItem from="1572263173357" duration="9135000" />
+      <workItem from="1574774646608" duration="1369000" />
+      <workItem from="1575063631744" duration="39197000" />
     </task>
+    <task id="LOCAL-00001" summary="Disable InfluxDB">
+      <created>1572183659791</created>
+      <option name="number" value="00001" />
+      <option name="presentableId" value="LOCAL-00001" />
+      <option name="project" value="LOCAL" />
+      <updated>1572183659791</updated>
+    </task>
+    <option name="localTasksCounter" value="2" />
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="153354000" />
+    <option name="totallyTimeSpent" value="203783000" />
   </component>
-  <component name="TodoView">
+  <component name="TodoView" selected-index="3">
     <todo-panel id="selected-file">
       <is-autoscroll-to-source value="true" />
     </todo-panel>
@@ -295,21 +225,20 @@
   </component>
   <component name="ToolWindowManager">
     <frame x="0" y="0" width="1280" height="800" extended-state="6" />
-    <editor active="true" />
     <layout>
-      <window_info content_ui="combo" id="Project" order="0" sideWeight="0.47404063" visible="true" weight="0.2358643" />
-      <window_info id="Structure" order="1" sideWeight="0.5259594" side_tool="true" visible="true" weight="0.2358643" />
+      <window_info content_ui="combo" id="Project" order="0" sideWeight="0.4739726" weight="0.24555735" />
+      <window_info id="Structure" order="1" sideWeight="0.5260274" side_tool="true" weight="0.23909532" />
       <window_info id="Favorites" order="2" side_tool="true" />
       <window_info anchor="bottom" id="Message" order="0" />
       <window_info anchor="bottom" id="Find" order="1" weight="0.32739726" />
-      <window_info anchor="bottom" id="Run" order="2" weight="0.32871288" />
+      <window_info anchor="bottom" id="Run" order="2" weight="0.32739726" />
       <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
       <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
       <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
       <window_info anchor="bottom" id="TODO" order="6" weight="0.32876712" />
-      <window_info anchor="bottom" id="File Transfer" order="7" weight="0.3178082" />
+      <window_info anchor="bottom" id="File Transfer" order="7" weight="0.31643835" />
       <window_info anchor="bottom" id="Database Changes" order="8" />
-      <window_info active="true" anchor="bottom" id="Messages" order="9" visible="true" weight="0.3931507" />
+      <window_info active="true" anchor="bottom" id="Messages" order="9" visible="true" weight="0.3958904" />
       <window_info anchor="bottom" id="Terminal" order="10" weight="0.32739726" />
       <window_info anchor="bottom" id="Event Log" order="11" side_tool="true" />
       <window_info anchor="bottom" id="Version Control" order="12" weight="0.32876712" />
@@ -324,17 +253,17 @@
   <component name="TypeScriptGeneratedFilesManager">
     <option name="version" value="1" />
   </component>
+  <component name="VcsManagerConfiguration">
+    <MESSAGE value="Disable InfluxDB" />
+    <MESSAGE value="Create Json format compatible with GenieACS" />
+    <option name="LAST_COMMIT_MESSAGE" value="Create Json format compatible with GenieACS" />
+  </component>
   <component name="XDebuggerManager">
     <breakpoint-manager>
       <breakpoints>
-        <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
-          <url>file://$PROJECT_DIR$/soapcwmpService.cpp</url>
-          <line>217</line>
-          <option name="timeStamp" value="22" />
-        </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
           <url>file://$PROJECT_DIR$/stdsoap2.cpp</url>
-          <line>21897</line>
+          <line>21896</line>
           <option name="timeStamp" value="26" />
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
@@ -344,7 +273,7 @@
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
           <url>file://$PROJECT_DIR$/stdsoap2.cpp</url>
-          <line>20447</line>
+          <line>20446</line>
           <option name="timeStamp" value="33" />
         </line-breakpoint>
         <line-breakpoint type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
@@ -542,13 +471,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/soapStub.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="188">
-          <caret line="1810" column="40" selection-start-line="1810" selection-start-column="40" selection-end-line="1810" selection-end-column="40" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/ZBXSender/ss.cpp" />
     <entry file="file://$PROJECT_DIR$/ZBXSender/ss.h" />
     <entry file="file://$USER_HOME$/Library/Caches/CLion2018.3/.remote/192.168.0.154_22/c0ecdd86-f178-4b13-b05c-a47e3455e4c4/usr/include/x86_64-linux-gnu/sys/socket.h">
@@ -566,13 +488,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/stdsoap2.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="15">
-          <caret line="6643" column="8" selection-start-line="6643" selection-start-column="8" selection-end-line="6643" selection-end-column="8" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/soapH.h">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="159255">
@@ -600,78 +515,84 @@
       <provider selected="true" editor-type-id="text-editor" />
     </entry>
     <entry file="file://$PROJECT_DIR$/influxdb.h" />
+    <entry file="file://$PROJECT_DIR$/CMakeLists.txt">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="75">
+          <caret line="5" column="30" selection-start-line="5" selection-start-column="30" selection-end-line="5" selection-end-column="30" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$USER_HOME$/Library/Caches/CLion2018.3/.remote/192.168.0.154_22/e9dd1ecb-683b-455d-93f3-bda676ea4f16/usr/local/include/stdsoap2.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="235">
+          <caret line="136" column="9" selection-start-line="136" selection-start-column="9" selection-end-line="136" selection-end-column="9" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/soapStub.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="172">
+          <caret line="1808" column="17" selection-start-line="1808" selection-start-column="17" selection-end-line="1808" selection-end-column="17" />
+        </state>
+      </provider>
+    </entry>
     <entry file="file://$PROJECT_DIR$/soapcwmpService.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="3105">
-          <caret line="207" selection-start-line="207" selection-end-line="207" />
+        <state relative-caret-position="60">
+          <caret line="15" column="7" selection-start-line="15" selection-start-column="7" selection-end-line="15" selection-end-column="7" />
           <folding>
             <element signature="e#0#614#0" />
-            <element signature="e#646#778#0" />
-            <element signature="e#780#880#0" />
-            <element signature="e#882#1022#0" />
-            <element signature="e#1024#1154#0" />
-            <element signature="e#1156#1300#0" />
-            <element signature="e#1302#1401#0" />
-            <element signature="e#1403#2164#0" />
-            <element signature="e#2166#2246#0" />
-            <element signature="e#2248#2401#0" />
-            <element signature="e#2429#2612#0" />
-            <element signature="e#2621#2830#0" />
-            <element signature="e#2832#2907#0" />
-            <element signature="e#2909#2996#0" />
-            <element signature="e#2998#3137#0" />
-            <element signature="e#3139#3326#0" />
-            <element signature="e#3328#3471#0" />
-            <element signature="e#3473#3664#0" />
-            <element signature="e#3666#3750#0" />
-            <element signature="e#3790#3884#0" />
-            <element signature="e#3893#4006#0" />
-            <element signature="e#4015#4079#0" />
-            <element signature="e#4081#4704#0" />
-            <element signature="e#4706#4783#0" />
-            <element signature="e#4803#5202#0" />
-            <element signature="e#5699#5813#0" />
-            <element signature="e#5826#5884#0" />
-            <element signature="e#7642#7702#0" />
-            <element signature="e#7704#9235#0" />
-            <element signature="e#9316#11138#0" />
-            <element signature="e#11140#12986#0" />
-            <element signature="e#12988#13748#0" />
-            <element signature="e#13750#15596#0" />
-            <element signature="e#15598#17540#0" />
-            <element signature="e#17542#19484#0" />
-            <element signature="e#19486#21092#0" />
-            <element signature="e#21094#22652#0" />
-            <element signature="e#22654#24284#0" />
-            <element signature="e#24286#25988#0" />
-            <element signature="e#25990#27716#0" />
           </folding>
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/soapcwmpService.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="2070">
-          <caret line="138" selection-start-line="138" selection-end-line="138" />
+        <state relative-caret-position="155">
+          <caret line="17" column="23" selection-start-line="17" selection-start-column="23" selection-end-line="17" selection-end-column="23" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/CMakeLists.txt">
+    <entry file="file://$PROJECT_DIR$/stdsoap2.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="75">
-          <caret line="5" column="30" selection-start-line="5" selection-start-column="30" selection-end-line="5" selection-end-column="30" />
+        <state relative-caret-position="4275">
+          <caret line="20349" selection-start-line="20349" selection-end-line="20349" />
+          <folding>
+            <element signature="e#559463#559555#0" expanded="true" />
+            <element signature="e#559776#559804#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/main.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1605">
-          <caret line="116" column="43" selection-start-line="116" selection-start-column="43" selection-end-line="116" selection-end-column="43" />
+        <state relative-caret-position="315">
+          <caret line="106" column="16" lean-forward="true" selection-start-line="106" selection-start-column="16" selection-end-line="106" selection-end-column="16" />
           <folding>
-            <element signature="e#7134#9502#0" />
+            <element signature="e#482#861#0" />
+            <element signature="e#515#764#0" />
+            <element signature="e#798#829#0" />
+            <element signature="e#6188#6874#0" />
+            <element signature="e#6876#7907#0" />
+            <element signature="e#7910#10278#0" />
           </folding>
         </state>
       </provider>
     </entry>
   </component>
+  <component name="masterDetails">
+    <states>
+      <state key="ScopeChooserConfigurable.UI">
+        <settings>
+          <splitter-proportions>
+            <option name="proportions">
+              <list>
+                <option value="0.2" />
+              </list>
+            </option>
+          </splitter-proportions>
+        </settings>
+      </state>
+    </states>
+  </component>
 </project>

+ 23 - 23
cmake-build-debug/CMakeFiles/CMakeError.log

@@ -1,22 +1,22 @@
 Determining if the pthread_create exist failed with the following output:
 Change Dir: /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp
 
-Run Build Command:"/usr/bin/make" "cmTC_3e2de/fast"
-/usr/bin/make -f CMakeFiles/cmTC_3e2de.dir/build.make CMakeFiles/cmTC_3e2de.dir/build
+Run Build Command:"/usr/bin/make" "cmTC_34056/fast"
+/usr/bin/make -f CMakeFiles/cmTC_34056.dir/build.make CMakeFiles/cmTC_34056.dir/build
 make[1]: Entering directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp'
-Building C object CMakeFiles/cmTC_3e2de.dir/CheckSymbolExists.c.o
-/usr/bin/cc    -o CMakeFiles/cmTC_3e2de.dir/CheckSymbolExists.c.o   -c /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp/CheckSymbolExists.c
-Linking C executable cmTC_3e2de
-/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_3e2de.dir/link.txt --verbose=1
-/usr/bin/cc      CMakeFiles/cmTC_3e2de.dir/CheckSymbolExists.c.o  -o cmTC_3e2de 
-/usr/bin/ld: CMakeFiles/cmTC_3e2de.dir/CheckSymbolExists.c.o: in function `main':
+Building C object CMakeFiles/cmTC_34056.dir/CheckSymbolExists.c.o
+/usr/bin/cc    -o CMakeFiles/cmTC_34056.dir/CheckSymbolExists.c.o   -c /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp/CheckSymbolExists.c
+Linking C executable cmTC_34056
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_34056.dir/link.txt --verbose=1
+/usr/bin/cc      CMakeFiles/cmTC_34056.dir/CheckSymbolExists.c.o  -o cmTC_34056 
+/usr/bin/ld: CMakeFiles/cmTC_34056.dir/CheckSymbolExists.c.o: in function `main':
 CheckSymbolExists.c:(.text+0x1b): undefined reference to `pthread_create'
 collect2: error: ld returned 1 exit status
-CMakeFiles/cmTC_3e2de.dir/build.make:86: recipe for target 'cmTC_3e2de' failed
-make[1]: *** [cmTC_3e2de] Error 1
+CMakeFiles/cmTC_34056.dir/build.make:86: recipe for target 'cmTC_34056' failed
+make[1]: *** [cmTC_34056] Error 1
 make[1]: Leaving directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp'
-Makefile:121: recipe for target 'cmTC_3e2de/fast' failed
-make: *** [cmTC_3e2de/fast] Error 2
+Makefile:121: recipe for target 'cmTC_34056/fast' failed
+make: *** [cmTC_34056/fast] Error 2
 
 File /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
 /* */
@@ -36,20 +36,20 @@ int main(int argc, char** argv)
 Determining if the function pthread_create exists in the pthreads failed with the following output:
 Change Dir: /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp
 
-Run Build Command:"/usr/bin/make" "cmTC_41b5b/fast"
-/usr/bin/make -f CMakeFiles/cmTC_41b5b.dir/build.make CMakeFiles/cmTC_41b5b.dir/build
+Run Build Command:"/usr/bin/make" "cmTC_f5618/fast"
+/usr/bin/make -f CMakeFiles/cmTC_f5618.dir/build.make CMakeFiles/cmTC_f5618.dir/build
 make[1]: Entering directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp'
-Building C object CMakeFiles/cmTC_41b5b.dir/CheckFunctionExists.c.o
-/usr/bin/cc   -DCHECK_FUNCTION_EXISTS=pthread_create   -o CMakeFiles/cmTC_41b5b.dir/CheckFunctionExists.c.o   -c /usr/share/cmake-3.13/Modules/CheckFunctionExists.c
-Linking C executable cmTC_41b5b
-/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_41b5b.dir/link.txt --verbose=1
-/usr/bin/cc  -DCHECK_FUNCTION_EXISTS=pthread_create    CMakeFiles/cmTC_41b5b.dir/CheckFunctionExists.c.o  -o cmTC_41b5b -lpthreads 
+Building C object CMakeFiles/cmTC_f5618.dir/CheckFunctionExists.c.o
+/usr/bin/cc   -DCHECK_FUNCTION_EXISTS=pthread_create   -o CMakeFiles/cmTC_f5618.dir/CheckFunctionExists.c.o   -c /usr/share/cmake-3.13/Modules/CheckFunctionExists.c
+Linking C executable cmTC_f5618
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f5618.dir/link.txt --verbose=1
+/usr/bin/cc  -DCHECK_FUNCTION_EXISTS=pthread_create    CMakeFiles/cmTC_f5618.dir/CheckFunctionExists.c.o  -o cmTC_f5618 -lpthreads 
 /usr/bin/ld: cannot find -lpthreads
 collect2: error: ld returned 1 exit status
-CMakeFiles/cmTC_41b5b.dir/build.make:86: recipe for target 'cmTC_41b5b' failed
-make[1]: *** [cmTC_41b5b] Error 1
+CMakeFiles/cmTC_f5618.dir/build.make:86: recipe for target 'cmTC_f5618' failed
+make[1]: *** [cmTC_f5618] Error 1
 make[1]: Leaving directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp'
-Makefile:121: recipe for target 'cmTC_41b5b/fast' failed
-make: *** [cmTC_41b5b/fast] Error 2
+Makefile:121: recipe for target 'cmTC_f5618/fast' failed
+make: *** [cmTC_f5618/fast] Error 2
 
 

+ 121 - 121
cmake-build-debug/CMakeFiles/CMakeOutput.log

@@ -28,28 +28,28 @@ The CXX compiler identification is GNU, found in "/tmp/tmp.55FUdkWZ0x/cmake-buil
 Determining if the C compiler works passed with the following output:
 Change Dir: /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp
 
-Run Build Command:"/usr/bin/make" "cmTC_7e07b/fast"
-/usr/bin/make -f CMakeFiles/cmTC_7e07b.dir/build.make CMakeFiles/cmTC_7e07b.dir/build
+Run Build Command:"/usr/bin/make" "cmTC_e954d/fast"
+/usr/bin/make -f CMakeFiles/cmTC_e954d.dir/build.make CMakeFiles/cmTC_e954d.dir/build
 make[1]: Entering directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp'
-Building C object CMakeFiles/cmTC_7e07b.dir/testCCompiler.c.o
-/usr/bin/cc    -o CMakeFiles/cmTC_7e07b.dir/testCCompiler.c.o   -c /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp/testCCompiler.c
-Linking C executable cmTC_7e07b
-/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_7e07b.dir/link.txt --verbose=1
-/usr/bin/cc      CMakeFiles/cmTC_7e07b.dir/testCCompiler.c.o  -o cmTC_7e07b 
+Building C object CMakeFiles/cmTC_e954d.dir/testCCompiler.c.o
+/usr/bin/cc    -o CMakeFiles/cmTC_e954d.dir/testCCompiler.c.o   -c /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp/testCCompiler.c
+Linking C executable cmTC_e954d
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e954d.dir/link.txt --verbose=1
+/usr/bin/cc      CMakeFiles/cmTC_e954d.dir/testCCompiler.c.o  -o cmTC_e954d 
 make[1]: Leaving directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp'
 
 
 Detecting C compiler ABI info compiled with the following output:
 Change Dir: /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp
 
-Run Build Command:"/usr/bin/make" "cmTC_037b9/fast"
-/usr/bin/make -f CMakeFiles/cmTC_037b9.dir/build.make CMakeFiles/cmTC_037b9.dir/build
+Run Build Command:"/usr/bin/make" "cmTC_f80fa/fast"
+/usr/bin/make -f CMakeFiles/cmTC_f80fa.dir/build.make CMakeFiles/cmTC_f80fa.dir/build
 make[1]: Entering directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp'
-Building C object CMakeFiles/cmTC_037b9.dir/CMakeCCompilerABI.c.o
-/usr/bin/cc    -o CMakeFiles/cmTC_037b9.dir/CMakeCCompilerABI.c.o   -c /usr/share/cmake-3.13/Modules/CMakeCCompilerABI.c
-Linking C executable cmTC_037b9
-/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_037b9.dir/link.txt --verbose=1
-/usr/bin/cc     -v CMakeFiles/cmTC_037b9.dir/CMakeCCompilerABI.c.o  -o cmTC_037b9 
+Building C object CMakeFiles/cmTC_f80fa.dir/CMakeCCompilerABI.c.o
+/usr/bin/cc    -o CMakeFiles/cmTC_f80fa.dir/CMakeCCompilerABI.c.o   -c /usr/share/cmake-3.13/Modules/CMakeCCompilerABI.c
+Linking C executable cmTC_f80fa
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f80fa.dir/link.txt --verbose=1
+/usr/bin/cc     -v CMakeFiles/cmTC_f80fa.dir/CMakeCCompilerABI.c.o  -o cmTC_f80fa 
 Using built-in specs.
 COLLECT_GCC=/usr/bin/cc
 COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper
@@ -59,9 +59,9 @@ Thread model: posix
 gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1) 
 COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/6/:/usr/lib/gcc/x86_64-linux-gnu/6/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/6/:/usr/lib/gcc/x86_64-linux-gnu/
 LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/6/:/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/6/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/6/../../../:/lib/:/usr/lib/
-COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_037b9' '-mtune=generic' '-march=x86-64'
- /usr/lib/gcc/x86_64-linux-gnu/6/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/6/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper -plugin-opt=-fresolution=/tmp/ccOtwGBi.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_037b9 /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/6/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/6 -L/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/6/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/6/../../.. CMakeFiles/cmTC_037b9.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/6/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/crtn.o
-COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_037b9' '-mtune=generic' '-march=x86-64'
+COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f80fa' '-mtune=generic' '-march=x86-64'
+ /usr/lib/gcc/x86_64-linux-gnu/6/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/6/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper -plugin-opt=-fresolution=/tmp/ccLyOc0k.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_f80fa /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/6/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/6 -L/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/6/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/6/../../.. CMakeFiles/cmTC_f80fa.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/6/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/crtn.o
+COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f80fa' '-mtune=generic' '-march=x86-64'
 make[1]: Leaving directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp'
 
 
@@ -69,14 +69,14 @@ Parsed C implicit link information from above output:
   link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
   ignore line: [Change Dir: /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp]
   ignore line: []
-  ignore line: [Run Build Command:"/usr/bin/make" "cmTC_037b9/fast"]
-  ignore line: [/usr/bin/make -f CMakeFiles/cmTC_037b9.dir/build.make CMakeFiles/cmTC_037b9.dir/build]
+  ignore line: [Run Build Command:"/usr/bin/make" "cmTC_f80fa/fast"]
+  ignore line: [/usr/bin/make -f CMakeFiles/cmTC_f80fa.dir/build.make CMakeFiles/cmTC_f80fa.dir/build]
   ignore line: [make[1]: Entering directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp']
-  ignore line: [Building C object CMakeFiles/cmTC_037b9.dir/CMakeCCompilerABI.c.o]
-  ignore line: [/usr/bin/cc    -o CMakeFiles/cmTC_037b9.dir/CMakeCCompilerABI.c.o   -c /usr/share/cmake-3.13/Modules/CMakeCCompilerABI.c]
-  ignore line: [Linking C executable cmTC_037b9]
-  ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_037b9.dir/link.txt --verbose=1]
-  ignore line: [/usr/bin/cc     -v CMakeFiles/cmTC_037b9.dir/CMakeCCompilerABI.c.o  -o cmTC_037b9 ]
+  ignore line: [Building C object CMakeFiles/cmTC_f80fa.dir/CMakeCCompilerABI.c.o]
+  ignore line: [/usr/bin/cc    -o CMakeFiles/cmTC_f80fa.dir/CMakeCCompilerABI.c.o   -c /usr/share/cmake-3.13/Modules/CMakeCCompilerABI.c]
+  ignore line: [Linking C executable cmTC_f80fa]
+  ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f80fa.dir/link.txt --verbose=1]
+  ignore line: [/usr/bin/cc     -v CMakeFiles/cmTC_f80fa.dir/CMakeCCompilerABI.c.o  -o cmTC_f80fa ]
   ignore line: [Using built-in specs.]
   ignore line: [COLLECT_GCC=/usr/bin/cc]
   ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper]
@@ -86,13 +86,13 @@ Parsed C implicit link information from above output:
   ignore line: [gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1) ]
   ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/6/:/usr/lib/gcc/x86_64-linux-gnu/6/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/6/:/usr/lib/gcc/x86_64-linux-gnu/]
   ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/6/:/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/6/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/6/../../../:/lib/:/usr/lib/]
-  ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_037b9' '-mtune=generic' '-march=x86-64']
-  link line: [ /usr/lib/gcc/x86_64-linux-gnu/6/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/6/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper -plugin-opt=-fresolution=/tmp/ccOtwGBi.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_037b9 /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/6/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/6 -L/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/6/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/6/../../.. CMakeFiles/cmTC_037b9.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/6/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/crtn.o]
+  ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f80fa' '-mtune=generic' '-march=x86-64']
+  link line: [ /usr/lib/gcc/x86_64-linux-gnu/6/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/6/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper -plugin-opt=-fresolution=/tmp/ccLyOc0k.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_f80fa /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/6/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/6 -L/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/6/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/6/../../.. CMakeFiles/cmTC_f80fa.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/6/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/crtn.o]
     arg [/usr/lib/gcc/x86_64-linux-gnu/6/collect2] ==> ignore
     arg [-plugin] ==> ignore
     arg [/usr/lib/gcc/x86_64-linux-gnu/6/liblto_plugin.so] ==> ignore
     arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper] ==> ignore
-    arg [-plugin-opt=-fresolution=/tmp/ccOtwGBi.res] ==> ignore
+    arg [-plugin-opt=-fresolution=/tmp/ccLyOc0k.res] ==> ignore
     arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
     arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
     arg [-plugin-opt=-pass-through=-lc] ==> ignore
@@ -108,7 +108,7 @@ Parsed C implicit link information from above output:
     arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
     arg [-pie] ==> ignore
     arg [-o] ==> ignore
-    arg [cmTC_037b9] ==> ignore
+    arg [cmTC_f80fa] ==> ignore
     arg [/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/Scrt1.o] ==> ignore
     arg [/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/crti.o] ==> ignore
     arg [/usr/lib/gcc/x86_64-linux-gnu/6/crtbeginS.o] ==> ignore
@@ -120,7 +120,7 @@ Parsed C implicit link information from above output:
     arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
     arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
     arg [-L/usr/lib/gcc/x86_64-linux-gnu/6/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/6/../../..]
-    arg [CMakeFiles/cmTC_037b9.dir/CMakeCCompilerABI.c.o] ==> ignore
+    arg [CMakeFiles/cmTC_f80fa.dir/CMakeCCompilerABI.c.o] ==> ignore
     arg [-lgcc] ==> lib [gcc]
     arg [--as-needed] ==> ignore
     arg [-lgcc_s] ==> lib [gcc_s]
@@ -150,14 +150,14 @@ Parsed C implicit link information from above output:
 Detecting C [-std=c11] compiler features compiled with the following output:
 Change Dir: /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp
 
-Run Build Command:"/usr/bin/make" "cmTC_037c3/fast"
-/usr/bin/make -f CMakeFiles/cmTC_037c3.dir/build.make CMakeFiles/cmTC_037c3.dir/build
+Run Build Command:"/usr/bin/make" "cmTC_3bd8d/fast"
+/usr/bin/make -f CMakeFiles/cmTC_3bd8d.dir/build.make CMakeFiles/cmTC_3bd8d.dir/build
 make[1]: Entering directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp'
-Building C object CMakeFiles/cmTC_037c3.dir/feature_tests.c.o
-/usr/bin/cc   -std=c11 -o CMakeFiles/cmTC_037c3.dir/feature_tests.c.o   -c /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/feature_tests.c
-Linking C executable cmTC_037c3
-/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_037c3.dir/link.txt --verbose=1
-/usr/bin/cc      CMakeFiles/cmTC_037c3.dir/feature_tests.c.o  -o cmTC_037c3 
+Building C object CMakeFiles/cmTC_3bd8d.dir/feature_tests.c.o
+/usr/bin/cc   -std=c11 -o CMakeFiles/cmTC_3bd8d.dir/feature_tests.c.o   -c /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/feature_tests.c
+Linking C executable cmTC_3bd8d
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_3bd8d.dir/link.txt --verbose=1
+/usr/bin/cc      CMakeFiles/cmTC_3bd8d.dir/feature_tests.c.o  -o cmTC_3bd8d 
 make[1]: Leaving directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp'
 
 
@@ -170,14 +170,14 @@ make[1]: Leaving directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMa
 Detecting C [-std=c99] compiler features compiled with the following output:
 Change Dir: /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp
 
-Run Build Command:"/usr/bin/make" "cmTC_f87a7/fast"
-/usr/bin/make -f CMakeFiles/cmTC_f87a7.dir/build.make CMakeFiles/cmTC_f87a7.dir/build
+Run Build Command:"/usr/bin/make" "cmTC_5a2fe/fast"
+/usr/bin/make -f CMakeFiles/cmTC_5a2fe.dir/build.make CMakeFiles/cmTC_5a2fe.dir/build
 make[1]: Entering directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp'
-Building C object CMakeFiles/cmTC_f87a7.dir/feature_tests.c.o
-/usr/bin/cc   -std=c99 -o CMakeFiles/cmTC_f87a7.dir/feature_tests.c.o   -c /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/feature_tests.c
-Linking C executable cmTC_f87a7
-/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f87a7.dir/link.txt --verbose=1
-/usr/bin/cc      CMakeFiles/cmTC_f87a7.dir/feature_tests.c.o  -o cmTC_f87a7 
+Building C object CMakeFiles/cmTC_5a2fe.dir/feature_tests.c.o
+/usr/bin/cc   -std=c99 -o CMakeFiles/cmTC_5a2fe.dir/feature_tests.c.o   -c /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/feature_tests.c
+Linking C executable cmTC_5a2fe
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_5a2fe.dir/link.txt --verbose=1
+/usr/bin/cc      CMakeFiles/cmTC_5a2fe.dir/feature_tests.c.o  -o cmTC_5a2fe 
 make[1]: Leaving directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp'
 
 
@@ -190,14 +190,14 @@ make[1]: Leaving directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMa
 Detecting C [-std=c90] compiler features compiled with the following output:
 Change Dir: /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp
 
-Run Build Command:"/usr/bin/make" "cmTC_dfcc7/fast"
-/usr/bin/make -f CMakeFiles/cmTC_dfcc7.dir/build.make CMakeFiles/cmTC_dfcc7.dir/build
+Run Build Command:"/usr/bin/make" "cmTC_f88f8/fast"
+/usr/bin/make -f CMakeFiles/cmTC_f88f8.dir/build.make CMakeFiles/cmTC_f88f8.dir/build
 make[1]: Entering directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp'
-Building C object CMakeFiles/cmTC_dfcc7.dir/feature_tests.c.o
-/usr/bin/cc   -std=c90 -o CMakeFiles/cmTC_dfcc7.dir/feature_tests.c.o   -c /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/feature_tests.c
-Linking C executable cmTC_dfcc7
-/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_dfcc7.dir/link.txt --verbose=1
-/usr/bin/cc      CMakeFiles/cmTC_dfcc7.dir/feature_tests.c.o  -o cmTC_dfcc7 
+Building C object CMakeFiles/cmTC_f88f8.dir/feature_tests.c.o
+/usr/bin/cc   -std=c90 -o CMakeFiles/cmTC_f88f8.dir/feature_tests.c.o   -c /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/feature_tests.c
+Linking C executable cmTC_f88f8
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f88f8.dir/link.txt --verbose=1
+/usr/bin/cc      CMakeFiles/cmTC_f88f8.dir/feature_tests.c.o  -o cmTC_f88f8 
 make[1]: Leaving directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp'
 
 
@@ -208,28 +208,28 @@ make[1]: Leaving directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMa
 Determining if the CXX compiler works passed with the following output:
 Change Dir: /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp
 
-Run Build Command:"/usr/bin/make" "cmTC_a6a84/fast"
-/usr/bin/make -f CMakeFiles/cmTC_a6a84.dir/build.make CMakeFiles/cmTC_a6a84.dir/build
+Run Build Command:"/usr/bin/make" "cmTC_e4220/fast"
+/usr/bin/make -f CMakeFiles/cmTC_e4220.dir/build.make CMakeFiles/cmTC_e4220.dir/build
 make[1]: Entering directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp'
-Building CXX object CMakeFiles/cmTC_a6a84.dir/testCXXCompiler.cxx.o
-/usr/bin/c++     -o CMakeFiles/cmTC_a6a84.dir/testCXXCompiler.cxx.o -c /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp/testCXXCompiler.cxx
-Linking CXX executable cmTC_a6a84
-/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a6a84.dir/link.txt --verbose=1
-/usr/bin/c++       CMakeFiles/cmTC_a6a84.dir/testCXXCompiler.cxx.o  -o cmTC_a6a84 
+Building CXX object CMakeFiles/cmTC_e4220.dir/testCXXCompiler.cxx.o
+/usr/bin/c++     -o CMakeFiles/cmTC_e4220.dir/testCXXCompiler.cxx.o -c /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp/testCXXCompiler.cxx
+Linking CXX executable cmTC_e4220
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e4220.dir/link.txt --verbose=1
+/usr/bin/c++       CMakeFiles/cmTC_e4220.dir/testCXXCompiler.cxx.o  -o cmTC_e4220 
 make[1]: Leaving directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp'
 
 
 Detecting CXX compiler ABI info compiled with the following output:
 Change Dir: /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp
 
-Run Build Command:"/usr/bin/make" "cmTC_35dbe/fast"
-/usr/bin/make -f CMakeFiles/cmTC_35dbe.dir/build.make CMakeFiles/cmTC_35dbe.dir/build
+Run Build Command:"/usr/bin/make" "cmTC_c697e/fast"
+/usr/bin/make -f CMakeFiles/cmTC_c697e.dir/build.make CMakeFiles/cmTC_c697e.dir/build
 make[1]: Entering directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp'
-Building CXX object CMakeFiles/cmTC_35dbe.dir/CMakeCXXCompilerABI.cpp.o
-/usr/bin/c++     -o CMakeFiles/cmTC_35dbe.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.13/Modules/CMakeCXXCompilerABI.cpp
-Linking CXX executable cmTC_35dbe
-/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_35dbe.dir/link.txt --verbose=1
-/usr/bin/c++      -v CMakeFiles/cmTC_35dbe.dir/CMakeCXXCompilerABI.cpp.o  -o cmTC_35dbe 
+Building CXX object CMakeFiles/cmTC_c697e.dir/CMakeCXXCompilerABI.cpp.o
+/usr/bin/c++     -o CMakeFiles/cmTC_c697e.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.13/Modules/CMakeCXXCompilerABI.cpp
+Linking CXX executable cmTC_c697e
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c697e.dir/link.txt --verbose=1
+/usr/bin/c++      -v CMakeFiles/cmTC_c697e.dir/CMakeCXXCompilerABI.cpp.o  -o cmTC_c697e 
 Using built-in specs.
 COLLECT_GCC=/usr/bin/c++
 COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper
@@ -239,9 +239,9 @@ Thread model: posix
 gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1) 
 COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/6/:/usr/lib/gcc/x86_64-linux-gnu/6/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/6/:/usr/lib/gcc/x86_64-linux-gnu/
 LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/6/:/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/6/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/6/../../../:/lib/:/usr/lib/
-COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_35dbe' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
- /usr/lib/gcc/x86_64-linux-gnu/6/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/6/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper -plugin-opt=-fresolution=/tmp/ccuuE7ei.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_35dbe /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/6/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/6 -L/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/6/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/6/../../.. CMakeFiles/cmTC_35dbe.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/6/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/crtn.o
-COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_35dbe' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_c697e' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
+ /usr/lib/gcc/x86_64-linux-gnu/6/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/6/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper -plugin-opt=-fresolution=/tmp/ccX6r2mf.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_c697e /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/6/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/6 -L/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/6/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/6/../../.. CMakeFiles/cmTC_c697e.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/6/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/crtn.o
+COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_c697e' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
 make[1]: Leaving directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp'
 
 
@@ -249,14 +249,14 @@ Parsed CXX implicit link information from above output:
   link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
   ignore line: [Change Dir: /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp]
   ignore line: []
-  ignore line: [Run Build Command:"/usr/bin/make" "cmTC_35dbe/fast"]
-  ignore line: [/usr/bin/make -f CMakeFiles/cmTC_35dbe.dir/build.make CMakeFiles/cmTC_35dbe.dir/build]
+  ignore line: [Run Build Command:"/usr/bin/make" "cmTC_c697e/fast"]
+  ignore line: [/usr/bin/make -f CMakeFiles/cmTC_c697e.dir/build.make CMakeFiles/cmTC_c697e.dir/build]
   ignore line: [make[1]: Entering directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp']
-  ignore line: [Building CXX object CMakeFiles/cmTC_35dbe.dir/CMakeCXXCompilerABI.cpp.o]
-  ignore line: [/usr/bin/c++     -o CMakeFiles/cmTC_35dbe.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.13/Modules/CMakeCXXCompilerABI.cpp]
-  ignore line: [Linking CXX executable cmTC_35dbe]
-  ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_35dbe.dir/link.txt --verbose=1]
-  ignore line: [/usr/bin/c++      -v CMakeFiles/cmTC_35dbe.dir/CMakeCXXCompilerABI.cpp.o  -o cmTC_35dbe ]
+  ignore line: [Building CXX object CMakeFiles/cmTC_c697e.dir/CMakeCXXCompilerABI.cpp.o]
+  ignore line: [/usr/bin/c++     -o CMakeFiles/cmTC_c697e.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.13/Modules/CMakeCXXCompilerABI.cpp]
+  ignore line: [Linking CXX executable cmTC_c697e]
+  ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c697e.dir/link.txt --verbose=1]
+  ignore line: [/usr/bin/c++      -v CMakeFiles/cmTC_c697e.dir/CMakeCXXCompilerABI.cpp.o  -o cmTC_c697e ]
   ignore line: [Using built-in specs.]
   ignore line: [COLLECT_GCC=/usr/bin/c++]
   ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper]
@@ -266,13 +266,13 @@ Parsed CXX implicit link information from above output:
   ignore line: [gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1) ]
   ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/6/:/usr/lib/gcc/x86_64-linux-gnu/6/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/6/:/usr/lib/gcc/x86_64-linux-gnu/]
   ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/6/:/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/6/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/6/../../../:/lib/:/usr/lib/]
-  ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_35dbe' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
-  link line: [ /usr/lib/gcc/x86_64-linux-gnu/6/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/6/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper -plugin-opt=-fresolution=/tmp/ccuuE7ei.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_35dbe /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/6/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/6 -L/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/6/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/6/../../.. CMakeFiles/cmTC_35dbe.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/6/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/crtn.o]
+  ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_c697e' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
+  link line: [ /usr/lib/gcc/x86_64-linux-gnu/6/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/6/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper -plugin-opt=-fresolution=/tmp/ccX6r2mf.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --sysroot=/ --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_c697e /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/6/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/6 -L/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/6/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/6/../../.. CMakeFiles/cmTC_c697e.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/6/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/crtn.o]
     arg [/usr/lib/gcc/x86_64-linux-gnu/6/collect2] ==> ignore
     arg [-plugin] ==> ignore
     arg [/usr/lib/gcc/x86_64-linux-gnu/6/liblto_plugin.so] ==> ignore
     arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper] ==> ignore
-    arg [-plugin-opt=-fresolution=/tmp/ccuuE7ei.res] ==> ignore
+    arg [-plugin-opt=-fresolution=/tmp/ccX6r2mf.res] ==> ignore
     arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
     arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
     arg [-plugin-opt=-pass-through=-lc] ==> ignore
@@ -288,7 +288,7 @@ Parsed CXX implicit link information from above output:
     arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
     arg [-pie] ==> ignore
     arg [-o] ==> ignore
-    arg [cmTC_35dbe] ==> ignore
+    arg [cmTC_c697e] ==> ignore
     arg [/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/Scrt1.o] ==> ignore
     arg [/usr/lib/gcc/x86_64-linux-gnu/6/../../../x86_64-linux-gnu/crti.o] ==> ignore
     arg [/usr/lib/gcc/x86_64-linux-gnu/6/crtbeginS.o] ==> ignore
@@ -300,7 +300,7 @@ Parsed CXX implicit link information from above output:
     arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
     arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
     arg [-L/usr/lib/gcc/x86_64-linux-gnu/6/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/6/../../..]
-    arg [CMakeFiles/cmTC_35dbe.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
+    arg [CMakeFiles/cmTC_c697e.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
     arg [-lstdc++] ==> lib [stdc++]
     arg [-lm] ==> lib [m]
     arg [-lgcc_s] ==> lib [gcc_s]
@@ -328,14 +328,14 @@ Parsed CXX implicit link information from above output:
 Detecting CXX [-std=c++1z] compiler features compiled with the following output:
 Change Dir: /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp
 
-Run Build Command:"/usr/bin/make" "cmTC_8632f/fast"
-/usr/bin/make -f CMakeFiles/cmTC_8632f.dir/build.make CMakeFiles/cmTC_8632f.dir/build
+Run Build Command:"/usr/bin/make" "cmTC_a46a3/fast"
+/usr/bin/make -f CMakeFiles/cmTC_a46a3.dir/build.make CMakeFiles/cmTC_a46a3.dir/build
 make[1]: Entering directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp'
-Building CXX object CMakeFiles/cmTC_8632f.dir/feature_tests.cxx.o
-/usr/bin/c++    -std=c++1z -o CMakeFiles/cmTC_8632f.dir/feature_tests.cxx.o -c /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/feature_tests.cxx
-Linking CXX executable cmTC_8632f
-/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8632f.dir/link.txt --verbose=1
-/usr/bin/c++       CMakeFiles/cmTC_8632f.dir/feature_tests.cxx.o  -o cmTC_8632f 
+Building CXX object CMakeFiles/cmTC_a46a3.dir/feature_tests.cxx.o
+/usr/bin/c++    -std=c++1z -o CMakeFiles/cmTC_a46a3.dir/feature_tests.cxx.o -c /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/feature_tests.cxx
+Linking CXX executable cmTC_a46a3
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a46a3.dir/link.txt --verbose=1
+/usr/bin/c++       CMakeFiles/cmTC_a46a3.dir/feature_tests.cxx.o  -o cmTC_a46a3 
 make[1]: Leaving directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp'
 
 
@@ -401,14 +401,14 @@ make[1]: Leaving directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMa
 Detecting CXX [-std=c++14] compiler features compiled with the following output:
 Change Dir: /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp
 
-Run Build Command:"/usr/bin/make" "cmTC_a972d/fast"
-/usr/bin/make -f CMakeFiles/cmTC_a972d.dir/build.make CMakeFiles/cmTC_a972d.dir/build
+Run Build Command:"/usr/bin/make" "cmTC_9f3c4/fast"
+/usr/bin/make -f CMakeFiles/cmTC_9f3c4.dir/build.make CMakeFiles/cmTC_9f3c4.dir/build
 make[1]: Entering directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp'
-Building CXX object CMakeFiles/cmTC_a972d.dir/feature_tests.cxx.o
-/usr/bin/c++    -std=c++14 -o CMakeFiles/cmTC_a972d.dir/feature_tests.cxx.o -c /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/feature_tests.cxx
-Linking CXX executable cmTC_a972d
-/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a972d.dir/link.txt --verbose=1
-/usr/bin/c++       CMakeFiles/cmTC_a972d.dir/feature_tests.cxx.o  -o cmTC_a972d 
+Building CXX object CMakeFiles/cmTC_9f3c4.dir/feature_tests.cxx.o
+/usr/bin/c++    -std=c++14 -o CMakeFiles/cmTC_9f3c4.dir/feature_tests.cxx.o -c /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/feature_tests.cxx
+Linking CXX executable cmTC_9f3c4
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_9f3c4.dir/link.txt --verbose=1
+/usr/bin/c++       CMakeFiles/cmTC_9f3c4.dir/feature_tests.cxx.o  -o cmTC_9f3c4 
 make[1]: Leaving directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp'
 
 
@@ -474,14 +474,14 @@ make[1]: Leaving directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMa
 Detecting CXX [-std=c++11] compiler features compiled with the following output:
 Change Dir: /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp
 
-Run Build Command:"/usr/bin/make" "cmTC_1a368/fast"
-/usr/bin/make -f CMakeFiles/cmTC_1a368.dir/build.make CMakeFiles/cmTC_1a368.dir/build
+Run Build Command:"/usr/bin/make" "cmTC_394fe/fast"
+/usr/bin/make -f CMakeFiles/cmTC_394fe.dir/build.make CMakeFiles/cmTC_394fe.dir/build
 make[1]: Entering directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp'
-Building CXX object CMakeFiles/cmTC_1a368.dir/feature_tests.cxx.o
-/usr/bin/c++    -std=c++11 -o CMakeFiles/cmTC_1a368.dir/feature_tests.cxx.o -c /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/feature_tests.cxx
-Linking CXX executable cmTC_1a368
-/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_1a368.dir/link.txt --verbose=1
-/usr/bin/c++       CMakeFiles/cmTC_1a368.dir/feature_tests.cxx.o  -o cmTC_1a368 
+Building CXX object CMakeFiles/cmTC_394fe.dir/feature_tests.cxx.o
+/usr/bin/c++    -std=c++11 -o CMakeFiles/cmTC_394fe.dir/feature_tests.cxx.o -c /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/feature_tests.cxx
+Linking CXX executable cmTC_394fe
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_394fe.dir/link.txt --verbose=1
+/usr/bin/c++       CMakeFiles/cmTC_394fe.dir/feature_tests.cxx.o  -o cmTC_394fe 
 make[1]: Leaving directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp'
 
 
@@ -547,14 +547,14 @@ make[1]: Leaving directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMa
 Detecting CXX [-std=c++98] compiler features compiled with the following output:
 Change Dir: /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp
 
-Run Build Command:"/usr/bin/make" "cmTC_94022/fast"
-/usr/bin/make -f CMakeFiles/cmTC_94022.dir/build.make CMakeFiles/cmTC_94022.dir/build
+Run Build Command:"/usr/bin/make" "cmTC_eaf14/fast"
+/usr/bin/make -f CMakeFiles/cmTC_eaf14.dir/build.make CMakeFiles/cmTC_eaf14.dir/build
 make[1]: Entering directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp'
-Building CXX object CMakeFiles/cmTC_94022.dir/feature_tests.cxx.o
-/usr/bin/c++    -std=c++98 -o CMakeFiles/cmTC_94022.dir/feature_tests.cxx.o -c /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/feature_tests.cxx
-Linking CXX executable cmTC_94022
-/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_94022.dir/link.txt --verbose=1
-/usr/bin/c++       CMakeFiles/cmTC_94022.dir/feature_tests.cxx.o  -o cmTC_94022 
+Building CXX object CMakeFiles/cmTC_eaf14.dir/feature_tests.cxx.o
+/usr/bin/c++    -std=c++98 -o CMakeFiles/cmTC_eaf14.dir/feature_tests.cxx.o -c /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/feature_tests.cxx
+Linking CXX executable cmTC_eaf14
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_eaf14.dir/link.txt --verbose=1
+/usr/bin/c++       CMakeFiles/cmTC_eaf14.dir/feature_tests.cxx.o  -o cmTC_eaf14 
 make[1]: Leaving directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp'
 
 
@@ -618,28 +618,28 @@ make[1]: Leaving directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMa
 Determining if the include file pthread.h exists passed with the following output:
 Change Dir: /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp
 
-Run Build Command:"/usr/bin/make" "cmTC_87e9b/fast"
-/usr/bin/make -f CMakeFiles/cmTC_87e9b.dir/build.make CMakeFiles/cmTC_87e9b.dir/build
+Run Build Command:"/usr/bin/make" "cmTC_2cf83/fast"
+/usr/bin/make -f CMakeFiles/cmTC_2cf83.dir/build.make CMakeFiles/cmTC_2cf83.dir/build
 make[1]: Entering directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp'
-Building C object CMakeFiles/cmTC_87e9b.dir/CheckIncludeFile.c.o
-/usr/bin/cc    -o CMakeFiles/cmTC_87e9b.dir/CheckIncludeFile.c.o   -c /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp/CheckIncludeFile.c
-Linking C executable cmTC_87e9b
-/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_87e9b.dir/link.txt --verbose=1
-/usr/bin/cc      CMakeFiles/cmTC_87e9b.dir/CheckIncludeFile.c.o  -o cmTC_87e9b 
+Building C object CMakeFiles/cmTC_2cf83.dir/CheckIncludeFile.c.o
+/usr/bin/cc    -o CMakeFiles/cmTC_2cf83.dir/CheckIncludeFile.c.o   -c /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp/CheckIncludeFile.c
+Linking C executable cmTC_2cf83
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_2cf83.dir/link.txt --verbose=1
+/usr/bin/cc      CMakeFiles/cmTC_2cf83.dir/CheckIncludeFile.c.o  -o cmTC_2cf83 
 make[1]: Leaving directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp'
 
 
 Determining if the function pthread_create exists in the pthread passed with the following output:
 Change Dir: /tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp
 
-Run Build Command:"/usr/bin/make" "cmTC_2b4df/fast"
-/usr/bin/make -f CMakeFiles/cmTC_2b4df.dir/build.make CMakeFiles/cmTC_2b4df.dir/build
+Run Build Command:"/usr/bin/make" "cmTC_05523/fast"
+/usr/bin/make -f CMakeFiles/cmTC_05523.dir/build.make CMakeFiles/cmTC_05523.dir/build
 make[1]: Entering directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp'
-Building C object CMakeFiles/cmTC_2b4df.dir/CheckFunctionExists.c.o
-/usr/bin/cc   -DCHECK_FUNCTION_EXISTS=pthread_create   -o CMakeFiles/cmTC_2b4df.dir/CheckFunctionExists.c.o   -c /usr/share/cmake-3.13/Modules/CheckFunctionExists.c
-Linking C executable cmTC_2b4df
-/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_2b4df.dir/link.txt --verbose=1
-/usr/bin/cc  -DCHECK_FUNCTION_EXISTS=pthread_create    CMakeFiles/cmTC_2b4df.dir/CheckFunctionExists.c.o  -o cmTC_2b4df -lpthread 
+Building C object CMakeFiles/cmTC_05523.dir/CheckFunctionExists.c.o
+/usr/bin/cc   -DCHECK_FUNCTION_EXISTS=pthread_create   -o CMakeFiles/cmTC_05523.dir/CheckFunctionExists.c.o   -c /usr/share/cmake-3.13/Modules/CheckFunctionExists.c
+Linking C executable cmTC_05523
+/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_05523.dir/link.txt --verbose=1
+/usr/bin/cc  -DCHECK_FUNCTION_EXISTS=pthread_create    CMakeFiles/cmTC_05523.dir/CheckFunctionExists.c.o  -o cmTC_05523 -lpthread 
 make[1]: Leaving directory '/tmp/tmp.55FUdkWZ0x/cmake-build-debug/CMakeFiles/CMakeTmp'
 
 

+ 9 - 57
cmake-build-debug/CMakeFiles/FDIACS.dir/CXX.includecache

@@ -1,4 +1,4 @@
-#IncludeRegexLine: ^[ 	]*#[ 	]*(include|import)[ 	]*[<"]([^">]+)([">])
+#IncludeRegexLine: ^[ 	]*[#%][ 	]*(include|import)[ 	]*[<"]([^">]+)([">])
 
 #IncludeRegexScan: ^.*$
 
@@ -6,67 +6,19 @@
 
 #IncludeRegexTransform: 
 
-/tmp/tmp.5FwZ7fhobb/cwmp.nsmap
-stdsoap2.h
-/tmp/tmp.5FwZ7fhobb/stdsoap2.h
-
-/tmp/tmp.5FwZ7fhobb/httppost.cpp
-httppost.h
-/tmp/tmp.5FwZ7fhobb/httppost.h
-
-/tmp/tmp.5FwZ7fhobb/httppost.h
-stdsoap2.h
-/tmp/tmp.5FwZ7fhobb/stdsoap2.h
-
-/tmp/tmp.5FwZ7fhobb/main.cpp
-iostream
--
-cwmp.nsmap
-/tmp/tmp.5FwZ7fhobb/cwmp.nsmap
-httppost.h
-/tmp/tmp.5FwZ7fhobb/httppost.h
-soapcwmpService.h
-/tmp/tmp.5FwZ7fhobb/soapcwmpService.h
-plugin/threads.h
-/tmp/tmp.5FwZ7fhobb/plugin/threads.h
-vector
--
-algorithm
--
-signal.h
--
-thread
--
-fstream
--
-
-/tmp/tmp.5FwZ7fhobb/soapC.cpp
-soapH.h
-/tmp/tmp.5FwZ7fhobb/soapH.h
-
-/tmp/tmp.5FwZ7fhobb/soapH.h
+/tmp/tmp.55FUdkWZ0x/soapH.h
 soapStub.h
-/tmp/tmp.5FwZ7fhobb/soapStub.h
+/tmp/tmp.55FUdkWZ0x/soapStub.h
 
-/tmp/tmp.5FwZ7fhobb/soapStub.h
+/tmp/tmp.55FUdkWZ0x/soapStub.h
 stdsoap2.h
-/tmp/tmp.5FwZ7fhobb/stdsoap2.h
+/tmp/tmp.55FUdkWZ0x/stdsoap2.h
 
-/tmp/tmp.5FwZ7fhobb/soapcwmpService.cpp
+/tmp/tmp.55FUdkWZ0x/soapcwmpService.cpp
 soapcwmpService.h
-/tmp/tmp.5FwZ7fhobb/soapcwmpService.h
+/tmp/tmp.55FUdkWZ0x/soapcwmpService.h
 
-/tmp/tmp.5FwZ7fhobb/soapcwmpService.h
+/tmp/tmp.55FUdkWZ0x/soapcwmpService.h
 soapH.h
-/tmp/tmp.5FwZ7fhobb/soapH.h
-
-/tmp/tmp.5FwZ7fhobb/stdsoap2.cpp
-stdsoap2.h
-/tmp/tmp.5FwZ7fhobb/stdsoap2.h
-ipcom_key_db.h
--
-pthread.h
--
-pth.h
--
+/tmp/tmp.55FUdkWZ0x/soapH.h
 

+ 19 - 17
cmake-build-debug/CMakeFiles/FDIACS.dir/depend.internal

@@ -1,24 +1,26 @@
 # CMAKE generated file: DO NOT EDIT!
-# Generated by "Unix Makefiles" Generator, CMake Version 3.7
+# Generated by "Unix Makefiles" Generator, CMake Version 3.13
 
 CMakeFiles/FDIACS.dir/httppost.cpp.o
- /tmp/tmp.5FwZ7fhobb/httppost.cpp
- /tmp/tmp.5FwZ7fhobb/httppost.h
+ /tmp/tmp.55FUdkWZ0x/httppost.cpp
+ /tmp/tmp.55FUdkWZ0x/httppost.h
 CMakeFiles/FDIACS.dir/main.cpp.o
- /tmp/tmp.5FwZ7fhobb/cwmp.nsmap
- /tmp/tmp.5FwZ7fhobb/httppost.h
- /tmp/tmp.5FwZ7fhobb/main.cpp
- /tmp/tmp.5FwZ7fhobb/soapH.h
- /tmp/tmp.5FwZ7fhobb/soapStub.h
- /tmp/tmp.5FwZ7fhobb/soapcwmpService.h
+ /tmp/tmp.55FUdkWZ0x/cwmp.nsmap
+ /tmp/tmp.55FUdkWZ0x/httppost.h
+ /tmp/tmp.55FUdkWZ0x/json.hpp
+ /tmp/tmp.55FUdkWZ0x/main.cpp
+ /tmp/tmp.55FUdkWZ0x/soapH.h
+ /tmp/tmp.55FUdkWZ0x/soapStub.h
+ /tmp/tmp.55FUdkWZ0x/soapcwmpService.h
+ /usr/local/share/gsoap/plugin/threads.h
 CMakeFiles/FDIACS.dir/soapC.cpp.o
- /tmp/tmp.5FwZ7fhobb/soapC.cpp
- /tmp/tmp.5FwZ7fhobb/soapH.h
- /tmp/tmp.5FwZ7fhobb/soapStub.h
+ /tmp/tmp.55FUdkWZ0x/soapC.cpp
+ /tmp/tmp.55FUdkWZ0x/soapH.h
+ /tmp/tmp.55FUdkWZ0x/soapStub.h
 CMakeFiles/FDIACS.dir/soapcwmpService.cpp.o
- /tmp/tmp.5FwZ7fhobb/soapH.h
- /tmp/tmp.5FwZ7fhobb/soapStub.h
- /tmp/tmp.5FwZ7fhobb/soapcwmpService.cpp
- /tmp/tmp.5FwZ7fhobb/soapcwmpService.h
+ /tmp/tmp.55FUdkWZ0x/soapH.h
+ /tmp/tmp.55FUdkWZ0x/soapStub.h
+ /tmp/tmp.55FUdkWZ0x/soapcwmpService.cpp
+ /tmp/tmp.55FUdkWZ0x/soapcwmpService.h
 CMakeFiles/FDIACS.dir/stdsoap2.cpp.o
- /tmp/tmp.5FwZ7fhobb/stdsoap2.cpp
+ /tmp/tmp.55FUdkWZ0x/stdsoap2.cpp

BIN
cmake-build-debug/CMakeFiles/FDIACS.dir/httppost.cpp.o


BIN
cmake-build-debug/CMakeFiles/FDIACS.dir/main.cpp.o


BIN
cmake-build-debug/CMakeFiles/FDIACS.dir/soapC.cpp.o


BIN
cmake-build-debug/CMakeFiles/FDIACS.dir/soapcwmpService.cpp.o


BIN
cmake-build-debug/CMakeFiles/FDIACS.dir/stdsoap2.cpp.o


+ 75 - 0
cmake-build-debug/CMakeFiles/Makefile.cmake

@@ -11,26 +11,96 @@ set(CMAKE_MAKEFILE_DEPENDS
   "CMakeFiles/3.13.2/CMakeCCompiler.cmake"
   "CMakeFiles/3.13.2/CMakeCXXCompiler.cmake"
   "CMakeFiles/3.13.2/CMakeSystem.cmake"
+  "CMakeFiles/feature_tests.c"
+  "CMakeFiles/feature_tests.cxx"
+  "/usr/share/cmake-3.13/Modules/CMakeCCompiler.cmake.in"
+  "/usr/share/cmake-3.13/Modules/CMakeCCompilerABI.c"
   "/usr/share/cmake-3.13/Modules/CMakeCInformation.cmake"
+  "/usr/share/cmake-3.13/Modules/CMakeCXXCompiler.cmake.in"
+  "/usr/share/cmake-3.13/Modules/CMakeCXXCompilerABI.cpp"
   "/usr/share/cmake-3.13/Modules/CMakeCXXInformation.cmake"
   "/usr/share/cmake-3.13/Modules/CMakeCommonLanguageInclude.cmake"
+  "/usr/share/cmake-3.13/Modules/CMakeCompilerIdDetection.cmake"
+  "/usr/share/cmake-3.13/Modules/CMakeConfigurableFile.in"
+  "/usr/share/cmake-3.13/Modules/CMakeDetermineCCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/CMakeDetermineCXXCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/CMakeDetermineCompileFeatures.cmake"
+  "/usr/share/cmake-3.13/Modules/CMakeDetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/CMakeDetermineCompilerABI.cmake"
+  "/usr/share/cmake-3.13/Modules/CMakeDetermineCompilerId.cmake"
+  "/usr/share/cmake-3.13/Modules/CMakeDetermineSystem.cmake"
   "/usr/share/cmake-3.13/Modules/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake"
+  "/usr/share/cmake-3.13/Modules/CMakeFindBinUtils.cmake"
   "/usr/share/cmake-3.13/Modules/CMakeFindCodeBlocks.cmake"
   "/usr/share/cmake-3.13/Modules/CMakeGenericSystem.cmake"
   "/usr/share/cmake-3.13/Modules/CMakeInitializeConfigs.cmake"
   "/usr/share/cmake-3.13/Modules/CMakeLanguageInformation.cmake"
+  "/usr/share/cmake-3.13/Modules/CMakeParseImplicitLinkInfo.cmake"
+  "/usr/share/cmake-3.13/Modules/CMakeSystem.cmake.in"
   "/usr/share/cmake-3.13/Modules/CMakeSystemSpecificInformation.cmake"
   "/usr/share/cmake-3.13/Modules/CMakeSystemSpecificInitialize.cmake"
+  "/usr/share/cmake-3.13/Modules/CMakeTestCCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/CMakeTestCXXCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/CMakeTestCompilerCommon.cmake"
+  "/usr/share/cmake-3.13/Modules/CMakeUnixFindMake.cmake"
+  "/usr/share/cmake-3.13/Modules/CheckFunctionExists.c"
+  "/usr/share/cmake-3.13/Modules/CheckIncludeFile.c.in"
   "/usr/share/cmake-3.13/Modules/CheckIncludeFile.cmake"
   "/usr/share/cmake-3.13/Modules/CheckLibraryExists.cmake"
   "/usr/share/cmake-3.13/Modules/CheckSymbolExists.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/ADSP-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/ARMCC-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/AppleClang-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/Borland-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/Bruce-C-DetermineCompiler.cmake"
   "/usr/share/cmake-3.13/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/Clang-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/Clang-DetermineCompilerInternal.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/Compaq-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/Cray-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/Embarcadero-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/Fujitsu-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/GHS-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/GNU-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/GNU-C-FeatureTests.cmake"
   "/usr/share/cmake-3.13/Modules/Compiler/GNU-C.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/GNU-CXX-FeatureTests.cmake"
   "/usr/share/cmake-3.13/Modules/Compiler/GNU-CXX.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/GNU-FindBinUtils.cmake"
   "/usr/share/cmake-3.13/Modules/Compiler/GNU.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/HP-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/HP-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/IAR-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/Intel-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/MIPSpro-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/MSVC-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/NVIDIA-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/PGI-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/PathScale-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/SCO-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/SDCC-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/SunPro-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/TI-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/Watcom-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/XL-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/XL-CXX-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/zOS-C-DetermineCompiler.cmake"
+  "/usr/share/cmake-3.13/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake"
   "/usr/share/cmake-3.13/Modules/FindPackageHandleStandardArgs.cmake"
   "/usr/share/cmake-3.13/Modules/FindPackageMessage.cmake"
   "/usr/share/cmake-3.13/Modules/FindThreads.cmake"
+  "/usr/share/cmake-3.13/Modules/Internal/FeatureTesting.cmake"
+  "/usr/share/cmake-3.13/Modules/Platform/Linux-Determine-CXX.cmake"
   "/usr/share/cmake-3.13/Modules/Platform/Linux-GNU-C.cmake"
   "/usr/share/cmake-3.13/Modules/Platform/Linux-GNU-CXX.cmake"
   "/usr/share/cmake-3.13/Modules/Platform/Linux-GNU.cmake"
@@ -47,6 +117,11 @@ set(CMAKE_MAKEFILE_OUTPUTS
 
 # Byproducts of CMake generate step:
 set(CMAKE_MAKEFILE_PRODUCTS
+  "CMakeFiles/3.13.2/CMakeSystem.cmake"
+  "CMakeFiles/3.13.2/CMakeCCompiler.cmake"
+  "CMakeFiles/3.13.2/CMakeCXXCompiler.cmake"
+  "CMakeFiles/3.13.2/CMakeCCompiler.cmake"
+  "CMakeFiles/3.13.2/CMakeCXXCompiler.cmake"
   "CMakeFiles/CMakeDirectoryInformation.cmake"
   )
 

+ 23 - 0
cmake-build-debug/CMakeFiles/clion-log.txt

@@ -1,4 +1,27 @@
 /usr/bin/cmake -DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - Unix Makefiles" /tmp/tmp.55FUdkWZ0x
+-- The C compiler identification is GNU 6.3.0
+-- The CXX compiler identification is GNU 6.3.0
+-- Check for working C compiler: /usr/bin/cc
+-- Check for working C compiler: /usr/bin/cc -- works
+-- Detecting C compiler ABI info
+-- Detecting C compiler ABI info - done
+-- Detecting C compile features
+-- Detecting C compile features - done
+-- Check for working CXX compiler: /usr/bin/c++
+-- Check for working CXX compiler: /usr/bin/c++ -- works
+-- Detecting CXX compiler ABI info
+-- Detecting CXX compiler ABI info - done
+-- Detecting CXX compile features
+-- Detecting CXX compile features - done
+-- Looking for pthread.h
+-- Looking for pthread.h - found
+-- Looking for pthread_create
+-- Looking for pthread_create - not found
+-- Looking for pthread_create in pthreads
+-- Looking for pthread_create in pthreads - not found
+-- Looking for pthread_create in pthread
+-- Looking for pthread_create in pthread - found
+-- Found Threads: TRUE  
 -- Configuring done
 -- Generating done
 -- Build files have been written to: /tmp/tmp.55FUdkWZ0x/cmake-build-debug

BIN
cmake-build-debug/FDIACS


+ 286 - 55
main.cpp

@@ -8,8 +8,15 @@
 #include <signal.h>
 #include <thread>
 #include <fstream>
+#include "json.hpp"
+#include <iomanip>
+#include <chrono>
 
-int port = 8000;
+
+using json = nlohmann::json;
+
+int port = 7547;
+//int port = 8000;
 
 int POST_handler(struct soap *soap);
 
@@ -17,9 +24,17 @@ struct http_post_handlers http_post_handlers[] = {
         {"POST", POST_handler},
         {NULL}
 };
-
+std::string currentISO8601TimeUTC() {
+    auto now = std::chrono::system_clock::now();
+    auto itt = std::chrono::system_clock::to_time_t(now);
+    auto duration = now.time_since_epoch();
+    auto millis = std::chrono::duration_cast<std::chrono::milliseconds>(duration).count();
+    std::ostringstream ss;
+    ss << std::put_time(gmtime(&itt), "%FT%T%z");
+    return ss.str();
+}
 void handler(int s) {
-    printf("Sassan Caught SIGPIPE....\n");
+    printf("Sassan Caught SIGPIPE...\n");
 }
 
 void *process_request(void *arg) {
@@ -34,31 +49,7 @@ void *process_request(void *arg) {
 }
 
 //<editor-fold desc="zbx_keys">
-/*
-Searching for: InternetGatewayDevice.DeviceInfo.SoftwareVersion & Find Result: 18
-Searching for: InternetGatewayDevice.DeviceInfo.UpTime & Find Result: 21
-Searching for: InternetGatewayDevice.DeviceInfo.X_TGT_IMSI & Find Result: 22
-Searching for: InternetGatewayDevice.DeviceInfo.MemoryStatus.Free & Find Result: 28
-Searching for: InternetGatewayDevice.DeviceInfo.ProcessStatus.CPUUsage & Find Result: 29
-Searching for: InternetGatewayDevice.Time.CurrentLocalTime & Find Result: 229
-Searching for: InternetGatewayDevice.WANDevice.1.X_TGT_WANNetConfigInfo.SINR1 & Find Result: 464
-Searching for: InternetGatewayDevice.WANDevice.1.X_TGT_WANNetConfigInfo.SINR2 & Find Result: 465
-Searching for: InternetGatewayDevice.WANDevice.1.X_TGT_WANNetConfigInfo.EnodeBId & Find Result: 469
-Searching for: InternetGatewayDevice.WANDevice.1.X_TGT_WANNetConfigInfo.CellId & Find Result: 470
-Searching for: InternetGatewayDevice.WANDevice.1.WANEthernetInterfaceConfig.Stats.BytesSent & Find Result: 542
-Searching for: InternetGatewayDevice.WANDevice.1.WANEthernetInterfaceConfig.Stats.BytesReceived & Find Result: 543
-Searching for: InternetGatewayDevice.WANDevice.1.WANEthernetInterfaceConfig.Stats.PacketsSent & Find Result: 544
-Searching for: InternetGatewayDevice.WANDevice.1.WANEthernetInterfaceConfig.Stats.PacketsReceived & Find Result: 545
-Searching for: InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.Uptime & Find Result: 553
-Searching for: InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.ExternalIPAddress & Find Result: 557
-Searching for: InternetGatewayDevice.WEB_GUI.Network.LTE_Setting.Status.RSRP1 & Find Result: 580
-Searching for: InternetGatewayDevice.WEB_GUI.Network.LTE_Setting.Status.RSRP2 & Find Result: 581
-Searching for: InternetGatewayDevice.WEB_GUI.Network.LTE_Setting.Status.TX_Power & Find Result: 585
-Searching for: InternetGatewayDevice.WEB_GUI.Network.LTE_Setting.Status.DL_MCS & Find Result: 591
-Searching for: InternetGatewayDevice.WEB_GUI.Network.LTE_Setting.Status.UL_MCS & Find Result: 592
-Searching for: InternetGatewayDevice.WEB_GUI.Overview.DeviceInfo.IMSI & Find Result: 612
-Searching for: InternetGatewayDevice.WEB_GUI.Overview.DeviceInfo.IMEI & Find Result: 613
-*/
+
 std::string zbx_keys[] = {"InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.Uptime",
                           "InternetGatewayDevice.WEB_GUI.Network.LTE_Setting.Status.UL_MCS",
                           "InternetGatewayDevice.WEB_GUI.Network.LTE_Setting.Status.TX_Power",
@@ -66,6 +57,11 @@ std::string zbx_keys[] = {"InternetGatewayDevice.WANDevice.1.WANConnectionDevice
                           "InternetGatewayDevice.WANDevice.1.X_TGT_WANNetConfigInfo.SINR2",
                           "InternetGatewayDevice.WANDevice.1.X_TGT_WANNetConfigInfo.SINR1",
                           "InternetGatewayDevice.WEB_GUI.Network.LTE_Setting.Status.RSRP2",
+                          "InternetGatewayDevice.WANDevice.1.X_TGT_WANNetConfigInfo.RSRQ",
+                          "InternetGatewayDevice.WEB_GUI.Network.LTE_Setting.Status.RSRQ",
+                          "InternetGatewayDevice.LANDevice.1.LANHostConfigManagement.DHCPServerEnable",
+                          "InternetGatewayDevice.WEB_GUI.Network.LTE_Setting.Setting.Status",
+                          "InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.ConnectionStatus",
                           "InternetGatewayDevice.WEB_GUI.Network.LTE_Setting.Status.RSRP1",
                           "InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.ExternalIPAddress",
                           "InternetGatewayDevice.WEB_GUI.Overview.DeviceInfo.IMSI",
@@ -82,12 +78,34 @@ std::string zbx_keys[] = {"InternetGatewayDevice.WANDevice.1.WANConnectionDevice
                           "InternetGatewayDevice.WANDevice.1.WANEthernetInterfaceConfig.Stats.PacketsReceived",
                           "InternetGatewayDevice.WANDevice.1.WANEthernetInterfaceConfig.Stats.PacketsSent",
                           "InternetGatewayDevice.DeviceInfo.UpTime",
-                          "InternetGatewayDevice.DeviceInfo.X_TGT_IMSI"
+                          "InternetGatewayDevice.DeviceInfo.X_TGT_IMSI",
+                          "InternetGatewayDevice.WEB_GUI.Network.Network_Mode.WANIPAddress",
+                          "InternetGatewayDevice.WEB_GUI.Network.ScanMode.Settings.PCILock",
+                          "InternetGatewayDevice.WEB_GUI.Overview.LTEStatus.DnsServer",
+                          "InternetGatewayDevice.DeviceInfo.HardwareVersion",
+                          "InternetGatewayDevice.DeviceInfo.Manufacturer",
+                          "InternetGatewayDevice.DeviceInfo.ManufacturerOUI",
+                          "InternetGatewayDevice.DeviceInfo.ModelName",
+                          "InternetGatewayDevice.DeviceInfo.ModelNumber",
+                          "InternetGatewayDevice.DeviceInfo.Description",
+                          "InternetGatewayDevice.DeviceInfo.ProductClass",
+                          "InternetGatewayDevice.DeviceInfo.SerialNumber",
+                          "InternetGatewayDevice.LANDevice.1.LANEthernetInterfaceConfig.1.Enable",
+                          "InternetGatewayDevice.LANDevice.1.LANEthernetInterfaceConfig.2.Enable",
+                          "InternetGatewayDevice.WANDevice.1.WANEthernetInterfaceConfig.Enable",
+                          "InternetGatewayDevice.WEB_GUI.Overview.LTEStatus.DL_DataRate_Current",
+                          "InternetGatewayDevice.WEB_GUI.Overview.LTEStatus.UL_DataRate_Current",
+                          "InternetGatewayDevice.WEB_GUI.Network.LTE_Setting.Status.PCI",
+                          "InternetGatewayDevice.WEB_GUI.Overview.LANStatus.MacAddress",
+                          "InternetGatewayDevice.WEB_GUI.Network.LTE_Setting.Status.DL_Frequency",
+                          "InternetGatewayDevice.WEB_GUI.Network.LTE_Setting.Status.UL_Frequency",
+                          "InternetGatewayDevice.ManagementServer.ConnectionRequestURL"
 };
 
-//</editor-fold>
 
 
+//</editor-fold>
+
 void ZBX_Send(char **Name, char **Value, char **imsi) {
     if (!strcmp(*Name, "InternetGatewayDevice.WEB_GUI.Network.LTE_Setting.Status.DL_MCS") == 0 or
         !strcmp(*Name, "InternetGatewayDevice.WEB_GUI.Network.LTE_Setting.Status.UL_MCS") == 0) {
@@ -103,18 +121,44 @@ void ZBX_Send(char **Name, char **Value, char **imsi) {
             *Value = "64";
         }
         std::ofstream zbx_data;
+        std::string _time{};
         time_t second;
         second = time(NULL);
-        zbx_data.open("/var/tmp/zbx_sender_data", std::ios_base::app);
+        std::stringstream strstream;
+        strstream << second;
+        strstream >> _time;
+        zbx_data.open("/var/tmp/zbx_sender-"+_time, std::ios_base::app);
         zbx_data << "IMSI-" << *imsi << " " << *Name << " " << second << " \"" << *Value << "\"" << std::endl;
 
     }
 }
 
+std::string url_encode(const std::string &value) {
+    std::ostringstream escaped;
+    escaped.fill('0');
+    escaped << std::hex;
+
+    for (std::string::const_iterator i = value.begin(), n = value.end(); i != n; ++i) {
+        std::string::value_type c = (*i);
+
+        // Keep alphanumeric and other accepted characters intact
+        if (isalnum(c) || c == '-' || c == '_' || c == '.' || c == '~') {
+            escaped << c;
+            continue;
+        }
+
+        // Any other characters are percent-encoded
+        escaped << std::uppercase;
+        escaped << '%' << std::setw(2) << int((unsigned char) c);
+        escaped << std::nouppercase;
+    }
+
+    return escaped.str();
+}
 
 int main() {
     signal(SIGPIPE, handler);
-    std::cout << "TR069 Server Started (1.0)...\n" << std::endl;
+    std::cout << "TR069 Server Started (1.1)...\n" << std::endl;
     cwmpService service(SOAP_XML_INDENT);
     service.soap->send_timeout = service.soap->recv_timeout = 5;
     service.soap->transfer_timeout = 30;
@@ -126,7 +170,7 @@ int main() {
     service.soap->bind_flags |= MSG_NOSIGNAL;
 
     soap_init2(service.soap, SOAP_IO_KEEPALIVE, SOAP_IO_KEEPALIVE);
-    SOAP_SOCKET m = service.bind(NULL, port, 1);              /* master socket */
+    SOAP_SOCKET m = service.bind(NULL, port, 1024);              /* master socket */
     if (soap_valid_socket(m)) {
         while (soap_valid_socket(service.accept())) {
             THREAD_TYPE tid;
@@ -246,45 +290,232 @@ int cwmpService::Inform(struct _cwmp__Inform *cwmp__Inform,
                         struct _cwmp__InformResponse *cwmp__InformResponse) {
 
 
-    std::cerr << "Inform Recieved..." << cwmp__Inform->DeviceId->SerialNumber <<" at "<<time(NULL)<< std::endl;
+    std::string _id = std::string(cwmp__Inform->DeviceId->OUI) + "-" + std::string(cwmp__Inform->DeviceId->ProductClass)
+                      + "-" + std::string(cwmp__Inform->DeviceId->SerialNumber);
+    std::cerr << "Inform Recieved from: " << url_encode(_id) << " at " << time(NULL) << std::endl;
     char *imsi;
     auto timestamp = std::chrono::high_resolution_clock::now();
     std::vector<std::thread> th;
+    std::vector<std::thread> th_acs;
 //    int indexes[24];
     std::vector<int> ind;
-    for (int i = 0 ; i < cwmp__Inform->ParameterList->__size; ++i) {
-        if (!strcmp(cwmp__Inform->ParameterList->__ptrParameterValueStruct[i]->Name,
-                    "InternetGatewayDevice.DeviceInfo.X_TGT_IMSI")) {
-            imsi = cwmp__Inform->ParameterList->__ptrParameterValueStruct[i]->Value;
+
+    std::ofstream mongoData;
+    time_t second;
+    std::string _time;
+    std::map<std::string, std::string> tr069{};
+    second = time(NULL);
+    std::stringstream strstream;
+    strstream << second;
+    strstream >> _time;
+    for (int i = 0; i < cwmp__Inform->ParameterList->__size; ++i) {
+        char *_Name = cwmp__Inform->ParameterList->__ptrParameterValueStruct[i]->Name;
+        char *_Value = cwmp__Inform->ParameterList->__ptrParameterValueStruct[i]->Value;
+        if (std::string(_Name).compare("InternetGatewayDevice.DeviceInfo.X_TGT_IMSI")==0) {
+            imsi = _Value;
         }
         std::string cpe = cwmp__Inform->DeviceId->SerialNumber;
-        auto j = std::find(std::begin(zbx_keys), std::end(zbx_keys),
-                           cwmp__Inform->ParameterList->__ptrParameterValueStruct[i]->Name);
+        auto j = std::find(std::begin(zbx_keys), std::end(zbx_keys),_Name);
         if (j != std::end(zbx_keys)) {
+//            th.push_back(std::thread(ZBX_Send, &_Name,&_Value, &imsi));
+//            ind.push_back(i);
             th.push_back(std::thread(ZBX_Send, &cwmp__Inform->ParameterList->__ptrParameterValueStruct[i]->Name,
                                      &cwmp__Inform->ParameterList->__ptrParameterValueStruct[i]->Value, &imsi));
 
-            ind.push_back(i);
+//<editor-fold desc="Map Filler">
+            if (std::string(_Name).compare("InternetGatewayDevice.DeviceInfo.HardwareVersion") == 0)
+                tr069.insert({"HardwareVersion", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.DeviceInfo.SoftwareVersion") == 0)
+                tr069.insert({"SoftwareVersion", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.DeviceInfo.UpTime") == 0)
+                tr069.insert({"UpTime", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.WEB_GUI.Overview.DeviceInfo.IMEI") == 0)
+                tr069.insert({"IMEI", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.DeviceInfo.X_TGT_IMSI") == 0)
+                tr069.insert({"IMSI", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.DeviceInfo.MemoryStatus.Free") == 0)
+                tr069.insert({"Free", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.DeviceInfo.ProcessStatus.CPUUsage") == 0)
+                tr069.insert({"CPUUsage", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.Time.CurrentLocalTime") == 0)
+                tr069.insert({"CurrentLocalTime", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.LANDevice.1.LANEthernetInterfaceConfig.1.Enable") == 0)
+                tr069.insert({"LAN1Enable", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.LANDevice.1.LANEthernetInterfaceConfig.2.Enable") == 0)
+                tr069.insert({"LAN2Enable", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.WANDevice.1.X_TGT_WANNetConfigInfo.SINR1") == 0)
+                tr069.insert({"SINR1", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.WANDevice.1.X_TGT_WANNetConfigInfo.SINR2") == 0)
+                tr069.insert({"SINR2", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.WANDevice.1.X_TGT_WANNetConfigInfo.EnodeBId") ==
+                     0)
+                tr069.insert({"EnodeBId", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.WANDevice.1.X_TGT_WANNetConfigInfo.CellId") == 0)
+                tr069.insert({"CellId", _Value});
+            else if (std::string(_Name).compare(
+                    "InternetGatewayDevice.WANDevice.1.WANEthernetInterfaceConfig.Stats.BytesSent") == 0)
+                tr069.insert({"BytesSent", _Value});
+            else if (std::string(_Name).compare(
+                    "InternetGatewayDevice.WANDevice.1.WANEthernetInterfaceConfig.Stats.BytesReceived") == 0)
+                tr069.insert({"BytesReceived", _Value});
+            else if (std::string(_Name).compare(
+                    "InternetGatewayDevice.WANDevice.1.WANEthernetInterfaceConfig.Stats.PacketsSent") == 0)
+                tr069.insert({"PacketsSent", _Value});
+            else if (std::string(_Name).compare(
+                    "InternetGatewayDevice.WANDevice.1.WANEthernetInterfaceConfig.Stats.PacketsReceived") == 0)
+                tr069.insert({"PacketsReceived", _Value});
+            else if (std::string(_Name).compare(
+                    "InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.ConnectionStatus") == 0)
+                tr069.insert({"ConnectionStatus", _Value});
+            else if (std::string(_Name).compare(
+                    "InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.Uptime") == 0)
+                tr069.insert({"Uptime", _Value});
+            else if (std::string(_Name).compare(
+                    "InternetGatewayDevice.WANDevice.1.WANConnectionDevice.1.WANIPConnection.1.ExternalIPAddress") == 0)
+                tr069.insert({"ExternalIPAddress", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.WEB_GUI.Network.LTE_Setting.Status.RSRP1") == 0)
+                tr069.insert({"RSRP1", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.WEB_GUI.Network.LTE_Setting.Status.RSRP2") == 0)
+                tr069.insert({"RSRP2", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.WEB_GUI.Network.LTE_Setting.Status.TX_Power") ==
+                     0)
+                tr069.insert({"TX_Power", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.WEB_GUI.Network.LTE_Setting.Status.DL_MCS") == 0)
+                tr069.insert({"DL_MCS", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.WEB_GUI.Network.LTE_Setting.Status.UL_MCS") == 0)
+                tr069.insert({"UL_MCS", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.WEB_GUI.Network.LTE_Setting.Setting.Status") ==
+                     0)
+                tr069.insert({"LTEStatus", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.WEB_GUI.Network.ScanMode.Settings.PCILock") == 0)
+                tr069.insert({"PCILock", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.WEB_GUI.Network.Network_Mode.WANIPAddress") == 0)
+                tr069.insert({"WANIPAddress", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.WEB_GUI.Overview.LTEStatus.DnsServer") == 0)
+                tr069.insert({"DnsServer", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.WEB_GUI.Overview.DeviceInfo.IMSI") == 0)
+                tr069.insert({"IMSI", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.DeviceInfo.Manufacturer") == 0)
+                tr069.insert({"Manufacturer", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.DeviceInfo.ManufacturerOUI") == 0)
+                tr069.insert({"OUI", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.DeviceInfo.ModelName") == 0)
+                tr069.insert({"ModelName", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.DeviceInfo.ModelNumber") == 0)
+                tr069.insert({"ModelNumber", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.DeviceInfo.Description") == 0)
+                tr069.insert({"Description", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.DeviceInfo.ProductClass") == 0)
+                tr069.insert({"ProductClass", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.DeviceInfo.SerialNumber") == 0)
+                tr069.insert({"SerialNumber", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.WANDevice.1.X_TGT_WANNetConfigInfo.RSRQ") == 0)
+                tr069.insert({"RSRQ", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.LANDevice.1.LANHostConfigManagement.DHCPServerEnable") == 0)
+                tr069.insert({"DHCPServerEnable", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.WANDevice.1.WANEthernetInterfaceConfig.Enable") == 0)
+                tr069.insert({"WANEthernetInterfaceConfigEnable", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.ManagementServer.ConnectionRequestURL") == 0)
+                tr069.insert({"ConnectionRequestURL", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.WEB_GUI.Overview.LTEStatus.DL_DataRate_Current") == 0)
+                tr069.insert({"DL_DataRate_Current", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.WEB_GUI.Overview.LTEStatus.UL_DataRate_Current") == 0)
+                tr069.insert({"UL_DataRate_Current", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.WEB_GUI.Network.LTE_Setting.Status.PCI") == 0)
+                tr069.insert({"PCI", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.WEB_GUI.Network.LTE_Setting.Status.UL_Frequency") == 0)
+                tr069.insert({"UL_Frequency", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.WEB_GUI.Network.LTE_Setting.Status.DL_Frequency") == 0)
+                tr069.insert({"DL_Frequency", _Value});
+            else if (std::string(_Name).compare("InternetGatewayDevice.WEB_GUI.Overview.LANStatus.MacAddress") == 0)
+                tr069.insert({"MacAddress", _Value});
+
+
+//            std::cerr<<"Key: "<<cwmp__Inform->ParameterList->__ptrParameterValueStruct[i]->Name<<std::endl;
+//            std::cerr<<"Value: "<<cwmp__Inform->ParameterList->__ptrParameterValueStruct[i]->Value<<std::endl;
+
+
+
+//</editor-fold>
         }
     }
     for (auto &t : th) {
         t.join();
     }
 
-//    std::ofstream influx_data;
-//    time_t second;
-//    second = time(NULL);
-//    influx_data.open("/var/tmp/influxdb_data", std::ios_base::app);
-//    influx_data << "tr069,imsi=" << imsi << " " ;
-//    try {
+//<editor-fold desc="Json">
+    std::string ISOTime=currentISO8601TimeUTC();
+    json tr069_json{};
+    tr069_json["_id"]=url_encode(_id);
+    tr069_json["_deviceId"]["_Manufacturer"]=cwmp__Inform->DeviceId->Manufacturer;
+    tr069_json["_deviceId"]["_OUI"]=cwmp__Inform->DeviceId->OUI ;
+    tr069_json["_deviceId"]["_ProductClass"]=cwmp__Inform->DeviceId->ProductClass;
+    tr069_json["_deviceId"]["_SerialNumber"]=cwmp__Inform->DeviceId->SerialNumber;
+    tr069_json["_lastInform"]=ISOTime;
+    tr069_json["InternetGatewayDevice"]["WANDevice"]["1"]["WANConnectionDevice"]["1"]["WANIPConnection"]["1"]["Uptime"]["_value"]=tr069["Uptime"] ;
+    tr069_json["InternetGatewayDevice"]["WEB_GUI"]["Network"]["LTE_Setting"]["Status"]["UL_MCS"]["_value"]=tr069["UL_MCS"] ;
+    tr069_json["InternetGatewayDevice"]["WEB_GUI"]["Network"]["LTE_Setting"]["Status"]["TX_Power"]["_value"]=tr069["TX_Power"] ;
+    tr069_json["InternetGatewayDevice"]["DeviceInfo"]["SoftwareVersion"]["_value"]=tr069["SoftwareVersion"] ;
+    tr069_json["InternetGatewayDevice"]["WANDevice"]["1"]["X_TGT_WANNetConfigInfo"]["SINR2"]["_value"]=tr069["SINR2"] ;
+    tr069_json["InternetGatewayDevice"]["WANDevice"]["1"]["X_TGT_WANNetConfigInfo"]["SINR1"]["_value"]=tr069["SINR1"] ;
+    tr069_json["InternetGatewayDevice"]["WEB_GUI"]["Network"]["LTE_Setting"]["Status"]["RSRP2"]["_value"]=tr069["RSRP2"] ;
+    tr069_json["InternetGatewayDevice"]["WANDevice"]["1"]["X_TGT_WANNetConfigInfo"]["RSRQ"]["_value"]=tr069["RSRQ"] ;
+    tr069_json["InternetGatewayDevice"]["WEB_GUI"]["Network"]["LTE_Setting"]["Status"]["RSRQ"]["_value"]=tr069["RSRQ"] ;
+    tr069_json["InternetGatewayDevice"]["LANDevice"]["1"]["LANHostConfigManagement"]["DHCPServerEnable"]["_value"]=tr069["DHCPServerEnable"] ;
+    tr069_json["InternetGatewayDevice"]["WEB_GUI"]["Network"]["LTE_Setting"]["Setting"]["Status"]["_value"]=tr069["LTEStatus"] ;
+    tr069_json["InternetGatewayDevice"]["WANDevice"]["1"]["WANConnectionDevice"]["1"]["WANIPConnection"]["1"]["ConnectionStatus"]["_value"]=tr069["ConnectionStatus"] ;
+    tr069_json["InternetGatewayDevice"]["WEB_GUI"]["Network"]["LTE_Setting"]["Status"]["RSRP1"]["_value"]=tr069["RSRP1"] ;
+    tr069_json["InternetGatewayDevice"]["WANDevice"]["1"]["WANConnectionDevice"]["1"]["WANIPConnection"]["1"]["ExternalIPAddress"]["_value"]=tr069["ExternalIPAddress"] ;
+    tr069_json["InternetGatewayDevice"]["WEB_GUI"]["Overview"]["DeviceInfo"]["IMSI"]["_value"]=tr069["IMSI"] ;
+    tr069_json["InternetGatewayDevice"]["WEB_GUI"]["Overview"]["DeviceInfo"]["IMEI"]["_value"]=tr069["IMEI"] ;
+    tr069_json["InternetGatewayDevice"]["WANDevice"]["1"]["X_TGT_WANNetConfigInfo"]["EnodeBId"]["_value"]=tr069["EnodeBId"] ;
+    tr069_json["InternetGatewayDevice"]["DeviceInfo"]["MemoryStatus"]["Free"]["_value"]=tr069["Free"] ;
+    tr069_json["InternetGatewayDevice"]["WANDevice"]["1"]["X_TGT_WANNetConfigInfo"]["EnodeBId"]["_value"]=tr069["EnodeBId"] ;
+    tr069_json["InternetGatewayDevice"]["WEB_GUI"]["Network"]["LTE_Setting"]["Status"]["DL_MCS"]["_value"]=tr069["DL_MCS"] ;
+    tr069_json["InternetGatewayDevice"]["Time"]["CurrentLocalTime"]["_value"]=tr069["CurrentLocalTime"] ;
+    tr069_json["InternetGatewayDevice"]["DeviceInfo"]["ProcessStatus"]["CPUUsage"]["_value"]=tr069["CPUUsage"] ;
+    tr069_json["InternetGatewayDevice"]["WANDevice"]["1"]["X_TGT_WANNetConfigInfo"]["CellId"]["_value"]=tr069["CellId"] ;
+    tr069_json["InternetGatewayDevice"]["WANDevice"]["1"]["WANEthernetInterfaceConfig"]["Stats"]["BytesSent"]["_value"]=tr069["BytesSent"] ;
+    tr069_json["InternetGatewayDevice"]["WANDevice"]["1"]["WANEthernetInterfaceConfig"]["Stats"]["BytesReceived"]["_value"]=tr069["BytesReceived"] ;
+    tr069_json["InternetGatewayDevice"]["WANDevice"]["1"]["WANEthernetInterfaceConfig"]["Stats"]["PacketsReceived"]["_value"]=tr069["PacketsReceived"] ;
+    tr069_json["InternetGatewayDevice"]["WANDevice"]["1"]["WANEthernetInterfaceConfig"]["Stats"]["PacketsSent"]["_value"]=tr069["PacketsSent"] ;
+    tr069_json["InternetGatewayDevice"]["DeviceInfo"]["UpTime"]["_value"]=tr069["UpTime"] ;
+    tr069_json["InternetGatewayDevice"]["DeviceInfo"]["X_TGT_IMSI"]["_value"]=tr069["IMSI"] ;
+    tr069_json["InternetGatewayDevice"]["LANDevice"]["1"]["LANEthernetInterfaceConfig"]["1"]["Enable"]["_value"]=tr069["Enable"] ;
+    tr069_json["InternetGatewayDevice"]["WEB_GUI"]["Network"]["Network_Mode"]["WANIPAddress"]["_value"]=tr069["WANIPAddress"] ;
+    tr069_json["InternetGatewayDevice"]["WEB_GUI"]["Network"]["ScanMode"]["Settings"]["PCILock"]["_value"]=tr069["PCILock"] ;
+    tr069_json["InternetGatewayDevice"]["WEB_GUI"]["Overview"]["LTEStatus"]["DnsServer"]["_value"]=tr069["DnsServer"] ;
+    tr069_json["InternetGatewayDevice"]["DeviceInfo"]["HardwareVersion"]["_value"]=tr069["HardwareVersion"] ;
+    tr069_json["InternetGatewayDevice"]["DeviceInfo"]["Manufacturer"]["_value"]=cwmp__Inform->DeviceId->Manufacturer;
+    tr069_json["InternetGatewayDevice"]["DeviceInfo"]["ManufacturerOUI"]["_value"]=cwmp__Inform->DeviceId->OUI;
+    tr069_json["InternetGatewayDevice"]["DeviceInfo"]["ModelName"]["_value"]=tr069["ModelName"] ;
+    tr069_json["InternetGatewayDevice"]["DeviceInfo"]["ModelNumber"]["_value"]=tr069["ModelNumber"] ;
+    tr069_json["InternetGatewayDevice"]["DeviceInfo"]["Description"]["_value"]=tr069["Description"] ;
+    tr069_json["InternetGatewayDevice"]["DeviceInfo"]["ProductClass"]["_value"]=cwmp__Inform->DeviceId->ProductClass;
+    tr069_json["InternetGatewayDevice"]["DeviceInfo"]["SerialNumber"]["_value"]=cwmp__Inform->DeviceId->SerialNumber;
+    tr069_json["InternetGatewayDevice"]["LANDevice"]["1"]["LANEthernetInterfaceConfig"]["1"]["Enable"]["_value"]=tr069["LAN1Enable"] ;
+    tr069_json["InternetGatewayDevice"]["LANDevice"]["1"]["LANEthernetInterfaceConfig"]["2"]["Enable"]["_value"]=tr069["LAN2Enable"] ;
+    tr069_json["InternetGatewayDevice"]["ManagementServer"]["ConnectionRequestURL"]["_value"]=tr069["ConnectionRequestURL"] ;
+    tr069_json["InternetGatewayDevice"]["WANDevice"]["1"]["WANEthernetInterfaceConfig"]["Enable"]["_value"]=tr069["WANEthernetInterfaceConfigEnable"] ;
+    tr069_json["InternetGatewayDevice"]["WEB_GUI"]["Overview"]["LTEStatus"]["DL_DataRate_Current"]["_value"]=tr069["DL_DataRate_Current"] ;
+    tr069_json["InternetGatewayDevice"]["WEB_GUI"]["Overview"]["LTEStatus"]["UL_DataRate_Current"]["_value"]=tr069["UL_DataRate_Current"] ;
+    tr069_json["InternetGatewayDevice"]["WEB_GUI"]["Network"]["LTE_Setting"]["Status"]["PCI"]["_value"]=tr069["PCI"] ;
+    tr069_json["InternetGatewayDevice"]["WEB_GUI"]["Overview"]["LANStatus"]["MacAddress"]["_value"]=tr069["MacAddress"] ;
+    tr069_json["InternetGatewayDevice"]["WEB_GUI"]["Network"]["LTE_Setting"]["Status"]["DL_Frequency"]["_value"]=tr069["DL_Frequency"] ;
+    tr069_json["InternetGatewayDevice"]["WEB_GUI"]["Network"]["LTE_Setting"]["Status"]["UL_Frequency"]["_value"]=tr069["UL_Frequency"] ;
+//</editor-fold>
+            std::ofstream json_data;
+//            time_t second;
+    second = time(NULL);
+    strstream << second;
+    strstream >> _time;
+            json_data.open("/var/tmp/json_data/"+url_encode(_id)+"_"+_time, std::ios_base::app);
+            json_data <<tr069_json.dump(4);
 //
-//        for (std::vector<int>::iterator it = ind.begin(); it != ind.end(); ++it){
-//            influx_data << cwmp__Inform->ParameterList->__ptrParameterValueStruct[*it]->Name << "=\""
-//                      << cwmp__Inform->ParameterList->__ptrParameterValueStruct[*it]->Value << "\",";
-//        }
-//        influx_data<<std::endl;
-//    }catch (std::exception e){std::cerr<<e.what()<<std::endl;}
-
-
+//    for(auto elem : tr069)
+//    {
+//        std::cerr<<elem.first<<"\t"<<elem.second<<std::endl;
+//    }
+//    std::cerr<< "Size: "<<tr069.size()<<std::endl;
     return SOAP_OK;
 }

+ 519 - 519
soapcwmpService.cpp

@@ -15,85 +15,85 @@ A commercial use license is available from Genivia Inc., contact@genivia.com
 
 cwmpService::cwmpService()
 {	this->soap = soap_new();
-	this->soap_own = true;
-	cwmpService_init(SOAP_IO_DEFAULT, SOAP_IO_DEFAULT);
+    this->soap_own = true;
+    cwmpService_init(SOAP_IO_DEFAULT, SOAP_IO_DEFAULT);
 }
 
 cwmpService::cwmpService(const cwmpService& rhs)
 {	this->soap = rhs.soap;
-	this->soap_own = false;
+    this->soap_own = false;
 }
 
 cwmpService::cwmpService(struct soap *_soap)
 {	this->soap = _soap;
-	this->soap_own = false;
-	cwmpService_init(_soap->imode, _soap->omode);
+    this->soap_own = false;
+    cwmpService_init(_soap->imode, _soap->omode);
 }
 
 cwmpService::cwmpService(soap_mode iomode)
 {	this->soap = soap_new();
-	this->soap_own = true;
-	cwmpService_init(iomode, iomode);
+    this->soap_own = true;
+    cwmpService_init(iomode, iomode);
 }
 
 cwmpService::cwmpService(soap_mode imode, soap_mode omode)
 {	this->soap = soap_new();
-	this->soap_own = true;
-	cwmpService_init(imode, omode);
+    this->soap_own = true;
+    cwmpService_init(imode, omode);
 }
 
 cwmpService::~cwmpService()
 {	if (this->soap_own)
-	{	this->destroy();
-		soap_free(this->soap);
-	}
+    {	this->destroy();
+        soap_free(this->soap);
+    }
 }
 
 void cwmpService::cwmpService_init(soap_mode imode, soap_mode omode)
 {	soap_imode(this->soap, imode);
-	soap_omode(this->soap, omode);
-	static const struct Namespace namespaces[] = {
-        { "SOAP-ENV", "http://schemas.xmlsoap.org/soap/envelope/", "http://www.w3.org/*/soap-envelope", NULL },
-        { "SOAP-ENC", "http://schemas.xmlsoap.org/soap/encoding/", "http://www.w3.org/*/soap-encoding", NULL },
-        { "xsi", "http://www.w3.org/2001/XMLSchema-instance", "http://www.w3.org/*/XMLSchema-instance", NULL },
-        { "xsd", "http://www.w3.org/2001/XMLSchema", "http://www.w3.org/*/XMLSchema", NULL },
-        { "cwmp", "urn:dslforum-org:cwmp-1-2", NULL, NULL },
-        { NULL, NULL, NULL, NULL}
+    soap_omode(this->soap, omode);
+    static const struct Namespace namespaces[] = {
+            { "SOAP-ENV", "http://schemas.xmlsoap.org/soap/envelope/", "http://www.w3.org/*/soap-envelope", NULL },
+            { "SOAP-ENC", "http://schemas.xmlsoap.org/soap/encoding/", "http://www.w3.org/*/soap-encoding", NULL },
+            { "xsi", "http://www.w3.org/2001/XMLSchema-instance", "http://www.w3.org/*/XMLSchema-instance", NULL },
+            { "xsd", "http://www.w3.org/2001/XMLSchema", "http://www.w3.org/*/XMLSchema", NULL },
+            { "cwmp", "urn:dslforum-org:cwmp-1-2", NULL, NULL },
+            { NULL, NULL, NULL, NULL}
     };
-	soap_set_namespaces(this->soap, namespaces);
+    soap_set_namespaces(this->soap, namespaces);
 }
 
 void cwmpService::destroy()
 {	soap_destroy(this->soap);
-	soap_end(this->soap);
+    soap_end(this->soap);
 }
 
 void cwmpService::reset()
 {	this->destroy();
-	soap_done(this->soap);
-	soap_initialize(this->soap);
-	cwmpService_init(SOAP_IO_DEFAULT, SOAP_IO_DEFAULT);
+    soap_done(this->soap);
+    soap_initialize(this->soap);
+    cwmpService_init(SOAP_IO_DEFAULT, SOAP_IO_DEFAULT);
 }
 
 #ifndef WITH_PURE_VIRTUAL
 cwmpService *cwmpService::copy()
 {	cwmpService *dup = SOAP_NEW_UNMANAGED(cwmpService);
-	if (dup)
-	{	soap_done(dup->soap);
-		soap_copy_context(dup->soap, this->soap);
-	}
-	return dup;
+    if (dup)
+    {	soap_done(dup->soap);
+        soap_copy_context(dup->soap, this->soap);
+    }
+    return dup;
 }
 #endif
 
 cwmpService& cwmpService::operator=(const cwmpService& rhs)
 {	if (this->soap != rhs.soap)
-	{	if (this->soap_own)
-			soap_free(this->soap);
-		this->soap = rhs.soap;
-		this->soap_own = false;
-	}
-	return *this;
+    {	if (this->soap_own)
+            soap_free(this->soap);
+        this->soap = rhs.soap;
+        this->soap_own = false;
+    }
+    return *this;
 }
 
 int cwmpService::soap_close_socket()
@@ -142,12 +142,12 @@ void cwmpService::soap_noheader()
 
 void cwmpService::soap_header(struct _cwmp__SupportedCWMPVersions *cwmp__SupportedCWMPVersions, struct _cwmp__UseCWMPVersion *cwmp__UseCWMPVersion, struct _cwmp__SessionTimeout *cwmp__SessionTimeout, struct _cwmp__ID *cwmp__ID, struct _cwmp__HoldRequests *cwmp__HoldRequests)
 {
-	::soap_header(this->soap);
-	this->soap->header->cwmp__SupportedCWMPVersions = cwmp__SupportedCWMPVersions;
-	this->soap->header->cwmp__UseCWMPVersion = cwmp__UseCWMPVersion;
-	this->soap->header->cwmp__SessionTimeout = cwmp__SessionTimeout;
-	this->soap->header->cwmp__ID = cwmp__ID;
-	this->soap->header->cwmp__HoldRequests = cwmp__HoldRequests;
+    ::soap_header(this->soap);
+    this->soap->header->cwmp__SupportedCWMPVersions = cwmp__SupportedCWMPVersions;
+    this->soap->header->cwmp__UseCWMPVersion = cwmp__UseCWMPVersion;
+    this->soap->header->cwmp__SessionTimeout = cwmp__SessionTimeout;
+    this->soap->header->cwmp__ID = cwmp__ID;
+    this->soap->header->cwmp__HoldRequests = cwmp__HoldRequests;
 }
 
 ::SOAP_ENV__Header *cwmpService::soap_header()
@@ -157,18 +157,18 @@ void cwmpService::soap_header(struct _cwmp__SupportedCWMPVersions *cwmp__Support
 #ifndef WITH_NOIO
 int cwmpService::run(int port, int backlog)
 {	if (!soap_valid_socket(this->soap->master) && !soap_valid_socket(this->bind(NULL, port, backlog)))
-		return this->soap->error;
-	for (;;)
-	{	if (!soap_valid_socket(this->accept()))
-		{	if (this->soap->errnum == 0) // timeout?
-				this->soap->error = SOAP_OK;
-			break;
-		}
-		if (this->serve())
-			break;
-		this->destroy();
-	}
-	return this->soap->error;
+        return this->soap->error;
+    for (;;)
+    {	if (!soap_valid_socket(this->accept()))
+        {	if (this->soap->errnum == 0) // timeout?
+                this->soap->error = SOAP_OK;
+            break;
+        }
+        if (this->serve())
+            break;
+        this->destroy();
+    }
+    return this->soap->error;
 }
 
 #if defined(WITH_OPENSSL) || defined(WITH_GNUTLS)
@@ -207,37 +207,37 @@ int cwmpService::ssl_accept()
 int cwmpService::serve()
 {
 #ifndef WITH_FASTCGI
-	this->soap->keep_alive = this->soap->max_keep_alive + 1;
+    this->soap->keep_alive = this->soap->max_keep_alive + 1;
 #endif
-	do
-	{
+    do
+    {
 #ifndef WITH_FASTCGI
-		if (this->soap->keep_alive > 0 && this->soap->max_keep_alive > 0)
-			this->soap->keep_alive--;
+        if (this->soap->keep_alive > 0 && this->soap->max_keep_alive > 0)
+            this->soap->keep_alive--;
 #endif
-		if (soap_begin_serve(this->soap))
-		{
-			if (this->soap->error >= SOAP_STOP){
-				continue;
-			}
-			return this->soap->error;
-		}
-		if ((dispatch() || (this->soap->fserveloop && this->soap->fserveloop(this->soap))) && this->soap->error && this->soap->error < SOAP_STOP)
-		{
+        if (soap_begin_serve(this->soap))
+        {
+            if (this->soap->error >= SOAP_STOP){
+                continue;
+            }
+            return this->soap->error;
+        }
+        if ((dispatch() || (this->soap->fserveloop && this->soap->fserveloop(this->soap))) && this->soap->error && this->soap->error < SOAP_STOP)
+        {
 #ifdef WITH_FASTCGI
-			soap_send_fault(this->soap);
+            soap_send_fault(this->soap);
 #else
-			return soap_send_fault(this->soap);
+            return soap_send_fault(this->soap);
 #endif
-		}
+        }
 #ifdef WITH_FASTCGI
-		soap_destroy(this->soap);
+        soap_destroy(this->soap);
 		soap_end(this->soap);
 	} while (1);
 #else
-	} while (this->soap->keep_alive);
+    } while (this->soap->keep_alive);
 #endif
-	return SOAP_OK;
+    return SOAP_OK;
 }
 
 static int serve___cwmp__GetParameterNames(struct soap*, cwmpService*);
@@ -259,499 +259,499 @@ int cwmpService::dispatch()
 
 int cwmpService::dispatch(struct soap* soap)
 {
-	cwmpService_init(soap->imode, soap->omode);
-	soap_peek_element(soap);
-	if (!soap_match_tag(soap, soap->tag, "cwmp:GetParameterNames"))
-		return serve___cwmp__GetParameterNames(soap, this);
-	if (!soap_match_tag(soap, soap->tag, "cwmp:GetParameterValues"))
-		return serve___cwmp__GetParameterValues(soap, this);
-	if (!soap_match_tag(soap, soap->tag, "cwmp:GetParameterValuesResponse"))
-		return serve___cwmp__GetParameterValuesResponse(soap, this);
-	if (!soap_match_tag(soap, soap->tag, "cwmp:SetParameterValues"))
-		return serve___cwmp__SetParameterValues(soap, this);
-	if (!soap_match_tag(soap, soap->tag, "cwmp:GetParameterAttributes"))
-		return serve___cwmp__GetParameterAttributes(soap, this);
-	if (!soap_match_tag(soap, soap->tag, "cwmp:SetParameterAttributes"))
-		return serve___cwmp__SetParameterAttributes(soap, this);
-	if (!soap_match_tag(soap, soap->tag, "cwmp:Download"))
-		return serve___cwmp__Download(soap, this);
-	if (!soap_match_tag(soap, soap->tag, "cwmp:Upload"))
-		return serve___cwmp__Upload(soap, this);
-	if (!soap_match_tag(soap, soap->tag, "cwmp:AddObject"))
-		return serve___cwmp__AddObject(soap, this);
-	if (!soap_match_tag(soap, soap->tag, "cwmp:DeleteObject"))
-		return serve___cwmp__DeleteObject(soap, this);
-	if (!soap_match_tag(soap, soap->tag, "cwmp:GetRPCMethods"))
-		return serve___cwmp__GetRPCMethods(soap, this);
-	if (!soap_match_tag(soap, soap->tag, "cwmp:Inform"))
-		return serve___cwmp__Inform(soap, this);
-	return soap->error = SOAP_NO_METHOD;
+    cwmpService_init(soap->imode, soap->omode);
+    soap_peek_element(soap);
+    if (!soap_match_tag(soap, soap->tag, "cwmp:GetParameterNames"))
+        return serve___cwmp__GetParameterNames(soap, this);
+    if (!soap_match_tag(soap, soap->tag, "cwmp:GetParameterValues"))
+        return serve___cwmp__GetParameterValues(soap, this);
+    if (!soap_match_tag(soap, soap->tag, "cwmp:GetParameterValuesResponse"))
+        return serve___cwmp__GetParameterValuesResponse(soap, this);
+    if (!soap_match_tag(soap, soap->tag, "cwmp:SetParameterValues"))
+        return serve___cwmp__SetParameterValues(soap, this);
+    if (!soap_match_tag(soap, soap->tag, "cwmp:GetParameterAttributes"))
+        return serve___cwmp__GetParameterAttributes(soap, this);
+    if (!soap_match_tag(soap, soap->tag, "cwmp:SetParameterAttributes"))
+        return serve___cwmp__SetParameterAttributes(soap, this);
+    if (!soap_match_tag(soap, soap->tag, "cwmp:Download"))
+        return serve___cwmp__Download(soap, this);
+    if (!soap_match_tag(soap, soap->tag, "cwmp:Upload"))
+        return serve___cwmp__Upload(soap, this);
+    if (!soap_match_tag(soap, soap->tag, "cwmp:AddObject"))
+        return serve___cwmp__AddObject(soap, this);
+    if (!soap_match_tag(soap, soap->tag, "cwmp:DeleteObject"))
+        return serve___cwmp__DeleteObject(soap, this);
+    if (!soap_match_tag(soap, soap->tag, "cwmp:GetRPCMethods"))
+        return serve___cwmp__GetRPCMethods(soap, this);
+    if (!soap_match_tag(soap, soap->tag, "cwmp:Inform"))
+        return serve___cwmp__Inform(soap, this);
+    return soap->error = SOAP_NO_METHOD;
 }
 
 
 static int serve___cwmp__GetParameterNames(struct soap *soap, cwmpService *service)
 {	struct __cwmp__GetParameterNames soap_tmp___cwmp__GetParameterNames;
-	struct _cwmp__GetParameterNamesResponse cwmp__GetParameterNamesResponse;
-	soap_default__cwmp__GetParameterNamesResponse(soap, &cwmp__GetParameterNamesResponse);
-	soap_default___cwmp__GetParameterNames(soap, &soap_tmp___cwmp__GetParameterNames);
-	if (!soap_get___cwmp__GetParameterNames(soap, &soap_tmp___cwmp__GetParameterNames, "-cwmp:GetParameterNames", NULL))
-		return soap->error;
-	if (soap_body_end_in(soap)
-	 || soap_envelope_end_in(soap)
-	 || soap_end_recv(soap))
-		return soap->error;
-	soap->error = service->GetParameterNames(soap_tmp___cwmp__GetParameterNames.cwmp__GetParameterNames, &cwmp__GetParameterNamesResponse);
-	if (soap->error)
-		return soap->error;
-	soap->encodingStyle = ""; /* use SOAP encoding style */
-	soap_serializeheader(soap);
-	soap_serialize__cwmp__GetParameterNamesResponse(soap, &cwmp__GetParameterNamesResponse);
-	if (soap_begin_count(soap))
-		return soap->error;
-	if ((soap->mode & SOAP_IO_LENGTH))
-	{	if (soap_envelope_begin_out(soap)
-		 || soap_putheader(soap)
-		 || soap_body_begin_out(soap)
-		 || soap_put__cwmp__GetParameterNamesResponse(soap, &cwmp__GetParameterNamesResponse, "cwmp:GetParameterNamesResponse", "")
-		 || soap_body_end_out(soap)
-		 || soap_envelope_end_out(soap))
-			 return soap->error;
-	};
-	if (soap_end_count(soap)
-	 || soap_response(soap, SOAP_OK)
-	 || soap_envelope_begin_out(soap)
-	 || soap_putheader(soap)
-	 || soap_body_begin_out(soap)
-	 || soap_put__cwmp__GetParameterNamesResponse(soap, &cwmp__GetParameterNamesResponse, "cwmp:GetParameterNamesResponse", "")
-	 || soap_body_end_out(soap)
-	 || soap_envelope_end_out(soap)
-	 || soap_end_send(soap))
-		return soap->error;
-	return soap_closesock(soap);
+    struct _cwmp__GetParameterNamesResponse cwmp__GetParameterNamesResponse;
+    soap_default__cwmp__GetParameterNamesResponse(soap, &cwmp__GetParameterNamesResponse);
+    soap_default___cwmp__GetParameterNames(soap, &soap_tmp___cwmp__GetParameterNames);
+    if (!soap_get___cwmp__GetParameterNames(soap, &soap_tmp___cwmp__GetParameterNames, "-cwmp:GetParameterNames", NULL))
+        return soap->error;
+    if (soap_body_end_in(soap)
+        || soap_envelope_end_in(soap)
+        || soap_end_recv(soap))
+        return soap->error;
+    soap->error = service->GetParameterNames(soap_tmp___cwmp__GetParameterNames.cwmp__GetParameterNames, &cwmp__GetParameterNamesResponse);
+    if (soap->error)
+        return soap->error;
+    soap->encodingStyle = ""; /* use SOAP encoding style */
+    soap_serializeheader(soap);
+    soap_serialize__cwmp__GetParameterNamesResponse(soap, &cwmp__GetParameterNamesResponse);
+    if (soap_begin_count(soap))
+        return soap->error;
+    if ((soap->mode & SOAP_IO_LENGTH))
+    {	if (soap_envelope_begin_out(soap)
+             || soap_putheader(soap)
+             || soap_body_begin_out(soap)
+             || soap_put__cwmp__GetParameterNamesResponse(soap, &cwmp__GetParameterNamesResponse, "cwmp:GetParameterNamesResponse", "")
+             || soap_body_end_out(soap)
+             || soap_envelope_end_out(soap))
+            return soap->error;
+    };
+    if (soap_end_count(soap)
+        || soap_response(soap, SOAP_OK)
+        || soap_envelope_begin_out(soap)
+        || soap_putheader(soap)
+        || soap_body_begin_out(soap)
+        || soap_put__cwmp__GetParameterNamesResponse(soap, &cwmp__GetParameterNamesResponse, "cwmp:GetParameterNamesResponse", "")
+        || soap_body_end_out(soap)
+        || soap_envelope_end_out(soap)
+        || soap_end_send(soap))
+        return soap->error;
+    return soap_closesock(soap);
 }
 
 static int serve___cwmp__GetParameterValues(struct soap *soap, cwmpService *service)
 {	struct __cwmp__GetParameterValues soap_tmp___cwmp__GetParameterValues;
-	struct _cwmp__GetParameterValuesResponse cwmp__GetParameterValuesResponse;
-	soap_default__cwmp__GetParameterValuesResponse(soap, &cwmp__GetParameterValuesResponse);
-	soap_default___cwmp__GetParameterValues(soap, &soap_tmp___cwmp__GetParameterValues);
-	if (!soap_get___cwmp__GetParameterValues(soap, &soap_tmp___cwmp__GetParameterValues, "-cwmp:GetParameterValues", NULL))
-		return soap->error;
-	if (soap_body_end_in(soap)
-	 || soap_envelope_end_in(soap)
-	 || soap_end_recv(soap))
-		return soap->error;
-	soap->error = service->GetParameterValues(soap_tmp___cwmp__GetParameterValues.cwmp__GetParameterValues, &cwmp__GetParameterValuesResponse);
-	if (soap->error)
-		return soap->error;
-	soap->encodingStyle = ""; /* use SOAP encoding style */
-	soap_serializeheader(soap);
-	soap_serialize__cwmp__GetParameterValuesResponse(soap, &cwmp__GetParameterValuesResponse);
-	if (soap_begin_count(soap))
-		return soap->error;
-	if ((soap->mode & SOAP_IO_LENGTH))
-	{	if (soap_envelope_begin_out(soap)
-		 || soap_putheader(soap)
-		 || soap_body_begin_out(soap)
-		 || soap_put__cwmp__GetParameterValuesResponse(soap, &cwmp__GetParameterValuesResponse, "cwmp:GetParameterValuesResponse", "")
-		 || soap_body_end_out(soap)
-		 || soap_envelope_end_out(soap))
-			 return soap->error;
-	};
-	if (soap_end_count(soap)
-	 || soap_response(soap, SOAP_OK)
-	 || soap_envelope_begin_out(soap)
-	 || soap_putheader(soap)
-	 || soap_body_begin_out(soap)
-	 || soap_put__cwmp__GetParameterValuesResponse(soap, &cwmp__GetParameterValuesResponse, "cwmp:GetParameterValuesResponse", "")
-	 || soap_body_end_out(soap)
-	 || soap_envelope_end_out(soap)
-	 || soap_end_send(soap))
-		return soap->error;
-	return soap_closesock(soap);
+    struct _cwmp__GetParameterValuesResponse cwmp__GetParameterValuesResponse;
+    soap_default__cwmp__GetParameterValuesResponse(soap, &cwmp__GetParameterValuesResponse);
+    soap_default___cwmp__GetParameterValues(soap, &soap_tmp___cwmp__GetParameterValues);
+    if (!soap_get___cwmp__GetParameterValues(soap, &soap_tmp___cwmp__GetParameterValues, "-cwmp:GetParameterValues", NULL))
+        return soap->error;
+    if (soap_body_end_in(soap)
+        || soap_envelope_end_in(soap)
+        || soap_end_recv(soap))
+        return soap->error;
+    soap->error = service->GetParameterValues(soap_tmp___cwmp__GetParameterValues.cwmp__GetParameterValues, &cwmp__GetParameterValuesResponse);
+    if (soap->error)
+        return soap->error;
+    soap->encodingStyle = ""; /* use SOAP encoding style */
+    soap_serializeheader(soap);
+    soap_serialize__cwmp__GetParameterValuesResponse(soap, &cwmp__GetParameterValuesResponse);
+    if (soap_begin_count(soap))
+        return soap->error;
+    if ((soap->mode & SOAP_IO_LENGTH))
+    {	if (soap_envelope_begin_out(soap)
+             || soap_putheader(soap)
+             || soap_body_begin_out(soap)
+             || soap_put__cwmp__GetParameterValuesResponse(soap, &cwmp__GetParameterValuesResponse, "cwmp:GetParameterValuesResponse", "")
+             || soap_body_end_out(soap)
+             || soap_envelope_end_out(soap))
+            return soap->error;
+    };
+    if (soap_end_count(soap)
+        || soap_response(soap, SOAP_OK)
+        || soap_envelope_begin_out(soap)
+        || soap_putheader(soap)
+        || soap_body_begin_out(soap)
+        || soap_put__cwmp__GetParameterValuesResponse(soap, &cwmp__GetParameterValuesResponse, "cwmp:GetParameterValuesResponse", "")
+        || soap_body_end_out(soap)
+        || soap_envelope_end_out(soap)
+        || soap_end_send(soap))
+        return soap->error;
+    return soap_closesock(soap);
 }
 
 static int serve___cwmp__GetParameterValuesResponse(struct soap *soap, cwmpService *service)
 {	struct __cwmp__GetParameterValuesResponse soap_tmp___cwmp__GetParameterValuesResponse;
-	soap_default___cwmp__GetParameterValuesResponse(soap, &soap_tmp___cwmp__GetParameterValuesResponse);
-	if (!soap_get___cwmp__GetParameterValuesResponse(soap, &soap_tmp___cwmp__GetParameterValuesResponse, "-cwmp:GetParameterValuesResponse", NULL))
-		return soap->error;
-	if (soap_body_end_in(soap)
-	 || soap_envelope_end_in(soap)
-	 || soap_end_recv(soap))
-		return soap->error;
-	soap->error = service->GetParameterValuesResponse(soap_tmp___cwmp__GetParameterValuesResponse.cwmp__GetParameterValuesResponse);
-	if (soap->error)
-		return soap->error;
-	return soap_closesock(soap);
+    soap_default___cwmp__GetParameterValuesResponse(soap, &soap_tmp___cwmp__GetParameterValuesResponse);
+    if (!soap_get___cwmp__GetParameterValuesResponse(soap, &soap_tmp___cwmp__GetParameterValuesResponse, "-cwmp:GetParameterValuesResponse", NULL))
+        return soap->error;
+    if (soap_body_end_in(soap)
+        || soap_envelope_end_in(soap)
+        || soap_end_recv(soap))
+        return soap->error;
+    soap->error = service->GetParameterValuesResponse(soap_tmp___cwmp__GetParameterValuesResponse.cwmp__GetParameterValuesResponse);
+    if (soap->error)
+        return soap->error;
+    return soap_closesock(soap);
 }
 
 static int serve___cwmp__SetParameterValues(struct soap *soap, cwmpService *service)
 {	struct __cwmp__SetParameterValues soap_tmp___cwmp__SetParameterValues;
-	struct _cwmp__SetParameterValuesResponse cwmp__SetParameterValuesResponse;
-	soap_default__cwmp__SetParameterValuesResponse(soap, &cwmp__SetParameterValuesResponse);
-	soap_default___cwmp__SetParameterValues(soap, &soap_tmp___cwmp__SetParameterValues);
-	if (!soap_get___cwmp__SetParameterValues(soap, &soap_tmp___cwmp__SetParameterValues, "-cwmp:SetParameterValues", NULL))
-		return soap->error;
-	if (soap_body_end_in(soap)
-	 || soap_envelope_end_in(soap)
-	 || soap_end_recv(soap))
-		return soap->error;
-	soap->error = service->SetParameterValues(soap_tmp___cwmp__SetParameterValues.cwmp__SetParameterValues, &cwmp__SetParameterValuesResponse);
-	if (soap->error)
-		return soap->error;
-	soap->encodingStyle = ""; /* use SOAP encoding style */
-	soap_serializeheader(soap);
-	soap_serialize__cwmp__SetParameterValuesResponse(soap, &cwmp__SetParameterValuesResponse);
-	if (soap_begin_count(soap))
-		return soap->error;
-	if ((soap->mode & SOAP_IO_LENGTH))
-	{	if (soap_envelope_begin_out(soap)
-		 || soap_putheader(soap)
-		 || soap_body_begin_out(soap)
-		 || soap_put__cwmp__SetParameterValuesResponse(soap, &cwmp__SetParameterValuesResponse, "cwmp:SetParameterValuesResponse", "")
-		 || soap_body_end_out(soap)
-		 || soap_envelope_end_out(soap))
-			 return soap->error;
-	};
-	if (soap_end_count(soap)
-	 || soap_response(soap, SOAP_OK)
-	 || soap_envelope_begin_out(soap)
-	 || soap_putheader(soap)
-	 || soap_body_begin_out(soap)
-	 || soap_put__cwmp__SetParameterValuesResponse(soap, &cwmp__SetParameterValuesResponse, "cwmp:SetParameterValuesResponse", "")
-	 || soap_body_end_out(soap)
-	 || soap_envelope_end_out(soap)
-	 || soap_end_send(soap))
-		return soap->error;
-	return soap_closesock(soap);
+    struct _cwmp__SetParameterValuesResponse cwmp__SetParameterValuesResponse;
+    soap_default__cwmp__SetParameterValuesResponse(soap, &cwmp__SetParameterValuesResponse);
+    soap_default___cwmp__SetParameterValues(soap, &soap_tmp___cwmp__SetParameterValues);
+    if (!soap_get___cwmp__SetParameterValues(soap, &soap_tmp___cwmp__SetParameterValues, "-cwmp:SetParameterValues", NULL))
+        return soap->error;
+    if (soap_body_end_in(soap)
+        || soap_envelope_end_in(soap)
+        || soap_end_recv(soap))
+        return soap->error;
+    soap->error = service->SetParameterValues(soap_tmp___cwmp__SetParameterValues.cwmp__SetParameterValues, &cwmp__SetParameterValuesResponse);
+    if (soap->error)
+        return soap->error;
+    soap->encodingStyle = ""; /* use SOAP encoding style */
+    soap_serializeheader(soap);
+    soap_serialize__cwmp__SetParameterValuesResponse(soap, &cwmp__SetParameterValuesResponse);
+    if (soap_begin_count(soap))
+        return soap->error;
+    if ((soap->mode & SOAP_IO_LENGTH))
+    {	if (soap_envelope_begin_out(soap)
+             || soap_putheader(soap)
+             || soap_body_begin_out(soap)
+             || soap_put__cwmp__SetParameterValuesResponse(soap, &cwmp__SetParameterValuesResponse, "cwmp:SetParameterValuesResponse", "")
+             || soap_body_end_out(soap)
+             || soap_envelope_end_out(soap))
+            return soap->error;
+    };
+    if (soap_end_count(soap)
+        || soap_response(soap, SOAP_OK)
+        || soap_envelope_begin_out(soap)
+        || soap_putheader(soap)
+        || soap_body_begin_out(soap)
+        || soap_put__cwmp__SetParameterValuesResponse(soap, &cwmp__SetParameterValuesResponse, "cwmp:SetParameterValuesResponse", "")
+        || soap_body_end_out(soap)
+        || soap_envelope_end_out(soap)
+        || soap_end_send(soap))
+        return soap->error;
+    return soap_closesock(soap);
 }
 
 static int serve___cwmp__GetParameterAttributes(struct soap *soap, cwmpService *service)
 {	struct __cwmp__GetParameterAttributes soap_tmp___cwmp__GetParameterAttributes;
-	struct _cwmp__GetParameterAttributesResponse cwmp__GetParameterAttributesResponse;
-	soap_default__cwmp__GetParameterAttributesResponse(soap, &cwmp__GetParameterAttributesResponse);
-	soap_default___cwmp__GetParameterAttributes(soap, &soap_tmp___cwmp__GetParameterAttributes);
-	if (!soap_get___cwmp__GetParameterAttributes(soap, &soap_tmp___cwmp__GetParameterAttributes, "-cwmp:GetParameterAttributes", NULL))
-		return soap->error;
-	if (soap_body_end_in(soap)
-	 || soap_envelope_end_in(soap)
-	 || soap_end_recv(soap))
-		return soap->error;
-	soap->error = service->GetParameterAttributes(soap_tmp___cwmp__GetParameterAttributes.cwmp__GetParameterAttributes, &cwmp__GetParameterAttributesResponse);
-	if (soap->error)
-		return soap->error;
-	soap->encodingStyle = ""; /* use SOAP encoding style */
-	soap_serializeheader(soap);
-	soap_serialize__cwmp__GetParameterAttributesResponse(soap, &cwmp__GetParameterAttributesResponse);
-	if (soap_begin_count(soap))
-		return soap->error;
-	if ((soap->mode & SOAP_IO_LENGTH))
-	{	if (soap_envelope_begin_out(soap)
-		 || soap_putheader(soap)
-		 || soap_body_begin_out(soap)
-		 || soap_put__cwmp__GetParameterAttributesResponse(soap, &cwmp__GetParameterAttributesResponse, "cwmp:GetParameterAttributesResponse", "")
-		 || soap_body_end_out(soap)
-		 || soap_envelope_end_out(soap))
-			 return soap->error;
-	};
-	if (soap_end_count(soap)
-	 || soap_response(soap, SOAP_OK)
-	 || soap_envelope_begin_out(soap)
-	 || soap_putheader(soap)
-	 || soap_body_begin_out(soap)
-	 || soap_put__cwmp__GetParameterAttributesResponse(soap, &cwmp__GetParameterAttributesResponse, "cwmp:GetParameterAttributesResponse", "")
-	 || soap_body_end_out(soap)
-	 || soap_envelope_end_out(soap)
-	 || soap_end_send(soap))
-		return soap->error;
-	return soap_closesock(soap);
+    struct _cwmp__GetParameterAttributesResponse cwmp__GetParameterAttributesResponse;
+    soap_default__cwmp__GetParameterAttributesResponse(soap, &cwmp__GetParameterAttributesResponse);
+    soap_default___cwmp__GetParameterAttributes(soap, &soap_tmp___cwmp__GetParameterAttributes);
+    if (!soap_get___cwmp__GetParameterAttributes(soap, &soap_tmp___cwmp__GetParameterAttributes, "-cwmp:GetParameterAttributes", NULL))
+        return soap->error;
+    if (soap_body_end_in(soap)
+        || soap_envelope_end_in(soap)
+        || soap_end_recv(soap))
+        return soap->error;
+    soap->error = service->GetParameterAttributes(soap_tmp___cwmp__GetParameterAttributes.cwmp__GetParameterAttributes, &cwmp__GetParameterAttributesResponse);
+    if (soap->error)
+        return soap->error;
+    soap->encodingStyle = ""; /* use SOAP encoding style */
+    soap_serializeheader(soap);
+    soap_serialize__cwmp__GetParameterAttributesResponse(soap, &cwmp__GetParameterAttributesResponse);
+    if (soap_begin_count(soap))
+        return soap->error;
+    if ((soap->mode & SOAP_IO_LENGTH))
+    {	if (soap_envelope_begin_out(soap)
+             || soap_putheader(soap)
+             || soap_body_begin_out(soap)
+             || soap_put__cwmp__GetParameterAttributesResponse(soap, &cwmp__GetParameterAttributesResponse, "cwmp:GetParameterAttributesResponse", "")
+             || soap_body_end_out(soap)
+             || soap_envelope_end_out(soap))
+            return soap->error;
+    };
+    if (soap_end_count(soap)
+        || soap_response(soap, SOAP_OK)
+        || soap_envelope_begin_out(soap)
+        || soap_putheader(soap)
+        || soap_body_begin_out(soap)
+        || soap_put__cwmp__GetParameterAttributesResponse(soap, &cwmp__GetParameterAttributesResponse, "cwmp:GetParameterAttributesResponse", "")
+        || soap_body_end_out(soap)
+        || soap_envelope_end_out(soap)
+        || soap_end_send(soap))
+        return soap->error;
+    return soap_closesock(soap);
 }
 
 static int serve___cwmp__SetParameterAttributes(struct soap *soap, cwmpService *service)
 {	struct __cwmp__SetParameterAttributes soap_tmp___cwmp__SetParameterAttributes;
-	struct _cwmp__SetParameterAttributesResponse cwmp__SetParameterAttributesResponse;
-	soap_default__cwmp__SetParameterAttributesResponse(soap, &cwmp__SetParameterAttributesResponse);
-	soap_default___cwmp__SetParameterAttributes(soap, &soap_tmp___cwmp__SetParameterAttributes);
-	if (!soap_get___cwmp__SetParameterAttributes(soap, &soap_tmp___cwmp__SetParameterAttributes, "-cwmp:SetParameterAttributes", NULL))
-		return soap->error;
-	if (soap_body_end_in(soap)
-	 || soap_envelope_end_in(soap)
-	 || soap_end_recv(soap))
-		return soap->error;
-	soap->error = service->SetParameterAttributes(soap_tmp___cwmp__SetParameterAttributes.cwmp__SetParameterAttributes, &cwmp__SetParameterAttributesResponse);
-	if (soap->error)
-		return soap->error;
-	soap->encodingStyle = ""; /* use SOAP encoding style */
-	soap_serializeheader(soap);
-	soap_serialize__cwmp__SetParameterAttributesResponse(soap, &cwmp__SetParameterAttributesResponse);
-	if (soap_begin_count(soap))
-		return soap->error;
-	if ((soap->mode & SOAP_IO_LENGTH))
-	{	if (soap_envelope_begin_out(soap)
-		 || soap_putheader(soap)
-		 || soap_body_begin_out(soap)
-		 || soap_put__cwmp__SetParameterAttributesResponse(soap, &cwmp__SetParameterAttributesResponse, "cwmp:SetParameterAttributesResponse", "")
-		 || soap_body_end_out(soap)
-		 || soap_envelope_end_out(soap))
-			 return soap->error;
-	};
-	if (soap_end_count(soap)
-	 || soap_response(soap, SOAP_OK)
-	 || soap_envelope_begin_out(soap)
-	 || soap_putheader(soap)
-	 || soap_body_begin_out(soap)
-	 || soap_put__cwmp__SetParameterAttributesResponse(soap, &cwmp__SetParameterAttributesResponse, "cwmp:SetParameterAttributesResponse", "")
-	 || soap_body_end_out(soap)
-	 || soap_envelope_end_out(soap)
-	 || soap_end_send(soap))
-		return soap->error;
-	return soap_closesock(soap);
+    struct _cwmp__SetParameterAttributesResponse cwmp__SetParameterAttributesResponse;
+    soap_default__cwmp__SetParameterAttributesResponse(soap, &cwmp__SetParameterAttributesResponse);
+    soap_default___cwmp__SetParameterAttributes(soap, &soap_tmp___cwmp__SetParameterAttributes);
+    if (!soap_get___cwmp__SetParameterAttributes(soap, &soap_tmp___cwmp__SetParameterAttributes, "-cwmp:SetParameterAttributes", NULL))
+        return soap->error;
+    if (soap_body_end_in(soap)
+        || soap_envelope_end_in(soap)
+        || soap_end_recv(soap))
+        return soap->error;
+    soap->error = service->SetParameterAttributes(soap_tmp___cwmp__SetParameterAttributes.cwmp__SetParameterAttributes, &cwmp__SetParameterAttributesResponse);
+    if (soap->error)
+        return soap->error;
+    soap->encodingStyle = ""; /* use SOAP encoding style */
+    soap_serializeheader(soap);
+    soap_serialize__cwmp__SetParameterAttributesResponse(soap, &cwmp__SetParameterAttributesResponse);
+    if (soap_begin_count(soap))
+        return soap->error;
+    if ((soap->mode & SOAP_IO_LENGTH))
+    {	if (soap_envelope_begin_out(soap)
+             || soap_putheader(soap)
+             || soap_body_begin_out(soap)
+             || soap_put__cwmp__SetParameterAttributesResponse(soap, &cwmp__SetParameterAttributesResponse, "cwmp:SetParameterAttributesResponse", "")
+             || soap_body_end_out(soap)
+             || soap_envelope_end_out(soap))
+            return soap->error;
+    };
+    if (soap_end_count(soap)
+        || soap_response(soap, SOAP_OK)
+        || soap_envelope_begin_out(soap)
+        || soap_putheader(soap)
+        || soap_body_begin_out(soap)
+        || soap_put__cwmp__SetParameterAttributesResponse(soap, &cwmp__SetParameterAttributesResponse, "cwmp:SetParameterAttributesResponse", "")
+        || soap_body_end_out(soap)
+        || soap_envelope_end_out(soap)
+        || soap_end_send(soap))
+        return soap->error;
+    return soap_closesock(soap);
 }
 
 static int serve___cwmp__Download(struct soap *soap, cwmpService *service)
 {	struct __cwmp__Download soap_tmp___cwmp__Download;
-	struct _cwmp__DownloadResponse cwmp__DownloadResponse;
-	soap_default__cwmp__DownloadResponse(soap, &cwmp__DownloadResponse);
-	soap_default___cwmp__Download(soap, &soap_tmp___cwmp__Download);
-	if (!soap_get___cwmp__Download(soap, &soap_tmp___cwmp__Download, "-cwmp:Download", NULL))
-		return soap->error;
-	if (soap_body_end_in(soap)
-	 || soap_envelope_end_in(soap)
-	 || soap_end_recv(soap))
-		return soap->error;
-	soap->error = service->Download(soap_tmp___cwmp__Download.cwmp__Download, &cwmp__DownloadResponse);
-	if (soap->error)
-		return soap->error;
-	soap->encodingStyle = ""; /* use SOAP encoding style */
-	soap_serializeheader(soap);
-	soap_serialize__cwmp__DownloadResponse(soap, &cwmp__DownloadResponse);
-	if (soap_begin_count(soap))
-		return soap->error;
-	if ((soap->mode & SOAP_IO_LENGTH))
-	{	if (soap_envelope_begin_out(soap)
-		 || soap_putheader(soap)
-		 || soap_body_begin_out(soap)
-		 || soap_put__cwmp__DownloadResponse(soap, &cwmp__DownloadResponse, "cwmp:DownloadResponse", "")
-		 || soap_body_end_out(soap)
-		 || soap_envelope_end_out(soap))
-			 return soap->error;
-	};
-	if (soap_end_count(soap)
-	 || soap_response(soap, SOAP_OK)
-	 || soap_envelope_begin_out(soap)
-	 || soap_putheader(soap)
-	 || soap_body_begin_out(soap)
-	 || soap_put__cwmp__DownloadResponse(soap, &cwmp__DownloadResponse, "cwmp:DownloadResponse", "")
-	 || soap_body_end_out(soap)
-	 || soap_envelope_end_out(soap)
-	 || soap_end_send(soap))
-		return soap->error;
-	return soap_closesock(soap);
+    struct _cwmp__DownloadResponse cwmp__DownloadResponse;
+    soap_default__cwmp__DownloadResponse(soap, &cwmp__DownloadResponse);
+    soap_default___cwmp__Download(soap, &soap_tmp___cwmp__Download);
+    if (!soap_get___cwmp__Download(soap, &soap_tmp___cwmp__Download, "-cwmp:Download", NULL))
+        return soap->error;
+    if (soap_body_end_in(soap)
+        || soap_envelope_end_in(soap)
+        || soap_end_recv(soap))
+        return soap->error;
+    soap->error = service->Download(soap_tmp___cwmp__Download.cwmp__Download, &cwmp__DownloadResponse);
+    if (soap->error)
+        return soap->error;
+    soap->encodingStyle = ""; /* use SOAP encoding style */
+    soap_serializeheader(soap);
+    soap_serialize__cwmp__DownloadResponse(soap, &cwmp__DownloadResponse);
+    if (soap_begin_count(soap))
+        return soap->error;
+    if ((soap->mode & SOAP_IO_LENGTH))
+    {	if (soap_envelope_begin_out(soap)
+             || soap_putheader(soap)
+             || soap_body_begin_out(soap)
+             || soap_put__cwmp__DownloadResponse(soap, &cwmp__DownloadResponse, "cwmp:DownloadResponse", "")
+             || soap_body_end_out(soap)
+             || soap_envelope_end_out(soap))
+            return soap->error;
+    };
+    if (soap_end_count(soap)
+        || soap_response(soap, SOAP_OK)
+        || soap_envelope_begin_out(soap)
+        || soap_putheader(soap)
+        || soap_body_begin_out(soap)
+        || soap_put__cwmp__DownloadResponse(soap, &cwmp__DownloadResponse, "cwmp:DownloadResponse", "")
+        || soap_body_end_out(soap)
+        || soap_envelope_end_out(soap)
+        || soap_end_send(soap))
+        return soap->error;
+    return soap_closesock(soap);
 }
 
 static int serve___cwmp__Upload(struct soap *soap, cwmpService *service)
 {	struct __cwmp__Upload soap_tmp___cwmp__Upload;
-	struct _cwmp__UploadResponse cwmp__UploadResponse;
-	soap_default__cwmp__UploadResponse(soap, &cwmp__UploadResponse);
-	soap_default___cwmp__Upload(soap, &soap_tmp___cwmp__Upload);
-	if (!soap_get___cwmp__Upload(soap, &soap_tmp___cwmp__Upload, "-cwmp:Upload", NULL))
-		return soap->error;
-	if (soap_body_end_in(soap)
-	 || soap_envelope_end_in(soap)
-	 || soap_end_recv(soap))
-		return soap->error;
-	soap->error = service->Upload(soap_tmp___cwmp__Upload.cwmp__Upload, &cwmp__UploadResponse);
-	if (soap->error)
-		return soap->error;
-	soap->encodingStyle = ""; /* use SOAP encoding style */
-	soap_serializeheader(soap);
-	soap_serialize__cwmp__UploadResponse(soap, &cwmp__UploadResponse);
-	if (soap_begin_count(soap))
-		return soap->error;
-	if ((soap->mode & SOAP_IO_LENGTH))
-	{	if (soap_envelope_begin_out(soap)
-		 || soap_putheader(soap)
-		 || soap_body_begin_out(soap)
-		 || soap_put__cwmp__UploadResponse(soap, &cwmp__UploadResponse, "cwmp:UploadResponse", "")
-		 || soap_body_end_out(soap)
-		 || soap_envelope_end_out(soap))
-			 return soap->error;
-	};
-	if (soap_end_count(soap)
-	 || soap_response(soap, SOAP_OK)
-	 || soap_envelope_begin_out(soap)
-	 || soap_putheader(soap)
-	 || soap_body_begin_out(soap)
-	 || soap_put__cwmp__UploadResponse(soap, &cwmp__UploadResponse, "cwmp:UploadResponse", "")
-	 || soap_body_end_out(soap)
-	 || soap_envelope_end_out(soap)
-	 || soap_end_send(soap))
-		return soap->error;
-	return soap_closesock(soap);
+    struct _cwmp__UploadResponse cwmp__UploadResponse;
+    soap_default__cwmp__UploadResponse(soap, &cwmp__UploadResponse);
+    soap_default___cwmp__Upload(soap, &soap_tmp___cwmp__Upload);
+    if (!soap_get___cwmp__Upload(soap, &soap_tmp___cwmp__Upload, "-cwmp:Upload", NULL))
+        return soap->error;
+    if (soap_body_end_in(soap)
+        || soap_envelope_end_in(soap)
+        || soap_end_recv(soap))
+        return soap->error;
+    soap->error = service->Upload(soap_tmp___cwmp__Upload.cwmp__Upload, &cwmp__UploadResponse);
+    if (soap->error)
+        return soap->error;
+    soap->encodingStyle = ""; /* use SOAP encoding style */
+    soap_serializeheader(soap);
+    soap_serialize__cwmp__UploadResponse(soap, &cwmp__UploadResponse);
+    if (soap_begin_count(soap))
+        return soap->error;
+    if ((soap->mode & SOAP_IO_LENGTH))
+    {	if (soap_envelope_begin_out(soap)
+             || soap_putheader(soap)
+             || soap_body_begin_out(soap)
+             || soap_put__cwmp__UploadResponse(soap, &cwmp__UploadResponse, "cwmp:UploadResponse", "")
+             || soap_body_end_out(soap)
+             || soap_envelope_end_out(soap))
+            return soap->error;
+    };
+    if (soap_end_count(soap)
+        || soap_response(soap, SOAP_OK)
+        || soap_envelope_begin_out(soap)
+        || soap_putheader(soap)
+        || soap_body_begin_out(soap)
+        || soap_put__cwmp__UploadResponse(soap, &cwmp__UploadResponse, "cwmp:UploadResponse", "")
+        || soap_body_end_out(soap)
+        || soap_envelope_end_out(soap)
+        || soap_end_send(soap))
+        return soap->error;
+    return soap_closesock(soap);
 }
 
 static int serve___cwmp__AddObject(struct soap *soap, cwmpService *service)
 {	struct __cwmp__AddObject soap_tmp___cwmp__AddObject;
-	struct _cwmp__AddObjectResponse cwmp__AddObjectResponse;
-	soap_default__cwmp__AddObjectResponse(soap, &cwmp__AddObjectResponse);
-	soap_default___cwmp__AddObject(soap, &soap_tmp___cwmp__AddObject);
-	if (!soap_get___cwmp__AddObject(soap, &soap_tmp___cwmp__AddObject, "-cwmp:AddObject", NULL))
-		return soap->error;
-	if (soap_body_end_in(soap)
-	 || soap_envelope_end_in(soap)
-	 || soap_end_recv(soap))
-		return soap->error;
-	soap->error = service->AddObject(soap_tmp___cwmp__AddObject.cwmp__AddObject, &cwmp__AddObjectResponse);
-	if (soap->error)
-		return soap->error;
-	soap->encodingStyle = ""; /* use SOAP encoding style */
-	soap_serializeheader(soap);
-	soap_serialize__cwmp__AddObjectResponse(soap, &cwmp__AddObjectResponse);
-	if (soap_begin_count(soap))
-		return soap->error;
-	if ((soap->mode & SOAP_IO_LENGTH))
-	{	if (soap_envelope_begin_out(soap)
-		 || soap_putheader(soap)
-		 || soap_body_begin_out(soap)
-		 || soap_put__cwmp__AddObjectResponse(soap, &cwmp__AddObjectResponse, "cwmp:AddObjectResponse", "")
-		 || soap_body_end_out(soap)
-		 || soap_envelope_end_out(soap))
-			 return soap->error;
-	};
-	if (soap_end_count(soap)
-	 || soap_response(soap, SOAP_OK)
-	 || soap_envelope_begin_out(soap)
-	 || soap_putheader(soap)
-	 || soap_body_begin_out(soap)
-	 || soap_put__cwmp__AddObjectResponse(soap, &cwmp__AddObjectResponse, "cwmp:AddObjectResponse", "")
-	 || soap_body_end_out(soap)
-	 || soap_envelope_end_out(soap)
-	 || soap_end_send(soap))
-		return soap->error;
-	return soap_closesock(soap);
+    struct _cwmp__AddObjectResponse cwmp__AddObjectResponse;
+    soap_default__cwmp__AddObjectResponse(soap, &cwmp__AddObjectResponse);
+    soap_default___cwmp__AddObject(soap, &soap_tmp___cwmp__AddObject);
+    if (!soap_get___cwmp__AddObject(soap, &soap_tmp___cwmp__AddObject, "-cwmp:AddObject", NULL))
+        return soap->error;
+    if (soap_body_end_in(soap)
+        || soap_envelope_end_in(soap)
+        || soap_end_recv(soap))
+        return soap->error;
+    soap->error = service->AddObject(soap_tmp___cwmp__AddObject.cwmp__AddObject, &cwmp__AddObjectResponse);
+    if (soap->error)
+        return soap->error;
+    soap->encodingStyle = ""; /* use SOAP encoding style */
+    soap_serializeheader(soap);
+    soap_serialize__cwmp__AddObjectResponse(soap, &cwmp__AddObjectResponse);
+    if (soap_begin_count(soap))
+        return soap->error;
+    if ((soap->mode & SOAP_IO_LENGTH))
+    {	if (soap_envelope_begin_out(soap)
+             || soap_putheader(soap)
+             || soap_body_begin_out(soap)
+             || soap_put__cwmp__AddObjectResponse(soap, &cwmp__AddObjectResponse, "cwmp:AddObjectResponse", "")
+             || soap_body_end_out(soap)
+             || soap_envelope_end_out(soap))
+            return soap->error;
+    };
+    if (soap_end_count(soap)
+        || soap_response(soap, SOAP_OK)
+        || soap_envelope_begin_out(soap)
+        || soap_putheader(soap)
+        || soap_body_begin_out(soap)
+        || soap_put__cwmp__AddObjectResponse(soap, &cwmp__AddObjectResponse, "cwmp:AddObjectResponse", "")
+        || soap_body_end_out(soap)
+        || soap_envelope_end_out(soap)
+        || soap_end_send(soap))
+        return soap->error;
+    return soap_closesock(soap);
 }
 
 static int serve___cwmp__DeleteObject(struct soap *soap, cwmpService *service)
 {	struct __cwmp__DeleteObject soap_tmp___cwmp__DeleteObject;
-	struct _cwmp__DeleteObjectResponse cwmp__DeleteObjectResponse;
-	soap_default__cwmp__DeleteObjectResponse(soap, &cwmp__DeleteObjectResponse);
-	soap_default___cwmp__DeleteObject(soap, &soap_tmp___cwmp__DeleteObject);
-	if (!soap_get___cwmp__DeleteObject(soap, &soap_tmp___cwmp__DeleteObject, "-cwmp:DeleteObject", NULL))
-		return soap->error;
-	if (soap_body_end_in(soap)
-	 || soap_envelope_end_in(soap)
-	 || soap_end_recv(soap))
-		return soap->error;
-	soap->error = service->DeleteObject(soap_tmp___cwmp__DeleteObject.cwmp__DeleteObject, &cwmp__DeleteObjectResponse);
-	if (soap->error)
-		return soap->error;
-	soap->encodingStyle = ""; /* use SOAP encoding style */
-	soap_serializeheader(soap);
-	soap_serialize__cwmp__DeleteObjectResponse(soap, &cwmp__DeleteObjectResponse);
-	if (soap_begin_count(soap))
-		return soap->error;
-	if ((soap->mode & SOAP_IO_LENGTH))
-	{	if (soap_envelope_begin_out(soap)
-		 || soap_putheader(soap)
-		 || soap_body_begin_out(soap)
-		 || soap_put__cwmp__DeleteObjectResponse(soap, &cwmp__DeleteObjectResponse, "cwmp:DeleteObjectResponse", "")
-		 || soap_body_end_out(soap)
-		 || soap_envelope_end_out(soap))
-			 return soap->error;
-	};
-	if (soap_end_count(soap)
-	 || soap_response(soap, SOAP_OK)
-	 || soap_envelope_begin_out(soap)
-	 || soap_putheader(soap)
-	 || soap_body_begin_out(soap)
-	 || soap_put__cwmp__DeleteObjectResponse(soap, &cwmp__DeleteObjectResponse, "cwmp:DeleteObjectResponse", "")
-	 || soap_body_end_out(soap)
-	 || soap_envelope_end_out(soap)
-	 || soap_end_send(soap))
-		return soap->error;
-	return soap_closesock(soap);
+    struct _cwmp__DeleteObjectResponse cwmp__DeleteObjectResponse;
+    soap_default__cwmp__DeleteObjectResponse(soap, &cwmp__DeleteObjectResponse);
+    soap_default___cwmp__DeleteObject(soap, &soap_tmp___cwmp__DeleteObject);
+    if (!soap_get___cwmp__DeleteObject(soap, &soap_tmp___cwmp__DeleteObject, "-cwmp:DeleteObject", NULL))
+        return soap->error;
+    if (soap_body_end_in(soap)
+        || soap_envelope_end_in(soap)
+        || soap_end_recv(soap))
+        return soap->error;
+    soap->error = service->DeleteObject(soap_tmp___cwmp__DeleteObject.cwmp__DeleteObject, &cwmp__DeleteObjectResponse);
+    if (soap->error)
+        return soap->error;
+    soap->encodingStyle = ""; /* use SOAP encoding style */
+    soap_serializeheader(soap);
+    soap_serialize__cwmp__DeleteObjectResponse(soap, &cwmp__DeleteObjectResponse);
+    if (soap_begin_count(soap))
+        return soap->error;
+    if ((soap->mode & SOAP_IO_LENGTH))
+    {	if (soap_envelope_begin_out(soap)
+             || soap_putheader(soap)
+             || soap_body_begin_out(soap)
+             || soap_put__cwmp__DeleteObjectResponse(soap, &cwmp__DeleteObjectResponse, "cwmp:DeleteObjectResponse", "")
+             || soap_body_end_out(soap)
+             || soap_envelope_end_out(soap))
+            return soap->error;
+    };
+    if (soap_end_count(soap)
+        || soap_response(soap, SOAP_OK)
+        || soap_envelope_begin_out(soap)
+        || soap_putheader(soap)
+        || soap_body_begin_out(soap)
+        || soap_put__cwmp__DeleteObjectResponse(soap, &cwmp__DeleteObjectResponse, "cwmp:DeleteObjectResponse", "")
+        || soap_body_end_out(soap)
+        || soap_envelope_end_out(soap)
+        || soap_end_send(soap))
+        return soap->error;
+    return soap_closesock(soap);
 }
 
 static int serve___cwmp__GetRPCMethods(struct soap *soap, cwmpService *service)
 {	struct __cwmp__GetRPCMethods soap_tmp___cwmp__GetRPCMethods;
-	struct _cwmp__GetRPCMethodsResponse cwmp__GetRPCMethodsResponse;
-	soap_default__cwmp__GetRPCMethodsResponse(soap, &cwmp__GetRPCMethodsResponse);
-	soap_default___cwmp__GetRPCMethods(soap, &soap_tmp___cwmp__GetRPCMethods);
-	if (!soap_get___cwmp__GetRPCMethods(soap, &soap_tmp___cwmp__GetRPCMethods, "-cwmp:GetRPCMethods", NULL))
-		return soap->error;
-	if (soap_body_end_in(soap)
-	 || soap_envelope_end_in(soap)
-	 || soap_end_recv(soap))
-		return soap->error;
-	soap->error = service->GetRPCMethods(soap_tmp___cwmp__GetRPCMethods.cwmp__GetRPCMethods, &cwmp__GetRPCMethodsResponse);
-	if (soap->error)
-		return soap->error;
-	soap->encodingStyle = ""; /* use SOAP encoding style */
-	soap_serializeheader(soap);
-	soap_serialize__cwmp__GetRPCMethodsResponse(soap, &cwmp__GetRPCMethodsResponse);
-	if (soap_begin_count(soap))
-		return soap->error;
-	if ((soap->mode & SOAP_IO_LENGTH))
-	{	if (soap_envelope_begin_out(soap)
-		 || soap_putheader(soap)
-		 || soap_body_begin_out(soap)
-		 || soap_put__cwmp__GetRPCMethodsResponse(soap, &cwmp__GetRPCMethodsResponse, "cwmp:GetRPCMethodsResponse", "")
-		 || soap_body_end_out(soap)
-		 || soap_envelope_end_out(soap))
-			 return soap->error;
-	};
-	if (soap_end_count(soap)
-	 || soap_response(soap, SOAP_OK)
-	 || soap_envelope_begin_out(soap)
-	 || soap_putheader(soap)
-	 || soap_body_begin_out(soap)
-	 || soap_put__cwmp__GetRPCMethodsResponse(soap, &cwmp__GetRPCMethodsResponse, "cwmp:GetRPCMethodsResponse", "")
-	 || soap_body_end_out(soap)
-	 || soap_envelope_end_out(soap)
-	 || soap_end_send(soap))
-		return soap->error;
-	return soap_closesock(soap);
+    struct _cwmp__GetRPCMethodsResponse cwmp__GetRPCMethodsResponse;
+    soap_default__cwmp__GetRPCMethodsResponse(soap, &cwmp__GetRPCMethodsResponse);
+    soap_default___cwmp__GetRPCMethods(soap, &soap_tmp___cwmp__GetRPCMethods);
+    if (!soap_get___cwmp__GetRPCMethods(soap, &soap_tmp___cwmp__GetRPCMethods, "-cwmp:GetRPCMethods", NULL))
+        return soap->error;
+    if (soap_body_end_in(soap)
+        || soap_envelope_end_in(soap)
+        || soap_end_recv(soap))
+        return soap->error;
+    soap->error = service->GetRPCMethods(soap_tmp___cwmp__GetRPCMethods.cwmp__GetRPCMethods, &cwmp__GetRPCMethodsResponse);
+    if (soap->error)
+        return soap->error;
+    soap->encodingStyle = ""; /* use SOAP encoding style */
+    soap_serializeheader(soap);
+    soap_serialize__cwmp__GetRPCMethodsResponse(soap, &cwmp__GetRPCMethodsResponse);
+    if (soap_begin_count(soap))
+        return soap->error;
+    if ((soap->mode & SOAP_IO_LENGTH))
+    {	if (soap_envelope_begin_out(soap)
+             || soap_putheader(soap)
+             || soap_body_begin_out(soap)
+             || soap_put__cwmp__GetRPCMethodsResponse(soap, &cwmp__GetRPCMethodsResponse, "cwmp:GetRPCMethodsResponse", "")
+             || soap_body_end_out(soap)
+             || soap_envelope_end_out(soap))
+            return soap->error;
+    };
+    if (soap_end_count(soap)
+        || soap_response(soap, SOAP_OK)
+        || soap_envelope_begin_out(soap)
+        || soap_putheader(soap)
+        || soap_body_begin_out(soap)
+        || soap_put__cwmp__GetRPCMethodsResponse(soap, &cwmp__GetRPCMethodsResponse, "cwmp:GetRPCMethodsResponse", "")
+        || soap_body_end_out(soap)
+        || soap_envelope_end_out(soap)
+        || soap_end_send(soap))
+        return soap->error;
+    return soap_closesock(soap);
 }
 
 static int serve___cwmp__Inform(struct soap *soap, cwmpService *service)
 {	struct __cwmp__Inform soap_tmp___cwmp__Inform;
-	struct _cwmp__InformResponse cwmp__InformResponse;
-	soap_default__cwmp__InformResponse(soap, &cwmp__InformResponse);
-	soap_default___cwmp__Inform(soap, &soap_tmp___cwmp__Inform);
-	if (!soap_get___cwmp__Inform(soap, &soap_tmp___cwmp__Inform, "-cwmp:Inform", NULL))
-		return soap->error;
-	if (soap_body_end_in(soap)
-	 || soap_envelope_end_in(soap)
-	 || soap_end_recv(soap))
-		return soap->error;
-	soap->error = service->Inform(soap_tmp___cwmp__Inform.cwmp__Inform, &cwmp__InformResponse);
-	if (soap->error)
-		return soap->error;
-	soap->encodingStyle = ""; /* use SOAP encoding style */
-	soap_serializeheader(soap);
-	soap_serialize__cwmp__InformResponse(soap, &cwmp__InformResponse);
-	if (soap_begin_count(soap))
-		return soap->error;
-	if ((soap->mode & SOAP_IO_LENGTH))
-	{	if (soap_envelope_begin_out(soap)
-		 || soap_putheader(soap)
-		 || soap_body_begin_out(soap)
-		 || soap_put__cwmp__InformResponse(soap, &cwmp__InformResponse, "cwmp:InformResponse", "")
-		 || soap_body_end_out(soap)
-		 || soap_envelope_end_out(soap))
-			 return soap->error;
-	};
-	if (soap_end_count(soap)
-	 || soap_response(soap, SOAP_OK)
-	 || soap_envelope_begin_out(soap)
-	 || soap_putheader(soap)
-	 || soap_body_begin_out(soap)
-	 || soap_put__cwmp__InformResponse(soap, &cwmp__InformResponse, "cwmp:InformResponse", "")
-	 || soap_body_end_out(soap)
-	 || soap_envelope_end_out(soap)
-	 || soap_end_send(soap))
-		return soap->error;
-	return soap_closesock(soap);
+    struct _cwmp__InformResponse cwmp__InformResponse;
+    soap_default__cwmp__InformResponse(soap, &cwmp__InformResponse);
+    soap_default___cwmp__Inform(soap, &soap_tmp___cwmp__Inform);
+    if (!soap_get___cwmp__Inform(soap, &soap_tmp___cwmp__Inform, "-cwmp:Inform", NULL))
+        return soap->error;
+    if (soap_body_end_in(soap)
+        || soap_envelope_end_in(soap)
+        || soap_end_recv(soap))
+        return soap->error;
+    soap->error = service->Inform(soap_tmp___cwmp__Inform.cwmp__Inform, &cwmp__InformResponse);
+    if (soap->error)
+        return soap->error;
+    soap->encodingStyle = ""; /* use SOAP encoding style */
+    soap_serializeheader(soap);
+    soap_serialize__cwmp__InformResponse(soap, &cwmp__InformResponse);
+    if (soap_begin_count(soap))
+        return soap->error;
+    if ((soap->mode & SOAP_IO_LENGTH))
+    {	if (soap_envelope_begin_out(soap)
+             || soap_putheader(soap)
+             || soap_body_begin_out(soap)
+             || soap_put__cwmp__InformResponse(soap, &cwmp__InformResponse, "cwmp:InformResponse", "")
+             || soap_body_end_out(soap)
+             || soap_envelope_end_out(soap))
+            return soap->error;
+    };
+    if (soap_end_count(soap)
+        || soap_response(soap, SOAP_OK)
+        || soap_envelope_begin_out(soap)
+        || soap_putheader(soap)
+        || soap_body_begin_out(soap)
+        || soap_put__cwmp__InformResponse(soap, &cwmp__InformResponse, "cwmp:InformResponse", "")
+        || soap_body_end_out(soap)
+        || soap_envelope_end_out(soap)
+        || soap_end_send(soap))
+        return soap->error;
+    return soap_closesock(soap);
 }
 /* End of server object code */

+ 0 - 1
stdsoap2.cpp

@@ -20347,7 +20347,6 @@ int
 SOAP_FMAC2
 soap_begin_recv(struct soap *soap)
 {
-//    std::cerr<<"Recieved data Sassan2: "<<soap->buf<<std::endl;
   soap_wchar c;
   DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Initializing for input from socket=%d/fd=%d\n", (int)soap->socket, soap->recvfd));
   soap->error = SOAP_OK;