diff --git a/.gitignore b/.gitignore index 03536777..a938b4a0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,51 +1,61 @@ +dnp3test +!DNP3Test/ + +testset +!TestSet/ + +*.gcda +*.gcno *.iml -opendnp3.jar -JavaDNP3.h -JavaDNP3.cpp +*.la +*.lo +*.o +*.user +*~ +.*.swp +.DS_Store +.deps +.dirstamp .idea -/DNP3Java/target -/DNP3Java/src -/DNP.ncb -/DNP.suo +.libs Debug Release ipch -*.user -pc_cygwin + +/DNP3Java/.java-built +/DNP3Java/JavaDNP3.cpp +/DNP3Java/JavaDNP3.h +/DNP3Java/src +/DNP3Java/target +opendnp3.jar + /*/pc_linux_arm -/tools/install_scripts/boost/*/temp -/tools/boostlib /CSToCppXMLBinder/bin /CSToCppXMLBinder/obj /ConfigurationBuilder/*.cs /ConfigurationBuilder/*.xsx -/TestSet/*.xml -/DNP3Java/jar +/DNP.ncb +/DNP.suo /DNP3Java/JavaDNP3_wrap.* +/DNP3Java/jar +/DNP3Java/src +/DNP3Java/target +/TestSet/*.xml +/coverage-* +/doc /java +/lcov +/org /src -*.log +/tools/boostlib +/tools/install_scripts/boost/*/temp +Debug Linux_i686 +Release TestAPL/TestSingle.tiny.xml TestSingle.tiny.xml -/doc -/coverage-* -/lcov -/org -*~ -*.o -*.lo -.deps -.dirstamp -.libs -*.la -*.so -*.gcno -*.gcda -.*.swp -*.map -*.sdf -*.opensdf +ipch +pc_cygwin demo-master-cpp demo-slave-cpp @@ -55,27 +65,26 @@ __init__.pyc pyopendnp3.py pyopendnp3.pyc +/autom4te.cache +/build-aux /config/autotools/m4/libtool.m4 /config/autotools/m4/ltoptions.m4 /config/autotools/m4/ltsugar.m4 /config/autotools/m4/ltversion.m4 /config/autotools/m4/lt~obsolete.m4 - -/build-aux - /configure -configure.in -configure -Makefile.in Makefile -config.h -stamp-h1 +Makefile.in aclocal.m4 -/autom4te.cache +compile.log +config.h config.h.in +config.log config.status +configure +configure.in libtool +stamp-h1 *target* - diff --git a/APL/PhysicalLayerAsyncTCPClient.cpp b/APL/PhysicalLayerAsyncTCPClient.cpp deleted file mode 100644 index 1e4707d8..00000000 --- a/APL/PhysicalLayerAsyncTCPClient.cpp +++ /dev/null @@ -1,65 +0,0 @@ -// -// Licensed to Green Energy Corp (www.greenenergycorp.com) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. Green Enery Corp licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. -// - -#include "PhysicalLayerAsyncTCPClient.h" - -#include -#include -#include - -#include "Exception.h" -#include "IHandlerAsync.h" -#include "Logger.h" - -using namespace boost; -using namespace boost::asio; -using namespace std; - -namespace apl -{ - -PhysicalLayerAsyncTCPClient::PhysicalLayerAsyncTCPClient(Logger* apLogger, boost::asio::io_service* apIOService, const std::string& arAddress, boost::uint16_t aPort) : - PhysicalLayerAsyncBaseTCP(apLogger, apIOService), - mRemoteEndpoint(ip::tcp::v4(), aPort) -{ - mRemoteEndpoint.address( ResolveAddress(arAddress) ); -} - -/* Implement the actions */ -void PhysicalLayerAsyncTCPClient::DoOpen() -{ - mSocket.async_connect(mRemoteEndpoint, - boost::bind(&PhysicalLayerAsyncTCPClient::OnOpenCallback, - this, - boost::asio::placeholders::error)); -} - -void PhysicalLayerAsyncTCPClient::DoOpeningClose() -{ - this->CloseSocket(); -} - -void PhysicalLayerAsyncTCPClient::DoOpenSuccess() -{ - LOG_BLOCK(LEV_INFO, "Connected to: " << mRemoteEndpoint); -} - -} - -/* vim: set ts=4 sw=4: */ diff --git a/APL/PhysicalLayerFactory.cpp b/APL/PhysicalLayerFactory.cpp deleted file mode 100644 index effa0d8b..00000000 --- a/APL/PhysicalLayerFactory.cpp +++ /dev/null @@ -1,64 +0,0 @@ -// -// Licensed to Green Energy Corp (www.greenenergycorp.com) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. Green Enery Corp licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. -// - -#include "PhysicalLayerFactory.h" - -#include "PhysicalLayerAsyncSerial.h" -#include "PhysicalLayerAsyncTCPClient.h" -#include "PhysicalLayerAsyncTCPServer.h" - -#include "Log.h" - -#include -#include - -namespace apl -{ - -IPhysicalLayerAsyncFactory PhysicalLayerFactory :: GetSerialAsync(SerialSettings s) -{ - return boost::bind(&PhysicalLayerFactory::FGetSerialAsync, s, _2, _1); -} - -IPhysicalLayerAsyncFactory PhysicalLayerFactory :: GetTCPClientAsync(std::string aAddress, boost::uint16_t aPort) -{ - return boost::bind(&PhysicalLayerFactory::FGetTCPClientAsync, aAddress, aPort, _2, _1); -} - -IPhysicalLayerAsyncFactory PhysicalLayerFactory :: GetTCPServerAsync(std::string aEndpoint, boost::uint16_t aPort) -{ - return boost::bind(&PhysicalLayerFactory::FGetTCPServerAsync, aEndpoint, aPort, _2, _1); -} - -IPhysicalLayerAsync* PhysicalLayerFactory :: FGetSerialAsync(SerialSettings s, boost::asio::io_service* apSrv, Logger* apLogger) -{ - return new PhysicalLayerAsyncSerial(apLogger, apSrv, s); -} - -IPhysicalLayerAsync* PhysicalLayerFactory :: FGetTCPClientAsync(std::string aAddress, boost::uint16_t aPort, boost::asio::io_service* apSrv, Logger* apLogger) -{ - return new PhysicalLayerAsyncTCPClient(apLogger, apSrv, aAddress, aPort); -} - -IPhysicalLayerAsync* PhysicalLayerFactory :: FGetTCPServerAsync(std::string aEndpoint, boost::uint16_t aPort, boost::asio::io_service* apSrv, Logger* apLogger) -{ - return new PhysicalLayerAsyncTCPServer(apLogger, apSrv, aEndpoint, aPort); -} - -} diff --git a/APLTestTools/AsyncPhysTestObject.h b/APLTestTools/AsyncPhysTestObject.h index 4da8d62b..d460fb5a 100644 --- a/APLTestTools/AsyncPhysTestObject.h +++ b/APLTestTools/AsyncPhysTestObject.h @@ -22,9 +22,9 @@ #include #include -#include -#include -#include +#include +#include +#include #include namespace apl @@ -39,8 +39,8 @@ class AsyncPhysTestObject : public AsyncTestObjectASIO, public LogTester Logger* mpLogger; public: - PhysicalLayerAsyncTCPClient mTCPClient; - PhysicalLayerAsyncTCPServer mTCPServer; + PhysicalLayerAsyncTCPv4Client mTCPClient; + PhysicalLayerAsyncTCPv4Server mTCPServer; LowerLayerToPhysAdapter mClientAdapter; LowerLayerToPhysAdapter mServerAdapter; diff --git a/APLTestTools/AsyncTestObject.cpp b/APLTestTools/AsyncTestObject.cpp index c573460c..02767e36 100644 --- a/APLTestTools/AsyncTestObject.cpp +++ b/APLTestTools/AsyncTestObject.cpp @@ -19,7 +19,7 @@ #include "AsyncTestObject.h" -#include +#include #include diff --git a/APLTestTools/AsyncTestObjectASIO.cpp b/APLTestTools/AsyncTestObjectASIO.cpp index d9db6674..e9c491be 100644 --- a/APLTestTools/AsyncTestObjectASIO.cpp +++ b/APLTestTools/AsyncTestObjectASIO.cpp @@ -20,9 +20,9 @@ #include "AsyncTestObjectASIO.h" #include -#include -#include -#include +#include +#include +#include namespace apl { diff --git a/APLTestTools/BufferHelpers.cpp b/APLTestTools/BufferHelpers.cpp index 1708f766..8b2ef138 100644 --- a/APLTestTools/BufferHelpers.cpp +++ b/APLTestTools/BufferHelpers.cpp @@ -18,8 +18,8 @@ // #include "BufferHelpers.h" -#include -#include +#include +#include #include #include diff --git a/APLTestTools/BufferHelpers.h b/APLTestTools/BufferHelpers.h index 0ea790fb..95a88f8d 100644 --- a/APLTestTools/BufferHelpers.h +++ b/APLTestTools/BufferHelpers.h @@ -19,7 +19,7 @@ #ifndef __BUFFER_HELPERS_H_ #define __BUFFER_HELPERS_H_ -#include +#include #include namespace apl diff --git a/APLTestTools/BufferTestObject.cpp b/APLTestTools/BufferTestObject.cpp index 7b72e007..be000331 100644 --- a/APLTestTools/BufferTestObject.cpp +++ b/APLTestTools/BufferTestObject.cpp @@ -24,7 +24,7 @@ #include #include -#include +#include namespace apl { diff --git a/APLTestTools/BufferTestObject.h b/APLTestTools/BufferTestObject.h index 71aeda69..cb7318dc 100644 --- a/APLTestTools/BufferTestObject.h +++ b/APLTestTools/BufferTestObject.h @@ -19,7 +19,7 @@ #ifndef __BUFFER_TEST_OBJECT_H_ #define __BUFFER_TEST_OBJECT_H_ -#include +#include #include #include diff --git a/APLTestTools/FanoutDataObserver.h b/APLTestTools/FanoutDataObserver.h old mode 100755 new mode 100644 index 88dbcec3..e042c7ee --- a/APLTestTools/FanoutDataObserver.h +++ b/APLTestTools/FanoutDataObserver.h @@ -19,7 +19,7 @@ #ifndef __FANOUT_DATA_OBSERVER_H_ #define __FANOUT_DATA_OBSERVER_H_ -#include +#include #include namespace apl diff --git a/APLTestTools/LogTester.cpp b/APLTestTools/LogTester.cpp index 3e8aaf49..6ffd29f6 100644 --- a/APLTestTools/LogTester.cpp +++ b/APLTestTools/LogTester.cpp @@ -18,7 +18,7 @@ // #include "LogTester.h" -#include +#include namespace apl { diff --git a/APLTestTools/LogTester.h b/APLTestTools/LogTester.h index ad6f0889..24c95521 100644 --- a/APLTestTools/LogTester.h +++ b/APLTestTools/LogTester.h @@ -19,7 +19,7 @@ #ifndef __LOG_TESTER_H_ #define __LOG_TESTER_H_ -#include +#include namespace apl { diff --git a/APLTestTools/LoopbackPhysicalLayerAsync.cpp b/APLTestTools/LoopbackPhysicalLayerAsync.cpp index 90deaa9f..f131260a 100644 --- a/APLTestTools/LoopbackPhysicalLayerAsync.cpp +++ b/APLTestTools/LoopbackPhysicalLayerAsync.cpp @@ -21,7 +21,7 @@ #include #include -#include +#include using namespace boost; using namespace boost::system; diff --git a/APLTestTools/LoopbackPhysicalLayerAsync.h b/APLTestTools/LoopbackPhysicalLayerAsync.h index f0caa8ba..45a8a323 100644 --- a/APLTestTools/LoopbackPhysicalLayerAsync.h +++ b/APLTestTools/LoopbackPhysicalLayerAsync.h @@ -19,8 +19,8 @@ #ifndef __LOOP_BACK_PHYSICAL_LAYER_ASYNC_H_ #define __LOOP_BACK_PHYSICAL_LAYER_ASYNC_H_ -#include -#include +#include +#include #include diff --git a/APLTestTools/MockCommandAcceptor.h b/APLTestTools/MockCommandAcceptor.h index 04e315ba..4f6e8693 100644 --- a/APLTestTools/MockCommandAcceptor.h +++ b/APLTestTools/MockCommandAcceptor.h @@ -19,8 +19,8 @@ #ifndef __MOCK_COMMAND_ACCEPTOR_H_ #define __MOCK_COMMAND_ACCEPTOR_H_ -#include -#include +#include +#include #include namespace apl diff --git a/APLTestTools/MockCommandHandler.h b/APLTestTools/MockCommandHandler.h index 5baf931c..4bd63dfc 100644 --- a/APLTestTools/MockCommandHandler.h +++ b/APLTestTools/MockCommandHandler.h @@ -19,7 +19,7 @@ #ifndef __MOCK_COMMAND_HANDLER_H_ #define __MOCK_COMMAND_HANDLER_H_ -#include +#include namespace apl { diff --git a/APLTestTools/MockLogSubscriber.h b/APLTestTools/MockLogSubscriber.h old mode 100755 new mode 100644 index 9e5ae1ee..be0dff8e --- a/APLTestTools/MockLogSubscriber.h +++ b/APLTestTools/MockLogSubscriber.h @@ -19,7 +19,7 @@ #ifndef __MOCK_LOG_SUBSCRIBER_H_ #define __MOCK_LOG_SUBSCRIBER_H_ -#include +#include #include namespace apl diff --git a/APLTestTools/MockLowerLayer.h b/APLTestTools/MockLowerLayer.h index b7e155f7..17dd045b 100644 --- a/APLTestTools/MockLowerLayer.h +++ b/APLTestTools/MockLowerLayer.h @@ -19,7 +19,7 @@ #ifndef __MOCK_LOWER_LAYER_H_ #define __MOCK_LOWER_LAYER_H_ -#include +#include #include "BufferTestObject.h" diff --git a/APLTestTools/MockNodeSaver.h b/APLTestTools/MockNodeSaver.h index 3a4c9ca1..ace572d9 100644 --- a/APLTestTools/MockNodeSaver.h +++ b/APLTestTools/MockNodeSaver.h @@ -21,7 +21,7 @@ #ifndef _MOCK_NODE_SAVER_H_ #define _MOCK_NODE_SAVER_H_ -#include +#include namespace apl { diff --git a/APLTestTools/MockNotifier.h b/APLTestTools/MockNotifier.h index 62fc2a1a..6dc1c41b 100644 --- a/APLTestTools/MockNotifier.h +++ b/APLTestTools/MockNotifier.h @@ -19,7 +19,7 @@ #ifndef _MOCK_NOTIFIER_H_ #define _MOCK_NOTIFIER_H_ -#include +#include namespace apl { diff --git a/APLTestTools/MockPhysicalLayerAsync.cpp b/APLTestTools/MockPhysicalLayerAsync.cpp index 4c071339..d8c8d6b9 100644 --- a/APLTestTools/MockPhysicalLayerAsync.cpp +++ b/APLTestTools/MockPhysicalLayerAsync.cpp @@ -19,7 +19,7 @@ #include "MockPhysicalLayerAsync.h" #include "BufferHelpers.h" -#include +#include #include #include diff --git a/APLTestTools/MockPhysicalLayerAsync.h b/APLTestTools/MockPhysicalLayerAsync.h index 08294732..5bbf44c6 100644 --- a/APLTestTools/MockPhysicalLayerAsync.h +++ b/APLTestTools/MockPhysicalLayerAsync.h @@ -19,8 +19,8 @@ #ifndef __MOCK_PHYSICAL_LAYER_ASYNC_H_ #define __MOCK_PHYSICAL_LAYER_ASYNC_H_ -#include -#include +#include +#include #include "BufferTestObject.h" diff --git a/APLTestTools/MockPhysicalLayerAsyncTS.cpp b/APLTestTools/MockPhysicalLayerAsyncTS.cpp index 1bde8f04..53dad638 100644 --- a/APLTestTools/MockPhysicalLayerAsyncTS.cpp +++ b/APLTestTools/MockPhysicalLayerAsyncTS.cpp @@ -20,7 +20,7 @@ #include #include -#include +#include using namespace boost::system; diff --git a/APLTestTools/MockPhysicalLayerAsyncTS.h b/APLTestTools/MockPhysicalLayerAsyncTS.h index 15a38871..ed7aa371 100644 --- a/APLTestTools/MockPhysicalLayerAsyncTS.h +++ b/APLTestTools/MockPhysicalLayerAsyncTS.h @@ -19,9 +19,9 @@ #ifndef __MOCK_PHYSICAL_LAYER_ASYNC_TS_H_ #define __MOCK_PHYSICAL_LAYER_ASYNC_TS_H_ -#include -#include -#include +#include +#include +#include #include diff --git a/APLTestTools/MockPhysicalLayerMonitor.cpp b/APLTestTools/MockPhysicalLayerMonitor.cpp old mode 100755 new mode 100644 index 6080b879..bbd0ffc9 --- a/APLTestTools/MockPhysicalLayerMonitor.cpp +++ b/APLTestTools/MockPhysicalLayerMonitor.cpp @@ -19,10 +19,10 @@ #include -#include -#include -#include -#include +#include +#include +#include +#include #include #include diff --git a/APLTestTools/MockPhysicalLayerMonitor.h b/APLTestTools/MockPhysicalLayerMonitor.h old mode 100755 new mode 100644 index 65e93dfc..70a7f70b --- a/APLTestTools/MockPhysicalLayerMonitor.h +++ b/APLTestTools/MockPhysicalLayerMonitor.h @@ -17,8 +17,8 @@ #include -#include -#include +#include +#include #include diff --git a/APLTestTools/MockPhysicalLayerSource.cpp b/APLTestTools/MockPhysicalLayerSource.cpp index 1abab9cc..4c88789b 100644 --- a/APLTestTools/MockPhysicalLayerSource.cpp +++ b/APLTestTools/MockPhysicalLayerSource.cpp @@ -20,8 +20,8 @@ #include "MockPhysicalLayerSource.h" #include "MockPhysicalLayerAsync.h" -#include -#include +#include +#include namespace apl { diff --git a/APLTestTools/MockPhysicalLayerSource.h b/APLTestTools/MockPhysicalLayerSource.h index 93f6e38f..264a6d95 100644 --- a/APLTestTools/MockPhysicalLayerSource.h +++ b/APLTestTools/MockPhysicalLayerSource.h @@ -20,8 +20,8 @@ #ifndef __MOCK_PHYSICAL_LAYER_SOURCE_H_ #define __MOCK_PHYSICAL_LAYER_SOURCE_H_ -#include -#include +#include +#include #include diff --git a/APLTestTools/MockResponseAcceptor.h b/APLTestTools/MockResponseAcceptor.h index c199f038..123e456e 100644 --- a/APLTestTools/MockResponseAcceptor.h +++ b/APLTestTools/MockResponseAcceptor.h @@ -21,10 +21,10 @@ #include -#include -#include -#include -#include +#include +#include +#include +#include namespace apl { diff --git a/APLTestTools/MockTimerSource.h b/APLTestTools/MockTimerSource.h index fe7e6cf4..88746e70 100644 --- a/APLTestTools/MockTimerSource.h +++ b/APLTestTools/MockTimerSource.h @@ -20,7 +20,7 @@ #define __MOCK_TIMER_SOURCE_H_ -#include +#include #include #include diff --git a/APLTestTools/MockUpperLayer.cpp b/APLTestTools/MockUpperLayer.cpp index 5d7595f7..2cbfe21e 100644 --- a/APLTestTools/MockUpperLayer.cpp +++ b/APLTestTools/MockUpperLayer.cpp @@ -20,8 +20,8 @@ #include "BufferHelpers.h" -#include -#include +#include +#include #include namespace apl diff --git a/APLTestTools/MockUpperLayer.h b/APLTestTools/MockUpperLayer.h index ce06b0ee..12d1d5aa 100644 --- a/APLTestTools/MockUpperLayer.h +++ b/APLTestTools/MockUpperLayer.h @@ -19,7 +19,7 @@ #ifndef __MOCK_UPPER_LAYER_H_ #define __MOCK_UPPER_LAYER_H_ -#include +#include #include #include "BufferTestObject.h" diff --git a/APLTestTools/PhysicalLayerWrapper.cpp b/APLTestTools/PhysicalLayerWrapper.cpp index 37b061ce..92682d1d 100644 --- a/APLTestTools/PhysicalLayerWrapper.cpp +++ b/APLTestTools/PhysicalLayerWrapper.cpp @@ -18,7 +18,7 @@ // #include "PhysicalLayerWrapper.h" -#include +#include namespace apl { diff --git a/APLTestTools/PhysicalLayerWrapper.h b/APLTestTools/PhysicalLayerWrapper.h index 608c9cf6..9b3b52ed 100644 --- a/APLTestTools/PhysicalLayerWrapper.h +++ b/APLTestTools/PhysicalLayerWrapper.h @@ -19,11 +19,11 @@ #ifndef __PHYSICAL_LAYER_WRAPPER_H_ #define __PHYSICAL_LAYER_WRAPPER_H_ -#include -#include -#include +#include +#include +#include -#include +#include namespace apl { diff --git a/APLTestTools/PhysicalLayerWrapperFactory.h b/APLTestTools/PhysicalLayerWrapperFactory.h index 7082dad3..142a3958 100644 --- a/APLTestTools/PhysicalLayerWrapperFactory.h +++ b/APLTestTools/PhysicalLayerWrapperFactory.h @@ -19,13 +19,12 @@ #ifndef _PHYSICAL_LAYER_FACTORY_H_ #define _PHYSICAL_LAYER_FACTORY_H_ - -#include "SerialTypes.h" -#include "Exception.h" -#include "PhysicalLayerFunctors.h" -#include +#include +#include +#include #include +#include namespace apl { @@ -33,16 +32,20 @@ namespace apl class PhysicalLayerWrapperFactory { public: - static IPhysicalLayerAsyncFactory GetSerialAsync(SerialSettings s); - static IPhysicalLayerAsyncFactory GetTCPClientAsync(std::string aAddress, boost::uint16_t aPort); - static IPhysicalLayerAsyncFactory GetTCPServerAsync(std::string aEndpoint, boost::uint16_t aPort); + static IPhysicalLayerAsyncFactory GetTCPv4ClientAsync(std::string aAddress, boost::uint16_t aPort); + static IPhysicalLayerAsyncFactory GetTCPv4ServerAsync(std::string aEndpoint, boost::uint16_t aPort); + static IPhysicalLayerAsyncFactory GetTCPv6ClientAsync(std::string aAddress, boost::uint16_t aPort); + static IPhysicalLayerAsyncFactory GetTCPv6ServerAsync(std::string aEndpoint, boost::uint16_t aPort); //normal factory functions static IPhysicalLayerWrapper* FGetSerialAsync(SerialSettings s, boost::asio::io_service* apSrv, Logger* apLogger); - static IPhysicalLayerAsync* FGetTCPClientAsync(std::string aAddress, boost::uint16_t aPort, boost::asio::io_service* apSrv, Logger* apLogger); - static IPhysicalLayerAsync* FGetTCPServerAsync(std::string aEndpoint, boost::uint16_t aPort, boost::asio::io_service* apSrv, Logger* apLogger); + static IPhysicalLayerAsync* FGetTCPv4ClientAsync(std::string aAddress, boost::uint16_t aPort, boost::asio::io_service* apSrv, Logger* apLogger); + static IPhysicalLayerAsync* FGetTCPv4ServerAsync(std::string aEndpoint, boost::uint16_t aPort, boost::asio::io_service* apSrv, Logger* apLogger); + static IPhysicalLayerAsync* FGetTCPv6ClientAsync(std::string aAddress, boost::uint16_t aPort, boost::asio::io_service* apSrv, Logger* apLogger); + static IPhysicalLayerAsync* FGetTCPv6ServerAsync(std::string aEndpoint, boost::uint16_t aPort, boost::asio::io_service* apSrv, Logger* apLogger); }; + } #endif diff --git a/APLTestTools/TestTypedefs.h b/APLTestTools/TestTypedefs.h index 2f885289..7a87ffbe 100644 --- a/APLTestTools/TestTypedefs.h +++ b/APLTestTools/TestTypedefs.h @@ -19,7 +19,7 @@ #ifndef __TEST_TYPEDEFS_H_ #define __TEST_TYPEDEFS_H_ -#include +#include #include namespace apl diff --git a/APLTestTools/WrappedTcpPipe.cpp b/APLTestTools/WrappedTcpPipe.cpp old mode 100755 new mode 100644 index c32e9b9e..a9ef545e --- a/APLTestTools/WrappedTcpPipe.cpp +++ b/APLTestTools/WrappedTcpPipe.cpp @@ -1,6 +1,6 @@ #include "WrappedTcpPipe.h" -#include +#include namespace apl { diff --git a/APLTestTools/WrappedTcpPipe.h b/APLTestTools/WrappedTcpPipe.h old mode 100755 new mode 100644 index efc592c5..66be04aa --- a/APLTestTools/WrappedTcpPipe.h +++ b/APLTestTools/WrappedTcpPipe.h @@ -1,15 +1,15 @@ #ifndef __WRAPPED_TCP_PIPE_H_ #define __WRAPPED_TCP_PIPE_H_ -#include -#include +#include +#include #include "PhysicalLayerWrapper.h" -namespace boost { - namespace asio { - class io_service; - } +namespace boost { + namespace asio { + class io_service; + } } namespace apl @@ -20,10 +20,10 @@ class WrappedTcpPipe public: WrappedTcpPipe(Logger*, boost::asio::io_service*, boost::uint16_t aPort); - private: - PhysicalLayerAsyncTCPClient clientTcp; - PhysicalLayerAsyncTCPServer serverTcp; - + private: + PhysicalLayerAsyncTCPv4Client clientTcp; + PhysicalLayerAsyncTCPv4Server serverTcp; + public: PhysicalLayerWrapper client; PhysicalLayerWrapper server; diff --git a/APLXML/PhysicalLayerManagerXML.cpp b/APLXML/PhysicalLayerManagerXML.cpp index 74694186..89283315 100644 --- a/APLXML/PhysicalLayerManagerXML.cpp +++ b/APLXML/PhysicalLayerManagerXML.cpp @@ -22,7 +22,7 @@ #include "PhysicalLayerXMLFactory.h" #include "XMLConversion.h" -#include +#include namespace apl { @@ -50,8 +50,10 @@ PhysicalLayerManagerXML::PhysicalLayerManagerXML(Logger* apLogger, boost::asio:: void PhysicalLayerManagerXML :: AddList(const APLXML_Base::PhysicalLayerList_t* apList, FilterLevel aLevel) { AddStandalones(apList->SerialVector, aLevel); - AddStandalones(apList->TCPClientVector, aLevel); - AddStandalones(apList->TCPServerVector, aLevel); + AddStandalones(apList->TCPv4ClientVector, aLevel); + AddStandalones(apList->TCPv4ServerVector, aLevel); + AddStandalones(apList->TCPv6ClientVector, aLevel); + AddStandalones(apList->TCPv6ServerVector, aLevel); } // Created helper function to remove ugly loops. diff --git a/APLXML/PhysicalLayerManagerXML.h b/APLXML/PhysicalLayerManagerXML.h index e62acd95..5226938c 100644 --- a/APLXML/PhysicalLayerManagerXML.h +++ b/APLXML/PhysicalLayerManagerXML.h @@ -20,7 +20,7 @@ #define __PHYSICAL_LAYER_MANAGER_XML_ #include -#include +#include namespace APLXML_Base diff --git a/APLXML/PhysicalLayerXMLFactory.cpp b/APLXML/PhysicalLayerXMLFactory.cpp index 49c56ea6..4b3f49b1 100644 --- a/APLXML/PhysicalLayerXMLFactory.cpp +++ b/APLXML/PhysicalLayerXMLFactory.cpp @@ -20,7 +20,7 @@ #include "PhysicalLayerXMLFactory.h" -#include +#include #include namespace apl @@ -33,11 +33,17 @@ IPhysicalLayerAsyncFactory PhysicalLayerXMLFactory :: GetFactoryAsync(const APLX const APLXML_Base::Serial_t* pSerial = dynamic_cast(apCfg); if(pSerial != NULL) return GetAsync(pSerial); - const APLXML_Base::TCPServer_t* pServer = dynamic_cast(apCfg); - if(pServer != NULL) return GetAsync(pServer); + const APLXML_Base::TCPv4Server_t* pServerV4 = dynamic_cast(apCfg); + if(pServerV4 != NULL) return GetAsync(pServerV4); - const APLXML_Base::TCPClient_t* pClient = dynamic_cast(apCfg); - if(pClient != NULL) return GetAsync(pClient); + const APLXML_Base::TCPv4Client_t* pClientV4 = dynamic_cast(apCfg); + if(pClientV4 != NULL) return GetAsync(pClientV4); + + const APLXML_Base::TCPv6Server_t* pServerV6 = dynamic_cast(apCfg); + if(pServerV6 != NULL) return GetAsync(pServerV6); + + const APLXML_Base::TCPv6Client_t* pClientV6 = dynamic_cast(apCfg); + if(pClientV6 != NULL) return GetAsync(pClientV6); throw Exception(LOCATION, "Unknown PhysicalLayerDescriptor_t"); } @@ -48,16 +54,28 @@ IPhysicalLayerAsyncFactory PhysicalLayerXMLFactory :: GetAsync(const APLXML_Base return PhysicalLayerFactory::GetSerialAsync(s); } -IPhysicalLayerAsyncFactory PhysicalLayerXMLFactory :: GetAsync(const APLXML_Base::TCPClient_t* apCfg) +IPhysicalLayerAsyncFactory PhysicalLayerXMLFactory :: GetAsync(const APLXML_Base::TCPv4Client_t* apCfg) +{ + boost::uint16_t port = boost::numeric::converter::convert(apCfg->Port); + return PhysicalLayerFactory::GetTCPv4ClientAsync(apCfg->Address, port); +} + +IPhysicalLayerAsyncFactory PhysicalLayerXMLFactory :: GetAsync(const APLXML_Base::TCPv4Server_t* apCfg) +{ + boost::uint16_t port = boost::numeric::converter::convert(apCfg->Port); + return PhysicalLayerFactory::GetTCPv4ServerAsync(apCfg->Endpoint, port); +} + +IPhysicalLayerAsyncFactory PhysicalLayerXMLFactory :: GetAsync(const APLXML_Base::TCPv6Client_t* apCfg) { boost::uint16_t port = boost::numeric::converter::convert(apCfg->Port); - return PhysicalLayerFactory::GetTCPClientAsync(apCfg->Address, port); + return PhysicalLayerFactory::GetTCPv6ClientAsync(apCfg->Address, port); } -IPhysicalLayerAsyncFactory PhysicalLayerXMLFactory :: GetAsync(const APLXML_Base::TCPServer_t* apCfg) +IPhysicalLayerAsyncFactory PhysicalLayerXMLFactory :: GetAsync(const APLXML_Base::TCPv6Server_t* apCfg) { boost::uint16_t port = boost::numeric::converter::convert(apCfg->Port); - return PhysicalLayerFactory::GetTCPServerAsync(apCfg->Endpoint, port); + return PhysicalLayerFactory::GetTCPv6ServerAsync(apCfg->Endpoint, port); } SerialSettings GetSerialSettings(const APLXML_Base::Serial_t* apCfg) diff --git a/APLXML/PhysicalLayerXMLFactory.h b/APLXML/PhysicalLayerXMLFactory.h index 2d029985..e12b347e 100644 --- a/APLXML/PhysicalLayerXMLFactory.h +++ b/APLXML/PhysicalLayerXMLFactory.h @@ -20,8 +20,8 @@ #define __PHYSICAL_LAYER_XML_FACTORY_H_ #include -#include -#include +#include +#include namespace apl { @@ -37,8 +37,10 @@ class PhysicalLayerXMLFactory /* These factories should take the regular configuration types */ static IPhysicalLayerAsyncFactory GetAsync(const APLXML_Base::Serial_t* apCfg); - static IPhysicalLayerAsyncFactory GetAsync(const APLXML_Base::TCPClient_t* apCfg); - static IPhysicalLayerAsyncFactory GetAsync(const APLXML_Base::TCPServer_t* apCfg); + static IPhysicalLayerAsyncFactory GetAsync(const APLXML_Base::TCPv4Client_t* apCfg); + static IPhysicalLayerAsyncFactory GetAsync(const APLXML_Base::TCPv4Server_t* apCfg); + static IPhysicalLayerAsyncFactory GetAsync(const APLXML_Base::TCPv6Client_t* apCfg); + static IPhysicalLayerAsyncFactory GetAsync(const APLXML_Base::TCPv6Server_t* apCfg); }; int BaudToInt(APLXML_Base::BaudRateEnum aBaud); diff --git a/APLXML/SingleNodeSaver.h b/APLXML/SingleNodeSaver.h index 35ddcf18..3753d84e 100644 --- a/APLXML/SingleNodeSaver.h +++ b/APLXML/SingleNodeSaver.h @@ -24,7 +24,7 @@ #include "INodeSaver.h" #include "tinybinding.h" -#include +#include namespace apl { diff --git a/APLXML/XMLConversion.h b/APLXML/XMLConversion.h index 8d198841..28bdef40 100644 --- a/APLXML/XMLConversion.h +++ b/APLXML/XMLConversion.h @@ -19,7 +19,7 @@ #ifndef __XML_CONVERSION_H_ #define __XML_CONVERSION_H_ -#include +#include #include namespace apl diff --git a/APLXML/XML_APL.cpp b/APLXML/XML_APL.cpp index 0a3d24e9..21469762 100644 --- a/APLXML/XML_APL.cpp +++ b/APLXML/XML_APL.cpp @@ -23,25 +23,47 @@ namespace apl namespace xml { -APLXML_Base::TCPServer_t* XML_APL::AddTCPServer(APLXML_Base::PhysicalLayerList_t& arList, const std::string& arDevice, const std::string& arEndpoint, int aPort) +APLXML_Base::TCPv4Server_t* XML_APL::AddTCPv4Server(APLXML_Base::PhysicalLayerList_t& arList, const std::string& arDevice, const std::string& arEndpoint, int aPort) { - APLXML_Base::TCPServer_t* pLayer = new APLXML_Base::TCPServer_t(); + APLXML_Base::TCPv4Server_t* pLayer = new APLXML_Base::TCPv4Server_t(); pLayer->Name = arDevice; pLayer->Endpoint = arEndpoint; pLayer->Port = aPort; pLayer->OpenRetryMS = 5000; - arList.TCPServerVector.push_back(pLayer); + arList.TCPv4ServerVector.push_back(pLayer); return pLayer; } -APLXML_Base::TCPClient_t* XML_APL::AddTCPClient(APLXML_Base::PhysicalLayerList_t& arList, const std::string& arDevice, const std::string& arAddress, int aPort) +APLXML_Base::TCPv4Client_t* XML_APL::AddTCPv4Client(APLXML_Base::PhysicalLayerList_t& arList, const std::string& arDevice, const std::string& arAddress, int aPort) { - APLXML_Base::TCPClient_t* pLayer = new APLXML_Base::TCPClient_t(); + APLXML_Base::TCPv4Client_t* pLayer = new APLXML_Base::TCPv4Client_t(); pLayer->Name = arDevice; pLayer->Address = arAddress; pLayer->Port = aPort; pLayer->OpenRetryMS = 5000; - arList.TCPClientVector.push_back(pLayer); + arList.TCPv4ClientVector.push_back(pLayer); + return pLayer; +} + +APLXML_Base::TCPv6Server_t* XML_APL::AddTCPv6Server(APLXML_Base::PhysicalLayerList_t& arList, const std::string& arDevice, const std::string& arEndpoint, int aPort) +{ + APLXML_Base::TCPv6Server_t* pLayer = new APLXML_Base::TCPv6Server_t(); + pLayer->Name = arDevice; + pLayer->Endpoint = arEndpoint; + pLayer->Port = aPort; + pLayer->OpenRetryMS = 5000; + arList.TCPv6ServerVector.push_back(pLayer); + return pLayer; +} + +APLXML_Base::TCPv6Client_t* XML_APL::AddTCPv6Client(APLXML_Base::PhysicalLayerList_t& arList, const std::string& arDevice, const std::string& arAddress, int aPort) +{ + APLXML_Base::TCPv6Client_t* pLayer = new APLXML_Base::TCPv6Client_t(); + pLayer->Name = arDevice; + pLayer->Address = arAddress; + pLayer->Port = aPort; + pLayer->OpenRetryMS = 5000; + arList.TCPv6ClientVector.push_back(pLayer); return pLayer; } diff --git a/APLXML/XML_APL.h b/APLXML/XML_APL.h index 721edf29..6d6274e2 100644 --- a/APLXML/XML_APL.h +++ b/APLXML/XML_APL.h @@ -30,8 +30,10 @@ class XML_APL { public: - static APLXML_Base::TCPServer_t* AddTCPServer(APLXML_Base::PhysicalLayerList_t& arList, const std::string& arDevice, const std::string& arEndpoint, int aPort); - static APLXML_Base::TCPClient_t* AddTCPClient(APLXML_Base::PhysicalLayerList_t& arList, const std::string& arDevice, const std::string& arAdderss, int aPort); + static APLXML_Base::TCPv4Server_t* AddTCPv4Server(APLXML_Base::PhysicalLayerList_t& arList, const std::string& arDevice, const std::string& arEndpoint, int aPort); + static APLXML_Base::TCPv4Client_t* AddTCPv4Client(APLXML_Base::PhysicalLayerList_t& arList, const std::string& arDevice, const std::string& arAdderss, int aPort); + static APLXML_Base::TCPv6Server_t* AddTCPv6Server(APLXML_Base::PhysicalLayerList_t& arList, const std::string& arDevice, const std::string& arEndpoint, int aPort); + static APLXML_Base::TCPv6Client_t* AddTCPv6Client(APLXML_Base::PhysicalLayerList_t& arList, const std::string& arDevice, const std::string& arAdderss, int aPort); static APLXML_Base::Serial_t* AddSerial(APLXML_Base::PhysicalLayerList_t& arList, const std::string& arName, const std::string& arDevice); }; diff --git a/APLXML/tinybinding.h b/APLXML/tinybinding.h index 052a8ca3..3629072a 100644 --- a/APLXML/tinybinding.h +++ b/APLXML/tinybinding.h @@ -21,10 +21,10 @@ #include -#include -#include -#include -#include +#include +#include +#include +#include #include #include diff --git a/ConfigurationBuilder/APL.xsd b/ConfigurationBuilder/APL.xsd index fa6078b7..f6696c16 100755 --- a/ConfigurationBuilder/APL.xsd +++ b/ConfigurationBuilder/APL.xsd @@ -7,6 +7,8 @@ + + @@ -45,6 +47,28 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/DNP3/StackManager.cpp b/DNP3/StackManager.cpp deleted file mode 100644 index d9fcdf22..00000000 --- a/DNP3/StackManager.cpp +++ /dev/null @@ -1,100 +0,0 @@ -// -// Licensed to Green Energy Corp (www.greenenergycorp.com) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. Green Enery Corp licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. -// -#include "StackManager.h" - -#include -#include - -namespace apl -{ -namespace dnp -{ - -StackManager::StackManager() : - mpLog(new EventLog()), - mpImpl(new AsyncStackManager(mpLog->GetLogger(LEV_WARNING, "dnp"))) -{ - -} - -void StackManager::AddLogHook(ILogBase* apHook) -{ - mpLog->AddLogSubscriber(apHook); -} - -StackManager::~StackManager() -{ - delete mpImpl; - delete mpLog; -} - -//used for defining ports -void StackManager::AddTCPClient(const std::string& arName, PhysLayerSettings s, const std::string& arAddr, boost::uint16_t aPort) -{ - mpImpl->AddTCPClient(arName, s, arAddr, aPort); -} - -void StackManager::AddTCPServer(const std::string& arName, PhysLayerSettings s, const std::string& arEndpoint, boost::uint16_t aPort) -{ - mpImpl->AddTCPServer(arName, s, arEndpoint, aPort); -} - -void StackManager::AddSerial(const std::string& arName, PhysLayerSettings s, SerialSettings aSerial) -{ - mpImpl->AddSerial(arName, s, aSerial); -} - -ICommandAcceptor* StackManager::AddMaster(const std::string& arPortName, const std::string& arStackName, FilterLevel aLevel, - IDataObserver* apPublisher, const MasterStackConfig& arCfg) -{ - return mpImpl->AddMaster(arPortName, arStackName, aLevel, apPublisher, arCfg); -} - -IDataObserver* StackManager::AddSlave(const std::string& arPortName, const std::string& arStackName, FilterLevel aLevel, - ICommandAcceptor* apCmdAcceptor, const SlaveStackConfig& arCfg) -{ - return mpImpl->AddSlave(arPortName, arStackName, aLevel, apCmdAcceptor, arCfg); -} - - -void StackManager::Shutdown() -{ - mpImpl->Shutdown(); -} - -void StackManager::RemovePort(const std::string& arPortName) -{ - mpImpl->RemovePort(arPortName); -} -void StackManager::RemoveStack(const std::string& arStackName) -{ - mpImpl->RemoveStack(arStackName); -} -std::vector StackManager::GetStackNames() -{ - return mpImpl->GetStackNames(); -} -std::vector StackManager::GetPortNames() -{ - return mpImpl->GetPortNames(); -} - -} -} - diff --git a/DNP3/StackManager.h b/DNP3/StackManager.h deleted file mode 100644 index e8c8b677..00000000 --- a/DNP3/StackManager.h +++ /dev/null @@ -1,94 +0,0 @@ -// -// Licensed to Green Energy Corp (www.greenenergycorp.com) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. Green Enery Corp licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. -// -#ifndef __STACK_MANAGER_H_ -#define __STACK_MANAGER_H_ - -#include -#include -#include -#include -#include - -#include -#include - -#include - -namespace apl -{ -class EventLog; -class ILogBase; -} - -namespace apl -{ -namespace dnp -{ - -class AsyncStackManager; - -/** Wraps the AyncStackManger using the impl pattern. This makes it suiteable - for wrapping with swig or for creating a header-only distribution - The functions do the exact same thing as their impl counterparts - */ -class StackManager -{ -public: - StackManager(); - ~StackManager(); - - void AddTCPClient(const std::string& arName, PhysLayerSettings aPhys, const std::string& arAddr, boost::uint16_t aPort); - void AddTCPServer(const std::string& arName, PhysLayerSettings aPhys, const std::string& arEndpoint, boost::uint16_t aPort); - void AddSerial(const std::string& arName, PhysLayerSettings aPhys, SerialSettings aSerial); - - ICommandAcceptor* AddMaster(const std::string& arPortName, - const std::string& arStackName, - FilterLevel aLevel, - IDataObserver* apPublisher, - const MasterStackConfig& arCfg); - - IDataObserver* AddSlave(const std::string& arPortName, - const std::string& arStackName, - FilterLevel aLevel, - ICommandAcceptor* apCmdAcceptor, - const SlaveStackConfig& arCfg); - - void RemovePort(const std::string& arPortName); - - void RemoveStack(const std::string& arStackName); - - void AddLogHook(ILogBase*); - - std::vector GetStackNames(); - - std::vector GetPortNames(); - - - void Shutdown(); - -private: - EventLog* mpLog; - AsyncStackManager* mpImpl; -}; - -} -} - -#endif - diff --git a/DNP3Java/ExtractFromJAR.java b/DNP3Java/ExtractFromJAR.java old mode 100755 new mode 100644 diff --git a/DNP3Java/JavaDNP3.i b/DNP3Java/JavaDNP3.i old mode 100755 new mode 100644 index 564995d5..48b6265c --- a/DNP3Java/JavaDNP3.i +++ b/DNP3Java/JavaDNP3.i @@ -2,8 +2,8 @@ %{ /* Includes the header in the wrapper code */ -#include -#include +#include +#include using namespace apl; using namespace apl::dnp; @@ -19,60 +19,93 @@ using namespace apl::dnp; %include %include -%template(VectorOfString) std::vector; - %feature("director"); //generate directors for all classes that have virtual methods -%apply short { boost::uint8_t }; -%apply char { boost::int8_t }; -%apply int { boost::uint16_t }; -%apply short { boost::int16_t }; -%apply int { boost::int32_t }; +%apply short { boost::uint8_t }; +%apply char { boost::int8_t }; +%apply int { boost::uint16_t }; +%apply short { boost::int16_t }; %apply long long { boost::uint32_t }; -%apply long long { boost::int64_t }; +%apply int { boost::int32_t }; %apply long long { boost::uint64_t }; +%apply long long { boost::int64_t }; + +%template(VectorOfString) std::vector; + +namespace apl{ +%rename(boEqual) BinaryOutput::operator==(const BinaryOutput& arRHS) const; +%rename(stEqual) Setpoint::operator==(const Setpoint& arRHS) const; + +%rename(bdpEqual) BoolDataPoint::operator==(const BoolDataPoint& rhs); +%rename(tdpEqual) TypedDataPoint::operator==(const TypedDataPoint& rhs); + +%rename(get_binary) Binary::operator ValueType() const; +%rename(set_binary) Binary::operator=(ValueType aValue); + +%rename(get_controlstatus) ControlStatus::operator ValueType() const; +%rename(set_controlstatus) ControlStatus::operator=(ValueType aValue); -%include "APL/Types.h" -%include "APL/INotifier.h" -%include "APL/LogTypes.h" -%include "APL/LogEntry.h" -%include "APL/LogBase.h" -%include "APL/PhysicalLayerStates.h" -%include "APL/IPhysicalLayerObserver.h" -%include "APL/PhysLayerSettings.h" -%include "APL/SerialTypes.h" -%include "APL/QualityMasks.h" -%include "APL/CommandTypes.h" - -%include "APL/BaseDataTypes.h" +%rename(get_analog) Analog::operator ValueType() const; +%rename(set_analog) Analog::operator=(ValueType aValue); + +%rename(get_counter) Counter::operator ValueType() const; +%rename(set_counter) Counter::operator=(ValueType aValue); + +%rename(get_setpointstatus) SetpointStatus::operator ValueType() const; +%rename(set_setpointstatus) SetpointStatus::operator=(ValueType aValue); + +%rename(PhysLayerStateToString) operator<<(std::ostream& output, PhysicalLayerState aState); + +%ignore Transaction::Transaction(ITransactable* apTransactable); +} + +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include +%include + +%include %template(DoublePoint) apl::TypedDataPoint; %template(UnsignedPoint) apl::TypedDataPoint; -%include "APL/DataTypes.h" +%include + +%include +%include +%include -%include "APL/ITransactable.h" -%include "APL/DataInterfaces.h" -%include "APL/CommandInterfaces.h" +%include +%include +%template(VectorOfVtoRouterConfig) std::vector; +%include +%include -%include "DNP3/PointClass.h" -%include "DNP3/LinkConfig.h" -%include "DNP3/AppConfig.h" -%include "DNP3/MasterConfigTypes.h" -%include "DNP3/IStackObserver.h" -%include "DNP3/ClassMask.h" +%include +%include +%include +%include +%include +%include %template(VectorOfExceptionScan) std::vector; -%include "DNP3/MasterConfig.h" -%include "DNP3/SlaveConfig.h" +%include +%include -%include "DNP3/DeviceTemplateTypes.h" +%include %template(VectorOfEventPointRecord) std::vector; %template(VectorOfDeadbandPointRecord) std::vector; %template(VectorOfControlRecord) std::vector; %template(VectorOfPointRecord) std::vector; -%include "DNP3/DeviceTemplate.h" +%include -%include "DNP3/MasterStackConfig.h" -%include "DNP3/SlaveStackConfig.h" +%include +%include %include @@ -90,5 +123,5 @@ using namespace apl::dnp; } -%include "DNP3/StackManager.h" +%include diff --git a/DNP3Java/TestBinding.java b/DNP3Java/TestBinding.java old mode 100755 new mode 100644 diff --git a/DNP3Java/src/test/scala/DNP3BindingTest.scala b/DNP3Java/src/test/scala/DNP3BindingTest.scala index 3ce5f4c4..af7efbf4 100644 --- a/DNP3Java/src/test/scala/DNP3BindingTest.scala +++ b/DNP3Java/src/test/scala/DNP3BindingTest.scala @@ -83,7 +83,7 @@ class DNP3BindingTest extends FunSuite with ShouldMatchers { (1 to num_port).foreach { port => val s = new PhysLayerSettings(FilterLevel.LEV_WARNING, 1000) - sm.AddTCPClient(port.toString, s, "127.0.0.1", startPort) + sm.AddTCPv4Client(port.toString, s, "127.0.0.1", startPort) (1 to num_stack).foreach { stack => val name = "port-" + port + "-stack" + stack @@ -128,8 +128,8 @@ class DNP3BindingTest extends FunSuite with ShouldMatchers { (port_start to port_end).foreach { port => val client = "client-" + port val server = "server-" + port - sm.AddTCPClient(client, s, "127.0.0.1", port) - sm.AddTCPServer(server, s, "0.0.0.0", port) + sm.AddTCPv4Client(client, s, "127.0.0.1", port) + sm.AddTCPv4Server(server, s, "0.0.0.0", port) master.getMaster.setMpObserver(stateObserver.getObserver(server)) names ::= server diff --git a/DNP3Test/AppLayerTest.h b/DNP3Test/AppLayerTest.h index cc5969cc..2a2c2e94 100644 --- a/DNP3Test/AppLayerTest.h +++ b/DNP3Test/AppLayerTest.h @@ -21,7 +21,7 @@ #define __APP_LAYER_TEST_H_ #include -#include +#include #include #include diff --git a/DNP3Test/ComparingDataObserver.cpp b/DNP3Test/ComparingDataObserver.cpp old mode 100755 new mode 100644 diff --git a/DNP3Test/ComparingDataObserver.h b/DNP3Test/ComparingDataObserver.h old mode 100755 new mode 100644 index a0e7c3f8..8f267cf3 --- a/DNP3Test/ComparingDataObserver.h +++ b/DNP3Test/ComparingDataObserver.h @@ -19,11 +19,11 @@ #ifndef __COMPARING_DATA_OBSERVER_H_ #define __COMPARING_DATA_OBSERVER_H_ -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include #include diff --git a/DNP3Test/DNPHelpers.cpp b/DNP3Test/DNPHelpers.cpp index efab27f9..e2e3985c 100644 --- a/DNP3Test/DNPHelpers.cpp +++ b/DNP3Test/DNPHelpers.cpp @@ -20,10 +20,10 @@ #include -#include -#include +#include +#include #include -#include +#include using namespace apl; using namespace apl::dnp; diff --git a/DNP3Test/DatabaseTestObject.h b/DNP3Test/DatabaseTestObject.h index b0b8e60a..a3409972 100644 --- a/DNP3Test/DatabaseTestObject.h +++ b/DNP3Test/DatabaseTestObject.h @@ -20,8 +20,8 @@ #define __DATABASE_TEST_OBJECT_H_ #include -#include -#include +#include +#include namespace apl { diff --git a/DNP3Test/IntegrationTest.cpp b/DNP3Test/IntegrationTest.cpp index 58e0fcad..8ca61ee8 100644 --- a/DNP3Test/IntegrationTest.cpp +++ b/DNP3Test/IntegrationTest.cpp @@ -21,16 +21,16 @@ #include -#include -#include +#include +#include #include -#include -#include +#include +#include -#include -#include +#include +#include #include #include @@ -160,8 +160,8 @@ void IntegrationTest::AddStackPair(FilterLevel aLevel, size_t aNumPoints) mMasterObservers.push_back(pMasterFDO); PhysLayerSettings s(aLevel, 1000); - this->mManager.AddTCPClient(client, s, "127.0.0.1", port); - this->mManager.AddTCPServer(server, s, "127.0.0.1", port); + this->mManager.AddTCPv4Client(client, s, "127.0.0.1", port); + this->mManager.AddTCPv4Server(server, s, "127.0.0.1", port); /* * Add a Master instance. The code is wrapped in braces so that we can diff --git a/DNP3Test/IntegrationTest.h b/DNP3Test/IntegrationTest.h index 3dfbc8a0..12d50e10 100644 --- a/DNP3Test/IntegrationTest.h +++ b/DNP3Test/IntegrationTest.h @@ -23,12 +23,12 @@ #include #include #include -#include +#include -#include -#include +#include +#include -#include +#include #include "ComparingDataObserver.h" diff --git a/DNP3Test/LinkLayerRouterTest.h b/DNP3Test/LinkLayerRouterTest.h index d69e4282..f7307c5c 100644 --- a/DNP3Test/LinkLayerRouterTest.h +++ b/DNP3Test/LinkLayerRouterTest.h @@ -24,7 +24,7 @@ #include #include -#include +#include namespace apl diff --git a/DNP3Test/LinkLayerTest.h b/DNP3Test/LinkLayerTest.h index b9bc52f4..459905ad 100644 --- a/DNP3Test/LinkLayerTest.h +++ b/DNP3Test/LinkLayerTest.h @@ -23,8 +23,8 @@ #include #include -#include -#include +#include +#include namespace apl { diff --git a/DNP3Test/LinkReceiverTest.h b/DNP3Test/LinkReceiverTest.h index ebf76f11..04c20d78 100644 --- a/DNP3Test/LinkReceiverTest.h +++ b/DNP3Test/LinkReceiverTest.h @@ -19,7 +19,7 @@ #ifndef __LINK_RECEIVER_TEST_H_ #define __LINK_RECEIVER_TEST_H_ -#include +#include #include #include #include "MockFrameSink.h" diff --git a/DNP3Test/MasterTestObject.cpp b/DNP3Test/MasterTestObject.cpp index 15524280..6a19c7b8 100644 --- a/DNP3Test/MasterTestObject.cpp +++ b/DNP3Test/MasterTestObject.cpp @@ -20,7 +20,7 @@ #include #include -#include +#include using namespace std; diff --git a/DNP3Test/MasterTestObject.h b/DNP3Test/MasterTestObject.h index da08e755..9729af73 100644 --- a/DNP3Test/MasterTestObject.h +++ b/DNP3Test/MasterTestObject.h @@ -20,10 +20,10 @@ #define __MASTER_TEST_OBJECT_H_ #include -#include -#include +#include +#include #include -#include +#include #include "MockAppLayer.h" diff --git a/DNP3Test/MockAppLayer.cpp b/DNP3Test/MockAppLayer.cpp index 95d16c91..87cc7049 100644 --- a/DNP3Test/MockAppLayer.cpp +++ b/DNP3Test/MockAppLayer.cpp @@ -19,8 +19,8 @@ #include "MockAppLayer.h" #include -#include -#include +#include +#include namespace apl diff --git a/DNP3Test/MockAppLayer.h b/DNP3Test/MockAppLayer.h index 1798ebd2..d88102ce 100644 --- a/DNP3Test/MockAppLayer.h +++ b/DNP3Test/MockAppLayer.h @@ -20,10 +20,10 @@ #define __MOCK_APP_LAYER_H_ -#include -#include -#include -#include +#include +#include +#include +#include #include namespace apl diff --git a/DNP3Test/MockAppUser.h b/DNP3Test/MockAppUser.h index 22810c67..5f89ccf4 100644 --- a/DNP3Test/MockAppUser.h +++ b/DNP3Test/MockAppUser.h @@ -19,7 +19,7 @@ #ifndef __MOCK_APP_USER_H_ #define __MOCK_APP_USER_H_ -#include +#include #include diff --git a/DNP3Test/MockFrameSink.h b/DNP3Test/MockFrameSink.h index 402159b9..4862348c 100644 --- a/DNP3Test/MockFrameSink.h +++ b/DNP3Test/MockFrameSink.h @@ -19,8 +19,8 @@ #ifndef __MOCK_FRAME_SINK_H_ #define __MOCK_FRAME_SINK_H_ -#include -#include +#include +#include #include #include #include diff --git a/DNP3Test/QueueingStackObserver.h b/DNP3Test/QueueingStackObserver.h index 846cadea..d2a174ed 100644 --- a/DNP3Test/QueueingStackObserver.h +++ b/DNP3Test/QueueingStackObserver.h @@ -19,7 +19,7 @@ #ifndef __QUEUEING_STACK_OBSERVER_H_ #define __QUEUEING_STACK_OBSERVER_H_ -#include +#include #include namespace apl diff --git a/DNP3Test/ReadableVtoWriter.h b/DNP3Test/ReadableVtoWriter.h old mode 100755 new mode 100644 index 92b88c39..c00ccd4c --- a/DNP3Test/ReadableVtoWriter.h +++ b/DNP3Test/ReadableVtoWriter.h @@ -18,8 +18,8 @@ #ifndef __READABLE_VTO_WRITER_H_ #define __READABLE_VTO_WRITER_H_ -#include -#include +#include +#include namespace apl { diff --git a/DNP3Test/ResponseLoaderTestObject.cpp b/DNP3Test/ResponseLoaderTestObject.cpp index 5c0d4ae7..3a06664e 100644 --- a/DNP3Test/ResponseLoaderTestObject.cpp +++ b/DNP3Test/ResponseLoaderTestObject.cpp @@ -19,8 +19,8 @@ #include "ResponseLoaderTestObject.h" #include -#include -#include +#include +#include #include #include diff --git a/DNP3Test/ResponseLoaderTestObject.h b/DNP3Test/ResponseLoaderTestObject.h index 9a59b04a..f32b491d 100644 --- a/DNP3Test/ResponseLoaderTestObject.h +++ b/DNP3Test/ResponseLoaderTestObject.h @@ -19,10 +19,10 @@ #ifndef __RESPONSE_LOADER_TEST_OBJECT_H_ #define __RESPONSE_LOADER_TEST_OBJECT_H_ -#include -#include +#include +#include -#include +#include namespace apl { diff --git a/DNP3Test/SlaveTestObject.cpp b/DNP3Test/SlaveTestObject.cpp index e0648c2b..5f6224bd 100644 --- a/DNP3Test/SlaveTestObject.cpp +++ b/DNP3Test/SlaveTestObject.cpp @@ -19,7 +19,7 @@ #include "SlaveTestObject.h" #include -#include +#include namespace apl diff --git a/DNP3Test/SlaveTestObject.h b/DNP3Test/SlaveTestObject.h index bd2fffe8..8ee5ef51 100644 --- a/DNP3Test/SlaveTestObject.h +++ b/DNP3Test/SlaveTestObject.h @@ -20,13 +20,13 @@ #define __SLAVE_TEST_OBJECT_H_ #include -#include +#include #include #include -#include -#include -#include -#include +#include +#include +#include +#include #include "MockAppLayer.h" diff --git a/DNP3Test/StartupTeardownTest.cpp b/DNP3Test/StartupTeardownTest.cpp index 4fe56866..cce9fc86 100644 --- a/DNP3Test/StartupTeardownTest.cpp +++ b/DNP3Test/StartupTeardownTest.cpp @@ -19,9 +19,9 @@ #include "StartupTeardownTest.h" -#include -#include -#include +#include +#include +#include #include #include @@ -40,7 +40,7 @@ void StartupTeardownTest::CreatePort(const std::string& arName, FilterLevel aLev { std::string name = arName + " router"; PhysLayerSettings s(aLevel, 1000); - manager.AddTCPClient(arName, s, "127.0.0.1", 30000); + manager.AddTCPv4Client(arName, s, "127.0.0.1", 30000); } void StartupTeardownTest::AddMaster(const std::string& arStackName, const std::string& arPortName, boost::uint16_t aLocalAddress, FilterLevel aLevel) diff --git a/DNP3Test/StartupTeardownTest.h b/DNP3Test/StartupTeardownTest.h index 7da6a4d0..9a0799cf 100644 --- a/DNP3Test/StartupTeardownTest.h +++ b/DNP3Test/StartupTeardownTest.h @@ -19,9 +19,9 @@ #ifndef __STARTUP_TEARDOWN_TEST_H_ #define __STARTUP_TEARDOWN_TEST_H_ -#include -#include -#include +#include +#include +#include namespace boost diff --git a/DNP3Test/TestAPDU.cpp b/DNP3Test/TestAPDU.cpp index 9021a0f9..f7c76617 100644 --- a/DNP3Test/TestAPDU.cpp +++ b/DNP3Test/TestAPDU.cpp @@ -19,12 +19,12 @@ #include #include -#include -#include -#include +#include +#include +#include -#include -#include +#include +#include #include #include @@ -85,7 +85,7 @@ BOOST_AUTO_TEST_CASE(FunctionCodeToStringNamesAreUnique) }; set strings; - for(int i = 0; i < NUM_CODES; ++i) { + for (size_t i = 0; i < NUM_CODES; ++i) { FunctionCodes code = static_cast(codes[i]); string text = ToString(code); if(strings.find(text) != strings.end()) { @@ -130,7 +130,8 @@ BOOST_AUTO_TEST_CASE(ClassPollRequest) bool except = false; try { - IINField f = frag.GetIIN(); + //IINField f = frag.GetIIN(); + frag.GetIIN(); } catch(Exception) { except = true; @@ -305,7 +306,8 @@ BOOST_AUTO_TEST_CASE(ClearIIN) frag.Write(hs, hs.Size()); frag.Interpret(); - AppControlField control = frag.GetControl(); + //AppControlField control = frag.GetControl(); + frag.GetControl(); BOOST_REQUIRE_EQUAL(frag.GetFunction(), FC_WRITE); diff --git a/DNP3Test/TestAPDUWriting.cpp b/DNP3Test/TestAPDUWriting.cpp index 8a6e9d6b..2472e906 100644 --- a/DNP3Test/TestAPDUWriting.cpp +++ b/DNP3Test/TestAPDUWriting.cpp @@ -19,15 +19,15 @@ #include #include -#include -#include -#include -#include - -#include -#include -#include -#include +#include +#include +#include +#include + +#include +#include +#include +#include #include #include diff --git a/DNP3Test/TestAppLayer.cpp b/DNP3Test/TestAppLayer.cpp index 6fb9c4a1..0c9e5386 100644 --- a/DNP3Test/TestAppLayer.cpp +++ b/DNP3Test/TestAppLayer.cpp @@ -18,7 +18,7 @@ // #include -#include +#include #include #include diff --git a/DNP3Test/TestCRC.cpp b/DNP3Test/TestCRC.cpp index c5e25035..755c2105 100644 --- a/DNP3Test/TestCRC.cpp +++ b/DNP3Test/TestCRC.cpp @@ -20,7 +20,7 @@ #include #include -#include +#include #include #include diff --git a/DNP3Test/TestEnhancedVtoRouter.cpp b/DNP3Test/TestEnhancedVtoRouter.cpp index 267e8a8a..b30ba9c4 100644 --- a/DNP3Test/TestEnhancedVtoRouter.cpp +++ b/DNP3Test/TestEnhancedVtoRouter.cpp @@ -19,8 +19,8 @@ #include -#include -#include +#include +#include #include #include @@ -28,10 +28,10 @@ #include #include -#include -#include -#include -#include +#include +#include +#include +#include using namespace std; using namespace apl; diff --git a/DNP3Test/TestEventBufferBase.cpp b/DNP3Test/TestEventBufferBase.cpp index ad2cd173..af46b64e 100644 --- a/DNP3Test/TestEventBufferBase.cpp +++ b/DNP3Test/TestEventBufferBase.cpp @@ -19,7 +19,7 @@ #include #include -#include +#include #include #include diff --git a/DNP3Test/TestEventBuffers.cpp b/DNP3Test/TestEventBuffers.cpp index cb671d08..547bfc26 100644 --- a/DNP3Test/TestEventBuffers.cpp +++ b/DNP3Test/TestEventBuffers.cpp @@ -19,9 +19,9 @@ #include #include -#include -#include -#include +#include +#include +#include #include #include diff --git a/DNP3Test/TestIntegration.cpp b/DNP3Test/TestIntegration.cpp index 2d0d0e88..552b05f4 100644 --- a/DNP3Test/TestIntegration.cpp +++ b/DNP3Test/TestIntegration.cpp @@ -18,8 +18,8 @@ #include #include -#include -#include +#include +#include #include diff --git a/DNP3Test/TestLinkFrameDNP.cpp b/DNP3Test/TestLinkFrameDNP.cpp index ed958ddc..5e41d0f7 100644 --- a/DNP3Test/TestLinkFrameDNP.cpp +++ b/DNP3Test/TestLinkFrameDNP.cpp @@ -19,8 +19,8 @@ #include #include -#include -#include +#include +#include #include #include "DNPHelpers.h" diff --git a/DNP3Test/TestLinkLayer.cpp b/DNP3Test/TestLinkLayer.cpp index aee1ac70..d228ae85 100644 --- a/DNP3Test/TestLinkLayer.cpp +++ b/DNP3Test/TestLinkLayer.cpp @@ -19,8 +19,8 @@ #include #include -#include -#include +#include +#include #include #include "LinkLayerTest.h" diff --git a/DNP3Test/TestLinkLayerRouter.cpp b/DNP3Test/TestLinkLayerRouter.cpp index 9085cc85..8279215e 100644 --- a/DNP3Test/TestLinkLayerRouter.cpp +++ b/DNP3Test/TestLinkLayerRouter.cpp @@ -20,10 +20,10 @@ #include #include -#include -#include +#include +#include -#include +#include #include "LinkLayerRouterTest.h" #include "MockFrameSink.h" diff --git a/DNP3Test/TestLinkRoute.cpp b/DNP3Test/TestLinkRoute.cpp index d01fc603..a1c0eaf5 100644 --- a/DNP3Test/TestLinkRoute.cpp +++ b/DNP3Test/TestLinkRoute.cpp @@ -18,7 +18,7 @@ // #include -#include +#include #include #include diff --git a/DNP3Test/TestMaster.cpp b/DNP3Test/TestMaster.cpp index 182df3c8..5120a7d4 100644 --- a/DNP3Test/TestMaster.cpp +++ b/DNP3Test/TestMaster.cpp @@ -20,8 +20,8 @@ #include -#include -#include +#include +#include #include "MasterTestObject.h" #include "QueueingStackObserver.h" diff --git a/DNP3Test/TestObjects.cpp b/DNP3Test/TestObjects.cpp index f2010f21..f6fb74c1 100644 --- a/DNP3Test/TestObjects.cpp +++ b/DNP3Test/TestObjects.cpp @@ -19,7 +19,7 @@ #include #include -#include +#include using namespace apl; using namespace std; diff --git a/DNP3Test/TestSlave.cpp b/DNP3Test/TestSlave.cpp index 58ca6f8e..c27d679b 100644 --- a/DNP3Test/TestSlave.cpp +++ b/DNP3Test/TestSlave.cpp @@ -23,10 +23,10 @@ #include "SlaveTestObject.h" -#include -#include -#include -#include +#include +#include +#include +#include using namespace std; using namespace apl; diff --git a/DNP3Test/TestSlaveEventBuffer.cpp b/DNP3Test/TestSlaveEventBuffer.cpp index 8ad1afdc..e1f9a907 100644 --- a/DNP3Test/TestSlaveEventBuffer.cpp +++ b/DNP3Test/TestSlaveEventBuffer.cpp @@ -19,10 +19,10 @@ #include #include -#include -#include -#include -#include +#include +#include +#include +#include #include using namespace std; diff --git a/DNP3Test/TestStackManager.cpp b/DNP3Test/TestStackManager.cpp old mode 100755 new mode 100644 index 77a124ba..4980b15d --- a/DNP3Test/TestStackManager.cpp +++ b/DNP3Test/TestStackManager.cpp @@ -18,7 +18,7 @@ #include #include -#include +#include using namespace apl; using namespace apl::dnp; @@ -29,17 +29,17 @@ BOOST_AUTO_TEST_SUITE(StackManagerTestSuite) BOOST_AUTO_TEST_CASE(RemovePortWorksAfterAdd) { StackManager sm; - sm.AddTCPClient("client",PhysLayerSettings(), "127.0.0.1", 20000); + sm.AddTCPv4Client("client",PhysLayerSettings(), "127.0.0.1", 20000); sm.RemovePort("client"); } BOOST_AUTO_TEST_CASE(AddRemoveMultipleTimes) { StackManager sm; - sm.AddTCPClient("client", PhysLayerSettings(), "127.0.0.1", 20000); + sm.AddTCPv4Client("client", PhysLayerSettings(), "127.0.0.1", 20000); sm.AddMaster("client", "master", apl::LEV_WARNING, NULL, MasterStackConfig()); sm.RemovePort("client"); - sm.AddTCPClient("client", PhysLayerSettings(), "127.0.0.1", 20000); + sm.AddTCPv4Client("client", PhysLayerSettings(), "127.0.0.1", 20000); sm.AddMaster("client", "master", apl::LEV_WARNING, NULL, MasterStackConfig()); } diff --git a/DNP3Test/TestTransportLayer.cpp b/DNP3Test/TestTransportLayer.cpp index 77e42f83..b6baef78 100644 --- a/DNP3Test/TestTransportLayer.cpp +++ b/DNP3Test/TestTransportLayer.cpp @@ -20,11 +20,11 @@ #include #include "TransportTestObject.h" -#include +#include -#include -#include -#include +#include +#include +#include #include diff --git a/DNP3Test/TestTransportLoopback.cpp b/DNP3Test/TestTransportLoopback.cpp index ede0e640..8cc466ce 100644 --- a/DNP3Test/TestTransportLoopback.cpp +++ b/DNP3Test/TestTransportLoopback.cpp @@ -23,14 +23,14 @@ #include #include -#include +#include #include -#include -#include +#include +#include #include #include -#include +#include using namespace std; using namespace apl; diff --git a/DNP3Test/TestTransportScalability.cpp b/DNP3Test/TestTransportScalability.cpp index fb5d3d7e..286c1530 100644 --- a/DNP3Test/TestTransportScalability.cpp +++ b/DNP3Test/TestTransportScalability.cpp @@ -24,8 +24,8 @@ #include #include -#include -#include +#include +#include #include diff --git a/DNP3Test/TestVtoInterface.cpp b/DNP3Test/TestVtoInterface.cpp index 52792ef1..6579449c 100644 --- a/DNP3Test/TestVtoInterface.cpp +++ b/DNP3Test/TestVtoInterface.cpp @@ -19,20 +19,20 @@ #include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include #include #include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include using namespace std; using namespace apl; diff --git a/DNP3Test/TestVtoLoopbackIntegration.cpp b/DNP3Test/TestVtoLoopbackIntegration.cpp index 389193fd..8c194f2f 100644 --- a/DNP3Test/TestVtoLoopbackIntegration.cpp +++ b/DNP3Test/TestVtoLoopbackIntegration.cpp @@ -17,8 +17,8 @@ #include -#include -#include +#include +#include #include diff --git a/DNP3Test/TestVtoOnewayIntegration.cpp b/DNP3Test/TestVtoOnewayIntegration.cpp old mode 100755 new mode 100644 index 0c34942d..60176d1c --- a/DNP3Test/TestVtoOnewayIntegration.cpp +++ b/DNP3Test/TestVtoOnewayIntegration.cpp @@ -18,7 +18,7 @@ #include -#include +#include #include #include "VtoIntegrationTestBase.h" diff --git a/DNP3Test/TestVtoRouter.cpp b/DNP3Test/TestVtoRouter.cpp index 6fe7cfc7..8c37ac5f 100644 --- a/DNP3Test/TestVtoRouter.cpp +++ b/DNP3Test/TestVtoRouter.cpp @@ -19,16 +19,16 @@ #include -#include -#include +#include +#include #include #include #include #include -#include -#include +#include +#include #include "ReadableVtoWriter.h" diff --git a/DNP3Test/TestVtoRouterManager.cpp b/DNP3Test/TestVtoRouterManager.cpp index e5e045aa..220bb808 100644 --- a/DNP3Test/TestVtoRouterManager.cpp +++ b/DNP3Test/TestVtoRouterManager.cpp @@ -17,13 +17,13 @@ #include -#include -#include -#include +#include +#include +#include -#include -#include -#include +#include +#include +#include #include #include diff --git a/DNP3Test/TestVtoWriter.cpp b/DNP3Test/TestVtoWriter.cpp old mode 100755 new mode 100644 index 018a2239..02898df8 --- a/DNP3Test/TestVtoWriter.cpp +++ b/DNP3Test/TestVtoWriter.cpp @@ -18,9 +18,9 @@ // #include -#include -#include -#include +#include +#include +#include using namespace std; using namespace apl; diff --git a/DNP3Test/TransportIntegrationStack.cpp b/DNP3Test/TransportIntegrationStack.cpp index 50cf811b..39471610 100644 --- a/DNP3Test/TransportIntegrationStack.cpp +++ b/DNP3Test/TransportIntegrationStack.cpp @@ -18,7 +18,7 @@ // #include "TransportIntegrationStack.h" -#include +#include namespace apl { diff --git a/DNP3Test/TransportIntegrationStack.h b/DNP3Test/TransportIntegrationStack.h index b091cf02..25be1bce 100644 --- a/DNP3Test/TransportIntegrationStack.h +++ b/DNP3Test/TransportIntegrationStack.h @@ -19,9 +19,9 @@ #ifndef __TRANSPORT_INTEGRATION_STACK_H_ #define __TRANSPORT_INTEGRATION_STACK_H_ -#include -#include -#include +#include +#include +#include #include diff --git a/DNP3Test/TransportLoopbackTestObject.cpp b/DNP3Test/TransportLoopbackTestObject.cpp index 15c43657..7ce75aa7 100644 --- a/DNP3Test/TransportLoopbackTestObject.cpp +++ b/DNP3Test/TransportLoopbackTestObject.cpp @@ -18,7 +18,7 @@ // #include "TransportLoopbackTestObject.h" -#include +#include #include #include diff --git a/DNP3Test/TransportLoopbackTestObject.h b/DNP3Test/TransportLoopbackTestObject.h index 629c19e4..1a286c5c 100644 --- a/DNP3Test/TransportLoopbackTestObject.h +++ b/DNP3Test/TransportLoopbackTestObject.h @@ -21,13 +21,13 @@ #include -#include +#include #include #include -#include -#include -#include +#include +#include +#include namespace apl { diff --git a/DNP3Test/TransportScalabilityTestObject.h b/DNP3Test/TransportScalabilityTestObject.h index f4c57f9d..d67d5b67 100644 --- a/DNP3Test/TransportScalabilityTestObject.h +++ b/DNP3Test/TransportScalabilityTestObject.h @@ -22,7 +22,7 @@ #include "TransportStackPair.h" #include -#include +#include #include namespace apl diff --git a/DNP3Test/TransportStackPair.cpp b/DNP3Test/TransportStackPair.cpp index ec4ccfce..cc435c84 100644 --- a/DNP3Test/TransportStackPair.cpp +++ b/DNP3Test/TransportStackPair.cpp @@ -21,7 +21,7 @@ #include -#include +#include namespace apl { diff --git a/DNP3Test/TransportStackPair.h b/DNP3Test/TransportStackPair.h index 78e9ca23..b8be4034 100644 --- a/DNP3Test/TransportStackPair.h +++ b/DNP3Test/TransportStackPair.h @@ -28,9 +28,9 @@ class io_service; } -#include -#include -#include +#include +#include +#include #include "TransportIntegrationStack.h" @@ -56,8 +56,8 @@ class TransportStackPair bool BothLayersUp(); public: - PhysicalLayerAsyncTCPClient mClient; - PhysicalLayerAsyncTCPServer mServer; + PhysicalLayerAsyncTCPv4Client mClient; + PhysicalLayerAsyncTCPv4Server mServer; TransportIntegrationStack mClientStack; TransportIntegrationStack mServerStack; diff --git a/DNP3Test/TransportTestObject.cpp b/DNP3Test/TransportTestObject.cpp index 69060977..713a4b5c 100644 --- a/DNP3Test/TransportTestObject.cpp +++ b/DNP3Test/TransportTestObject.cpp @@ -19,7 +19,7 @@ #include "TransportTestObject.h" #include -#include +#include #include #include diff --git a/DNP3Test/TransportTestObject.h b/DNP3Test/TransportTestObject.h index d5a9aa2f..d150c6d9 100644 --- a/DNP3Test/TransportTestObject.h +++ b/DNP3Test/TransportTestObject.h @@ -19,14 +19,14 @@ #ifndef __TRANSPORT_TEST_OBJECT_H_ #define __TRANSPORT_TEST_OBJECT_H_ -#include +#include #include #include #include #include -#include +#include #include namespace apl diff --git a/DNP3Test/VtoIntegrationTestBase.cpp b/DNP3Test/VtoIntegrationTestBase.cpp old mode 100755 new mode 100644 index be145079..83e6044b --- a/DNP3Test/VtoIntegrationTestBase.cpp +++ b/DNP3Test/VtoIntegrationTestBase.cpp @@ -16,11 +16,11 @@ */ #include "VtoIntegrationTestBase.h" -#include +#include -#include -#include -#include +#include +#include +#include /** Platforms have different reserved port ranges */ @@ -73,9 +73,9 @@ VtoIntegrationTestBase::VtoIntegrationTestBase( std::string clientSideOfStack = clientOnSlave ? "slave" : "master"; std::string serverSideOfStack = clientOnSlave ? "master" : "slave"; - manager.AddTCPClient("vto-tcp-client", PhysLayerSettings(), "localhost", port + 10); + manager.AddTCPv4Client("vto-tcp-client", PhysLayerSettings(), "localhost", port + 10); manager.StartVtoRouter("vto-tcp-client", clientSideOfStack, VtoRouterSettings(88, false, false, 1000)); - manager.AddTCPServer("vto-tcp-server", PhysLayerSettings(), "localhost", port + 20); + manager.AddTCPv4Server("vto-tcp-server", PhysLayerSettings(), "localhost", port + 20); manager.StartVtoRouter("vto-tcp-server", serverSideOfStack, VtoRouterSettings(88, true, false, 1000)); } diff --git a/DNP3Test/VtoIntegrationTestBase.h b/DNP3Test/VtoIntegrationTestBase.h old mode 100755 new mode 100644 index cca1b06b..05186fce --- a/DNP3Test/VtoIntegrationTestBase.h +++ b/DNP3Test/VtoIntegrationTestBase.h @@ -23,13 +23,13 @@ #include #include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include -#include +#include /** Platforms have different reserved port ranges */ @@ -64,13 +64,13 @@ class VtoIntegrationTestBase : public LogTester, protected Loggable MockCommandAcceptor cmdAcceptor; AsyncTestObjectASIO testObj; - + FlexibleDataObserver fdo; TimerSourceASIO timerSource; - PhysicalLayerAsyncTCPClient vtoClient; - PhysicalLayerAsyncTCPServer vtoServer; - + PhysicalLayerAsyncTCPv4Client vtoClient; + PhysicalLayerAsyncTCPv4Server vtoServer; + AsyncStackManager manager; WrappedTcpPipe tcpPipe; }; diff --git a/DNP3XML/XML_DNP3.cpp b/DNP3XML/XML_DNP3.cpp index 05763007..826d64fa 100644 --- a/DNP3XML/XML_DNP3.cpp +++ b/DNP3XML/XML_DNP3.cpp @@ -18,15 +18,15 @@ // #include "XML_DNP3.h" -#include #include +#include -#include +#include +#include +#include +#include -#include -#include -#include -#include +#include namespace apl { diff --git a/DNP3XML/XML_TestSet.cpp b/DNP3XML/XML_TestSet.cpp index 42cdea51..c418973a 100644 --- a/DNP3XML/XML_TestSet.cpp +++ b/DNP3XML/XML_TestSet.cpp @@ -41,9 +41,10 @@ void XML_TestSet::Configure(APLXML_MTS::MasterTestSet_t& arMasterTest, bool aUse XML_DNP3::Configure(arMasterTest.Master, aUseUnsol); xml::XML_APL::AddSerial(arMasterTest.PhysicalLayerList, "serial", "COM1"); - xml::XML_APL::AddTCPClient(arMasterTest.PhysicalLayerList, "tcpclient", "127.0.0.1", 20000); - - xml::XML_APL::AddTCPServer(arMasterTest.PhysicalLayerList, "vtotunnel", "0.0.0.0", 20001); + xml::XML_APL::AddTCPv4Client(arMasterTest.PhysicalLayerList, "tcpclient", "127.0.0.1", 20000); + xml::XML_APL::AddTCPv4Server(arMasterTest.PhysicalLayerList, "vtotunnel", "0.0.0.0", 20001); + xml::XML_APL::AddTCPv6Client(arMasterTest.PhysicalLayerList, "tcpv6client", "::1", 20000); + xml::XML_APL::AddTCPv6Server(arMasterTest.PhysicalLayerList, "vtov6tunnel", "::", 20001); XML_DNP3::AddVtoPort(arMasterTest.Master.VtoPorts, "vtotunnel", 0, true); } @@ -56,9 +57,10 @@ void XML_TestSet::Configure(APLXML_STS::SlaveTestSet_t& arSlaveTest) XML_DNP3::Configure(arSlaveTest.Slave); xml::XML_APL::AddSerial(arSlaveTest.PhysicalLayerList, "serial", "COM1"); - xml::XML_APL::AddTCPServer(arSlaveTest.PhysicalLayerList, "tcpserver", "0.0.0.0", 20000); - - xml::XML_APL::AddTCPClient(arSlaveTest.PhysicalLayerList, "vtotunnel", "127.0.0.1", 22); + xml::XML_APL::AddTCPv4Server(arSlaveTest.PhysicalLayerList, "tcpserver", "0.0.0.0", 20000); + xml::XML_APL::AddTCPv4Client(arSlaveTest.PhysicalLayerList, "vtotunnel", "127.0.0.1", 22); + xml::XML_APL::AddTCPv6Server(arSlaveTest.PhysicalLayerList, "tcpv6server", "::", 20000); + xml::XML_APL::AddTCPv6Client(arSlaveTest.PhysicalLayerList, "vtov6tunnel", "::1", 22); XML_DNP3::AddVtoPort(arSlaveTest.Slave.VtoPorts, "vtotunnel", 0, false); @@ -68,5 +70,5 @@ void XML_TestSet::Configure(APLXML_STS::SlaveTestSet_t& arSlaveTest) arSlaveTest.StartOnline = false; } - } + diff --git a/DNP3XML/XmlToConfig.cpp b/DNP3XML/XmlToConfig.cpp index bf23c2f8..7352001c 100644 --- a/DNP3XML/XmlToConfig.cpp +++ b/DNP3XML/XmlToConfig.cpp @@ -26,16 +26,16 @@ #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include using namespace APLXML_Base; @@ -46,16 +46,25 @@ namespace dnp bool XmlToConfig::Configure(const APLXML_Base::PhysicalLayerList_t& arList, FilterLevel aLevel, AsyncStackManager& arMgr) { - - for (size_t i = 0; i < arList.TCPClientVector.size(); i++ ) { - TCPClient_t* pCfg = arList.TCPClientVector[i]; + for (size_t i = 0; i < arList.TCPv4ClientVector.size(); i++ ) { + TCPv4Client_t* pCfg = arList.TCPv4ClientVector[i]; + PhysLayerSettings s(aLevel, pCfg->OpenRetryMS); + arMgr.AddTCPv4Client(pCfg->Name, s, pCfg->Address, pCfg->Port); + } + for (size_t i = 0; i < arList.TCPv4ServerVector.size(); i++ ) { + TCPv4Server_t* pCfg = arList.TCPv4ServerVector[i]; + PhysLayerSettings s(aLevel, pCfg->OpenRetryMS); + arMgr.AddTCPv4Server(pCfg->Name, s, pCfg->Endpoint, pCfg->Port); + } + for (size_t i = 0; i < arList.TCPv6ClientVector.size(); i++ ) { + TCPv6Client_t* pCfg = arList.TCPv6ClientVector[i]; PhysLayerSettings s(aLevel, pCfg->OpenRetryMS); - arMgr.AddTCPClient(pCfg->Name, s, pCfg->Address, pCfg->Port); + arMgr.AddTCPv6Client(pCfg->Name, s, pCfg->Address, pCfg->Port); } - for (size_t i = 0; i < arList.TCPServerVector.size(); i++ ) { - TCPServer_t* pCfg = arList.TCPServerVector[i]; + for (size_t i = 0; i < arList.TCPv6ServerVector.size(); i++ ) { + TCPv6Server_t* pCfg = arList.TCPv6ServerVector[i]; PhysLayerSettings s(aLevel, pCfg->OpenRetryMS); - arMgr.AddTCPServer(pCfg->Name, s, pCfg->Endpoint, pCfg->Port); + arMgr.AddTCPv6Server(pCfg->Name, s, pCfg->Endpoint, pCfg->Port); } for (size_t i = 0; i < arList.SerialVector.size(); i++ ) { Serial_t* pCfg = arList.SerialVector[i]; @@ -117,7 +126,7 @@ AppConfig XmlToConfig::Convert(const APLXML_DNP::AppLayer_t& arCfg) MasterConfig XmlToConfig::Convert(const APLXML_DNP::Master_t& arCfg) { MasterConfig cfg; - cfg.AllowTimeSync = true; + cfg.AllowTimeSync = arCfg.MasterSettings.AllowTimeSync; cfg.DoUnsolOnStartup = arCfg.Unsol.DoTask; cfg.EnableUnsol = arCfg.Unsol.Enable; cfg.FragSize = arCfg.Stack.AppLayer.MaxFragSize; @@ -213,7 +222,7 @@ DeviceTemplate XmlToConfig::Convert(const APLXML_DNP::DeviceTemplate_t& arCfg, b return t; } -CommandModes ConvertMode(const std::string& arMode) +CommandModes XmlToConfig::ConvertMode(const std::string& arMode) { if(arMode == "SBO") return CM_SBO_ONLY; if(arMode == "DO_ONLY") return CM_DO_ONLY; diff --git a/DNP3XML/XmlToConfig.h b/DNP3XML/XmlToConfig.h index 0131b1c3..91e90930 100644 --- a/DNP3XML/XmlToConfig.h +++ b/DNP3XML/XmlToConfig.h @@ -19,15 +19,14 @@ #ifndef __XML_TO_CONFIG_H_ #define __XML_TO_CONFIG_H_ -#include - +#include +#include -#include -#include #include -#include #include +#include +#include namespace APLXML_DNP { @@ -84,6 +83,7 @@ class XmlToConfig static SlaveConfig Convert(const APLXML_DNP::SlaveConfig_t& arCfg, const APLXML_DNP::AppLayer_t& arApp); static VtoConfig Convert(const APLXML_DNP::VtoPorts_t& arCfg); static DeviceTemplate Convert( const APLXML_DNP::DeviceTemplate_t& arCfg, bool aStartOnline = false); + static CommandModes ConvertMode(const std::string& arMode); private: diff --git a/DotNet/DotNetAdapter/StackManager.cpp b/DotNet/DotNetAdapter/StackManager.cpp index 5a5cf71b..eeefd05e 100755 --- a/DotNet/DotNetAdapter/StackManager.cpp +++ b/DotNet/DotNetAdapter/StackManager.cpp @@ -18,43 +18,43 @@ #include namespace DNP3 -{ +{ namespace Adapter { StackManager::StackManager() : pMgr(new apl::dnp::StackManager()) { - + } - void StackManager::AddTCPClient(System::String^ name, FilterLevel level, System::UInt64 retryMs, System::String^ address, System::UInt16 port) + void StackManager::AddTCPv4Client(System::String^ name, FilterLevel level, System::UInt64 retryMs, System::String^ address, System::UInt16 port) { - + std::string stdName = Conversions::convertString(name); std::string stdAddress = Conversions::convertString(address); boost::uint16_t stdPort = port; apl::PhysLayerSettings pls(Conversions::convertFilterLevel(level), retryMs); try { - pMgr->AddTCPClient(stdName, pls, stdAddress, stdPort); - } + pMgr->AddTCPv4Client(stdName, pls, stdAddress, stdPort); + } catch(apl::Exception ex){ throw Conversions::convertException(ex); } } - void StackManager::AddTCPServer(System::String^ name, FilterLevel level, System::UInt64 retryMs, System::String^ endpoint, System::UInt16 port) + void StackManager::AddTCPv4Server(System::String^ name, FilterLevel level, System::UInt64 retryMs, System::String^ endpoint, System::UInt16 port) { std::string stdName = Conversions::convertString(name); - std::string stdEndpoint = Conversions::convertString(endpoint); + std::string stdEndpoint = Conversions::convertString(endpoint); boost::uint16_t stdPort = port; apl::PhysLayerSettings pls(Conversions::convertFilterLevel(level), retryMs); - + try { - pMgr->AddTCPServer(stdName, pls, stdEndpoint, stdPort); - } + pMgr->AddTCPv4Server(stdName, pls, stdEndpoint, stdPort); + } catch(apl::Exception ex){ throw Conversions::convertException(ex); } @@ -68,31 +68,31 @@ namespace Adapter pMgr->AddSerial(stdName, pls, s); } - + ICommandAcceptor^ StackManager::AddMaster( System::String^ portName, - System::String^ stackName, + System::String^ stackName, FilterLevel level, DNP3::Interface::IDataObserver^ observer, - DNP3::Interface::MasterStackConfig^ config) + DNP3::Interface::MasterStackConfig^ config) { std::string stdPortName = Conversions::convertString(portName); std::string stdStackName = Conversions::convertString(stackName); apl::FilterLevel stdLevel = Conversions::convertFilterLevel(level); - MasterDataObserverAdapterWrapper^ wrapper = gcnew MasterDataObserverAdapterWrapper(observer); + MasterDataObserverAdapterWrapper^ wrapper = gcnew MasterDataObserverAdapterWrapper(observer); apl::dnp::MasterStackConfig cfg = Conversions::convertConfig(config); try { apl::ICommandAcceptor* pCmdAcceptor = pMgr->AddMaster(stdPortName, stdStackName, stdLevel, wrapper->GetDataObserver(), cfg); ICommandAcceptor^ ca = gcnew CommandAcceptorAdapter(pCmdAcceptor); return ca; - } + } catch(apl::Exception ex){ throw Conversions::convertException(ex); } } - + IDataObserver^ StackManager::AddSlave( System::String^ portName, System::String^ stackName, FilterLevel level, @@ -109,7 +109,7 @@ namespace Adapter try { apl::IDataObserver* pDataObs = pMgr->AddSlave(stdPortName, stdStackName, stdLevel, wrapper->GetCommandAcceptor(), Conversions::convertConfig(config)); return gcnew SlaveDataObserverAdapter(pDataObs); - } + } catch(apl::Exception ex){ throw Conversions::convertException(ex); } @@ -120,9 +120,9 @@ namespace Adapter void StackManager::RemovePort(System::String^ portName) { try { - std::string stdPortName = Conversions::convertString(portName); + std::string stdPortName = Conversions::convertString(portName); pMgr->RemovePort(stdPortName); - } + } catch(apl::Exception ex){ throw Conversions::convertException(ex); } @@ -133,7 +133,7 @@ namespace Adapter try { std::string stdStackName = Conversions::convertString(stackName); pMgr->RemoveStack(stdStackName); - } + } catch(apl::Exception ex){ throw Conversions::convertException(ex); } @@ -144,7 +144,7 @@ namespace Adapter try { LogAdapterWrapper^ wrapper = gcnew LogAdapterWrapper(logHandler); pMgr->AddLogHook(wrapper->GetLogAdapter()); - } + } catch(apl::Exception ex){ throw Conversions::convertException(ex); } diff --git a/DotNet/DotNetAdapter/StackManager.h b/DotNet/DotNetAdapter/StackManager.h index 44498ad1..dd2b1910 100755 --- a/DotNet/DotNetAdapter/StackManager.h +++ b/DotNet/DotNetAdapter/StackManager.h @@ -10,20 +10,20 @@ namespace apl { namespace dnp { }} namespace DNP3 -{ +{ namespace Adapter { public ref class StackManager { public: StackManager(); - - void AddTCPClient(System::String^ name, FilterLevel level, System::UInt64 retryMs, System::String^ address, System::UInt16 port); - void AddTCPServer(System::String^ name, FilterLevel level, System::UInt64 retryMs, System::String^ endpoint, System::UInt16 port); + + void AddTCPv4Client(System::String^ name, FilterLevel level, System::UInt64 retryMs, System::String^ address, System::UInt16 port); + void AddTCPv4Server(System::String^ name, FilterLevel level, System::UInt64 retryMs, System::String^ endpoint, System::UInt16 port); void AddSerial(System::String^ name, FilterLevel level, System::UInt64 retryMs, SerialSettings^ settings); - + ICommandAcceptor^ AddMaster( System::String^ portName, - System::String^ stackName, + System::String^ stackName, FilterLevel level, IDataObserver^ publisher, MasterStackConfig^ config); @@ -31,7 +31,7 @@ namespace Adapter IDataObserver^ AddSlave( System::String^ portName, System::String^ stackName, FilterLevel level, - ICommandAcceptor^ cmdAcceptor, + ICommandAcceptor^ cmdAcceptor, DNP3::Interface::SlaveStackConfig^ config); void RemovePort(System::String^ portName); diff --git a/DotNet/DotNetMasterDemo/Program.cs b/DotNet/DotNetMasterDemo/Program.cs index 5beaf1c5..e19e233b 100755 --- a/DotNet/DotNetMasterDemo/Program.cs +++ b/DotNet/DotNetMasterDemo/Program.cs @@ -67,7 +67,7 @@ static void Main(string[] args) { var sm = new StackManager(); sm.AddLogHandler(new PrintingLogAdapter()); //this is optional - sm.AddTCPClient("client", FilterLevel.LEV_INFO, 5000, "127.0.0.1", 20000); + sm.AddTCPv4Client("client", FilterLevel.LEV_INFO, 5000, "127.0.0.1", 20000); var config = new MasterStackConfig(); config.link.useConfirms = true; //setup your stack configuration here. var commandAcceptor = sm.AddMaster("client", "master", FilterLevel.LEV_INFO, new PrintingDataObserver(), config); diff --git a/DotNet/DotNetTestSet/TestSetForm.cs b/DotNet/DotNetTestSet/TestSetForm.cs index 7caf8917..ccf3eee3 100755 --- a/DotNet/DotNetTestSet/TestSetForm.cs +++ b/DotNet/DotNetTestSet/TestSetForm.cs @@ -29,12 +29,12 @@ public TestSetForm() private void stackBrowser1_OnTcpClientAdded(TcpSettings s) { - sm.AddTCPClient(s.name, s.level, s.timeout, s.address, s.port); + sm.AddTCPv4Client(s.name, s.level, s.timeout, s.address, s.port); } private void stackBrowser1_OnTcpServerAdded(TcpSettings s) { - sm.AddTCPServer(s.name, s.level, s.timeout, s.address, s.port); + sm.AddTCPv4Server(s.name, s.level, s.timeout, s.address, s.port); } private void stackBrowser1_OnSerialPortAdded(SerialSettings settings) @@ -72,4 +72,4 @@ private void addNewChartToolStripMenuItem_Click(object sender, EventArgs e) -} \ No newline at end of file +} diff --git a/INSTALL b/INSTALL index 7d1c323b..a1e89e18 100644 --- a/INSTALL +++ b/INSTALL @@ -1,8 +1,8 @@ Installation Instructions ************************* -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, -2006, 2007, 2008, 2009 Free Software Foundation, Inc. +Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation, +Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright @@ -226,6 +226,11 @@ order to use an ANSI C compiler: and if that doesn't work, install pre-built binaries of GCC for HP-UX. + HP-UX `make' updates targets which have the same time stamps as +their prerequisites, which makes it generally unusable when shipped +generated files such as `configure' are involved. Use GNU `make' +instead. + On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot parse its `' header file. The option `-nodtk' can be used as a workaround. If GNU CC is not installed, it is therefore recommended diff --git a/Makefile.am b/Makefile.am index 00d5885c..e098126c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -18,164 +18,155 @@ lib_LTLIBRARIES = libopendnp3.la libopendnp3_la_LDFLAGS = -version-info 0:0:0 libopendnp3_la_LIBADD = $(BOOST_LDFLAGS) $(CORE_BOOST_LIBS) +libopendnp3_la_DEPENDENCIES = libopendnp3_la_SOURCES = \ - APL/ASIOSerialHelpers.cpp \ - APL/AsyncLayerInterfaces.cpp \ - APL/AsyncResult.cpp \ - APL/AsyncTaskBase.cpp \ - APL/AsyncTaskContinuous.cpp \ - APL/AsyncTaskGroup.cpp \ - APL/AsyncTaskNonPeriodic.cpp \ - APL/AsyncTaskPeriodic.cpp \ - APL/AsyncTaskScheduler.cpp \ - APL/BaseDataTypes.cpp \ - APL/CommandManager.cpp \ - APL/CommandQueue.cpp \ - APL/CommandResponseQueue.cpp \ - APL/CommandTypes.cpp \ - APL/CopyableBuffer.cpp \ - APL/CRC.cpp \ - APL/EventLock.cpp \ - APL/Exception.cpp \ - APL/FlexibleDataObserver.cpp \ - APL/IHandlerAsync.cpp \ - APL/ITimerSource.cpp \ - APL/IOService.cpp \ - APL/IOServiceThread.cpp \ - APL/LockBase.cpp \ - APL/LockBoost.cpp \ - APL/Log.cpp \ - APL/LogEntryCircularBuffer.cpp \ - APL/LogEntry.cpp \ - APL/Loggable.cpp \ - APL/Logger.cpp \ - APL/LogToFile.cpp \ - APL/LogToStdio.cpp \ - APL/LogTypes.cpp \ - APL/LowerLayerToPhysAdapter.cpp \ - APL/MetricBuffer.cpp \ - APL/MultiplexingDataObserver.cpp \ - APL/PackingUnpacking.cpp \ - APL/Parsing.cpp \ - APL/PhysicalLayerAsyncBase.cpp \ - APL/PhysicalLayerAsyncBaseTCP.cpp \ - APL/PhysicalLayerAsyncSerial.cpp \ - APL/PhysicalLayerAsyncTCPClient.cpp \ - APL/PhysicalLayerAsyncTCPServer.cpp \ - APL/PhysicalLayerFactory.cpp \ - APL/PhysicalLayerInstance.cpp \ - APL/PhysicalLayerManager.cpp \ - APL/PhysicalLayerMap.cpp \ - APL/PhysicalLayerMonitor.cpp \ - APL/PhysicalLayerMonitorStates.cpp \ - APL/PhysicalLayerStates.cpp \ - APL/PhysLoopback.cpp \ - APL/PostingNotifier.cpp \ - APL/PostingNotifierSource.cpp \ - APL/ProtocolUtil.cpp \ - APL/QualityConverter.cpp \ - APL/RandomizedBuffer.cpp \ - APL/ShiftableBuffer.cpp \ - APL/SuspendTimerSource.cpp \ - APL/Threadable.cpp \ - APL/ThreadBase.cpp \ - APL/ThreadBoost.cpp \ - APL/TimeBase.cpp \ - APL/TimeBoost.cpp \ - APL/Timeout.cpp \ - APL/TimerASIO.cpp \ - APL/TimerSourceASIO.cpp \ - APL/TimeSource.cpp \ - APL/TimingTools.cpp \ - APL/ToHex.cpp \ - APL/TrackingTaskGroup.cpp \ - APL/Util.cpp \ - DNP3/AlwaysOpeningVtoRouter.cpp \ - DNP3/APDUConstants.cpp \ - DNP3/APDU.cpp \ - DNP3/AppChannelStates.cpp \ - DNP3/AppHeader.cpp \ - DNP3/AppInterfaces.cpp \ - DNP3/AppLayerChannel.cpp \ - DNP3/AppLayer.cpp \ - DNP3/AsyncStackManager.cpp \ - DNP3/BufferTypes.cpp \ - DNP3/ClassCounter.cpp \ - DNP3/ControlTasks.cpp \ - DNP3/Database.cpp \ - DNP3/DataPoll.cpp \ - DNP3/DeviceTemplate.cpp \ - DNP3/DNPCommandMaster.cpp \ - DNP3/DNPCrc.cpp \ - DNP3/EnhancedVto.cpp \ - DNP3/EnhancedVtoRouter.cpp \ - DNP3/HeaderReadIterator.cpp \ - DNP3/IndexedWriteIterator.cpp \ - DNP3/IStackObserver.cpp \ - DNP3/LinkChannel.cpp \ - DNP3/LinkFrame.cpp \ - DNP3/LinkHeader.cpp \ - DNP3/LinkLayerConstants.cpp \ - DNP3/LinkLayer.cpp \ - DNP3/LinkLayerReceiver.cpp \ - DNP3/LinkLayerRouter.cpp \ - DNP3/LinkReceiverStates.cpp \ - DNP3/LinkRoute.cpp \ - DNP3/Master.cpp \ - DNP3/MasterSchedule.cpp \ - DNP3/MasterStack.cpp \ - DNP3/MasterStates.cpp \ - DNP3/MasterTaskBase.cpp \ - DNP3/ObjectHeader.cpp \ - DNP3/ObjectInterfaces.cpp \ - DNP3/ObjectReadIterator.cpp \ - DNP3/Objects.cpp \ - DNP3/ObjectWriteIterator.cpp \ - DNP3/PointClass.cpp \ - DNP3/PriLinkLayerStates.cpp \ - DNP3/ResponseContext.cpp \ - DNP3/ResponseLoader.cpp \ - DNP3/SecLinkLayerStates.cpp \ - DNP3/SlaveConfig.cpp \ - DNP3/Slave.cpp \ - DNP3/SlaveEventBuffer.cpp \ - DNP3/SlaveResponseTypes.cpp \ - DNP3/SlaveStack.cpp \ - DNP3/SlaveStates.cpp \ - DNP3/SolicitedChannel.cpp \ - DNP3/Stack.cpp \ - DNP3/StackManager.cpp \ - DNP3/StartupTasks.cpp \ - DNP3/TLS_Base.cpp \ - DNP3/TransportLayer.cpp \ - DNP3/TransportRx.cpp \ - DNP3/TransportStates.cpp \ - DNP3/TransportTx.cpp \ - DNP3/UnsolicitedChannel.cpp \ - DNP3/VtoData.cpp \ - DNP3/VtoReader.cpp \ - DNP3/VtoRouter.cpp \ - DNP3/VtoRouterManager.cpp \ - DNP3/VtoRouterSettings.cpp \ - DNP3/VtoTransmitTask.cpp \ - DNP3/VtoWriter.cpp + opendnp3/APL/ASIOSerialHelpers.cpp \ + opendnp3/APL/AsyncLayerInterfaces.cpp \ + opendnp3/APL/AsyncResult.cpp \ + opendnp3/APL/AsyncTaskBase.cpp \ + opendnp3/APL/AsyncTaskContinuous.cpp \ + opendnp3/APL/AsyncTaskGroup.cpp \ + opendnp3/APL/AsyncTaskNonPeriodic.cpp \ + opendnp3/APL/AsyncTaskPeriodic.cpp \ + opendnp3/APL/AsyncTaskScheduler.cpp \ + opendnp3/APL/BaseDataTypes.cpp \ + opendnp3/APL/CommandManager.cpp \ + opendnp3/APL/CommandQueue.cpp \ + opendnp3/APL/CommandResponseQueue.cpp \ + opendnp3/APL/CommandTypes.cpp \ + opendnp3/APL/CopyableBuffer.cpp \ + opendnp3/APL/CRC.cpp \ + opendnp3/APL/EventLock.cpp \ + opendnp3/APL/Exception.cpp \ + opendnp3/APL/FlexibleDataObserver.cpp \ + opendnp3/APL/IHandlerAsync.cpp \ + opendnp3/APL/ITimerSource.cpp \ + opendnp3/APL/IOService.cpp \ + opendnp3/APL/IOServiceThread.cpp \ + opendnp3/APL/LockBase.cpp \ + opendnp3/APL/LockBoost.cpp \ + opendnp3/APL/Log.cpp \ + opendnp3/APL/LogEntryCircularBuffer.cpp \ + opendnp3/APL/LogEntry.cpp \ + opendnp3/APL/Loggable.cpp \ + opendnp3/APL/Logger.cpp \ + opendnp3/APL/LogToFile.cpp \ + opendnp3/APL/LogToStdio.cpp \ + opendnp3/APL/LogTypes.cpp \ + opendnp3/APL/LowerLayerToPhysAdapter.cpp \ + opendnp3/APL/MetricBuffer.cpp \ + opendnp3/APL/MultiplexingDataObserver.cpp \ + opendnp3/APL/PackingUnpacking.cpp \ + opendnp3/APL/Parsing.cpp \ + opendnp3/APL/PhysicalLayerAsyncBase.cpp \ + opendnp3/APL/PhysicalLayerAsyncBaseTCP.cpp \ + opendnp3/APL/PhysicalLayerAsyncSerial.cpp \ + opendnp3/APL/PhysicalLayerAsyncTCPClient.cpp \ + opendnp3/APL/PhysicalLayerAsyncTCPServer.cpp \ + opendnp3/APL/PhysicalLayerFactory.cpp \ + opendnp3/APL/PhysicalLayerInstance.cpp \ + opendnp3/APL/PhysicalLayerManager.cpp \ + opendnp3/APL/PhysicalLayerMap.cpp \ + opendnp3/APL/PhysicalLayerMonitor.cpp \ + opendnp3/APL/PhysicalLayerMonitorStates.cpp \ + opendnp3/APL/PhysicalLayerStates.cpp \ + opendnp3/APL/PhysLoopback.cpp \ + opendnp3/APL/PostingNotifier.cpp \ + opendnp3/APL/PostingNotifierSource.cpp \ + opendnp3/APL/ProtocolUtil.cpp \ + opendnp3/APL/QualityConverter.cpp \ + opendnp3/APL/RandomizedBuffer.cpp \ + opendnp3/APL/ShiftableBuffer.cpp \ + opendnp3/APL/SuspendTimerSource.cpp \ + opendnp3/APL/Threadable.cpp \ + opendnp3/APL/ThreadBase.cpp \ + opendnp3/APL/ThreadBoost.cpp \ + opendnp3/APL/TimeBase.cpp \ + opendnp3/APL/TimeBoost.cpp \ + opendnp3/APL/Timeout.cpp \ + opendnp3/APL/TimerASIO.cpp \ + opendnp3/APL/TimerSourceASIO.cpp \ + opendnp3/APL/TimeSource.cpp \ + opendnp3/APL/TimingTools.cpp \ + opendnp3/APL/ToHex.cpp \ + opendnp3/APL/TrackingTaskGroup.cpp \ + opendnp3/APL/Util.cpp \ + opendnp3/DNP3/AlwaysOpeningVtoRouter.cpp \ + opendnp3/DNP3/APDUConstants.cpp \ + opendnp3/DNP3/APDU.cpp \ + opendnp3/DNP3/AppChannelStates.cpp \ + opendnp3/DNP3/AppHeader.cpp \ + opendnp3/DNP3/AppInterfaces.cpp \ + opendnp3/DNP3/AppLayerChannel.cpp \ + opendnp3/DNP3/AppLayer.cpp \ + opendnp3/DNP3/AsyncStackManager.cpp \ + opendnp3/DNP3/BufferTypes.cpp \ + opendnp3/DNP3/ClassCounter.cpp \ + opendnp3/DNP3/ControlTasks.cpp \ + opendnp3/DNP3/Database.cpp \ + opendnp3/DNP3/DataPoll.cpp \ + opendnp3/DNP3/DeviceTemplate.cpp \ + opendnp3/DNP3/DNPCommandMaster.cpp \ + opendnp3/DNP3/DNPCrc.cpp \ + opendnp3/DNP3/EnhancedVto.cpp \ + opendnp3/DNP3/EnhancedVtoRouter.cpp \ + opendnp3/DNP3/HeaderReadIterator.cpp \ + opendnp3/DNP3/IndexedWriteIterator.cpp \ + opendnp3/DNP3/IStackObserver.cpp \ + opendnp3/DNP3/LinkChannel.cpp \ + opendnp3/DNP3/LinkFrame.cpp \ + opendnp3/DNP3/LinkHeader.cpp \ + opendnp3/DNP3/LinkLayerConstants.cpp \ + opendnp3/DNP3/LinkLayer.cpp \ + opendnp3/DNP3/LinkLayerReceiver.cpp \ + opendnp3/DNP3/LinkLayerRouter.cpp \ + opendnp3/DNP3/LinkReceiverStates.cpp \ + opendnp3/DNP3/LinkRoute.cpp \ + opendnp3/DNP3/Master.cpp \ + opendnp3/DNP3/MasterSchedule.cpp \ + opendnp3/DNP3/MasterStack.cpp \ + opendnp3/DNP3/MasterStates.cpp \ + opendnp3/DNP3/MasterTaskBase.cpp \ + opendnp3/DNP3/ObjectHeader.cpp \ + opendnp3/DNP3/ObjectInterfaces.cpp \ + opendnp3/DNP3/ObjectReadIterator.cpp \ + opendnp3/DNP3/Objects.cpp \ + opendnp3/DNP3/ObjectWriteIterator.cpp \ + opendnp3/DNP3/PointClass.cpp \ + opendnp3/DNP3/PriLinkLayerStates.cpp \ + opendnp3/DNP3/ResponseContext.cpp \ + opendnp3/DNP3/ResponseLoader.cpp \ + opendnp3/DNP3/SecLinkLayerStates.cpp \ + opendnp3/DNP3/SlaveConfig.cpp \ + opendnp3/DNP3/Slave.cpp \ + opendnp3/DNP3/SlaveEventBuffer.cpp \ + opendnp3/DNP3/SlaveResponseTypes.cpp \ + opendnp3/DNP3/SlaveStack.cpp \ + opendnp3/DNP3/SlaveStates.cpp \ + opendnp3/DNP3/SolicitedChannel.cpp \ + opendnp3/DNP3/Stack.cpp \ + opendnp3/DNP3/StackManager.cpp \ + opendnp3/DNP3/StartupTasks.cpp \ + opendnp3/DNP3/TLS_Base.cpp \ + opendnp3/DNP3/TransportLayer.cpp \ + opendnp3/DNP3/TransportRx.cpp \ + opendnp3/DNP3/TransportStates.cpp \ + opendnp3/DNP3/TransportTx.cpp \ + opendnp3/DNP3/UnsolicitedChannel.cpp \ + opendnp3/DNP3/VtoData.cpp \ + opendnp3/DNP3/VtoReader.cpp \ + opendnp3/DNP3/VtoRouter.cpp \ + opendnp3/DNP3/VtoRouterManager.cpp \ + opendnp3/DNP3/VtoRouterSettings.cpp \ + opendnp3/DNP3/VtoTransmitTask.cpp \ + opendnp3/DNP3/VtoWriter.cpp if WANT_JAVA -libopendnp3_la_SOURCES += DNP3Java/JavaDNP3.cpp - JAVA_DIR=$(top_srcdir)/java JAVA_PACKAGE_DIR=org/totalgrid/reef/protocol/dnp3 JAVA_SOURCE_DIR=$(JAVA_DIR)/src JAVA_CLASS_DIR=$(JAVA_DIR)/bin -DNP3Java/JavaDNP3.cpp: DNP3Java/JavaDNP3.i - -@mkdir -p $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR) - swig -c++ -java \ - -package org.totalgrid.reef.protocol.dnp3 \ - -I$(top_srcdir) -I$(top_srcdir)/APL -I$(top_srcdir)/DNP3 \ - -outdir $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR) \ - -o DNP3Java/JavaDNP3.cpp $^ - JAVA_SRC_FILES = JAVA_SRC_FILES += $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR)/Analog.java JAVA_SRC_FILES += $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR)/AnalogQuality.java @@ -229,9 +220,10 @@ JAVA_SRC_FILES += $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR)/PhysLayerSettings.java JAVA_SRC_FILES += $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR)/PhysicalLayerState.java JAVA_SRC_FILES += $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR)/PointClass.java JAVA_SRC_FILES += $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR)/PointRecord.java -JAVA_SRC_FILES += $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR)/SWIGTYPE_p_VtoConfig.java JAVA_SRC_FILES += $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR)/SWIGTYPE_p_boost__int64_t.java +JAVA_SRC_FILES += $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR)/SWIGTYPE_p_boost__uint8_t.java JAVA_SRC_FILES += $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR)/SWIGTYPE_p_int.java +JAVA_SRC_FILES += $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR)/SWIGTYPE_p_std__ostream.java JAVA_SRC_FILES += $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR)/SWIGTYPE_p_std__string.java JAVA_SRC_FILES += $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR)/SerialSettings.java JAVA_SRC_FILES += $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR)/Setpoint.java @@ -250,21 +242,41 @@ JAVA_SRC_FILES += $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR)/VectorOfEventPointRecor JAVA_SRC_FILES += $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR)/VectorOfExceptionScan.java JAVA_SRC_FILES += $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR)/VectorOfPointRecord.java JAVA_SRC_FILES += $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR)/VectorOfString.java +JAVA_SRC_FILES += $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR)/VectorOfVtoRouterConfig.java +JAVA_SRC_FILES += $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR)/VtoConfig.java +JAVA_SRC_FILES += $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR)/VtoData.java +JAVA_SRC_FILES += $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR)/VtoDataType.java JAVA_SRC_FILES += $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR)/VtoQuality.java +JAVA_SRC_FILES += $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR)/VtoRouterConfig.java +JAVA_SRC_FILES += $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR)/VtoRouterSettings.java JAVA_SRC_FILES += $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR)/javadnp3.java JAVA_SRC_FILES += $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR)/javadnp3Constants.java JAVA_SRC_FILES += $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR)/javadnp3JNI.java -opendnp3.jar: DNP3Java/JavaDNP3.cpp $(JAVA_SRC_FILES) +DNP3Java/.java-built: DNP3Java/JavaDNP3.i + -@mkdir -p $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR) + swig -c++ -java \ + -package org.totalgrid.reef.protocol.dnp3 \ + -I$(top_srcdir) -I$(top_srcdir)/APL -I$(top_srcdir)/DNP3 \ + -outdir $(JAVA_SOURCE_DIR)/$(JAVA_PACKAGE_DIR) \ + -o DNP3Java/JavaDNP3.cpp $^ + touch $@ + +DNP3Java/JavaDNP3.cpp: DNP3Java/.java-built +$(JAVA_SRC_FILES): DNP3Java/.java-built + +opendnp3.jar: DNP3Java/.java-built -@mkdir -p $(JAVA_CLASS_DIR)/$(JAVA_PACKAGE_DIR) cd $(JAVA_SOURCE_DIR) && javac -d $(JAVA_CLASS_DIR) -cp . $(JAVA_SRC_FILES) cd $(JAVA_CLASS_DIR) && jar cvf $@ org mv $(JAVA_CLASS_DIR)/$@ $@ -BUILT_SOURCES += DNP3Java/JavaDNP3.cpp opendnp3.jar $(JAVA_SRC_FILES) - opendnp3_jardir = $(datadir)/java opendnp3_jar_DATA = opendnp3.jar + +BUILT_SOURCES += DNP3Java/.java-built DNP3Java/JavaDNP3.cpp opendnp3.jar $(JAVA_SRC_FILES) +libopendnp3_la_DEPENDENCIES += DNP3Java/JavaDNP3.cpp +libopendnp3_la_SOURCES += DNP3Java/JavaDNP3.cpp endif if WANT_PYTHON @@ -288,215 +300,227 @@ DNP3Java/PythonDNP3.cpp: DNP3Java/JavaDNP3.i BUILT_SOURCES += DNP3Java/PythonDNP3.cpp endif -nobase_pkginclude_HEADERS= \ - version.hpp \ - APL/ASIOSerialHelpers.h \ - APL/AsyncLayerInterfaces.h \ - APL/AsyncTaskBase.h \ - APL/AsyncTaskContinuous.h \ - APL/AsyncTaskGroup.h \ - APL/AsyncTaskInterfaces.h \ - APL/AsyncTaskNonPeriodic.h \ - APL/AsyncTaskPeriodic.h \ - APL/AsyncTaskScheduler.h \ - APL/BaseDataTypes.h \ - APL/BoundNotifier.h \ - APL/CachedLogVariable.h \ - APL/ChangeBuffer.h \ - APL/CommandInterfaces.h \ - APL/CommandManager.h \ - APL/CommandQueue.h \ - APL/CommandResponseQueue.h \ - APL/CommandTypes.h \ - APL/Configure.h \ - APL/CopyableBuffer.h \ - APL/CRC.h \ - APL/DataInterfaces.h \ - APL/DataTypes.h \ - APL/DeleteAny.h \ - APL/EventLockBase.h \ - APL/EventLock.h \ - APL/EventSet.h \ - APL/Exception.h \ - APL/FlexibleDataObserver.h \ - APL/Function.h \ - APL/GetKeys.h \ - APL/IEventLock.h \ - APL/IHandlerAsync.h \ - APL/INotifier.h \ - APL/IOService.h \ - APL/IOServiceThread.h \ - APL/IPhysicalLayerAsync.h \ - APL/IPhysicalLayerObserver.h \ - APL/IPhysicalLayerSource.h \ - APL/ISubject.h \ - APL/ITimer.h \ - APL/ITimerSource.h \ - APL/ITimeSource.h \ - APL/ITransactable.h \ - APL/LockBase.h \ - APL/LockBoost.h \ - APL/Lock.h \ - APL/LogBase.h \ - APL/LogEntryCircularBuffer.h \ - APL/LogEntry.h \ - APL/Loggable.h \ - APL/Logger.h \ - APL/Log.h \ - APL/LogToFile.h \ - APL/LogToStdio.h \ - APL/LogTypes.h \ - APL/LogVar.h \ - APL/LowerLayerToPhysAdapter.h \ - APL/MetricBuffer.h \ - APL/MultiplexingDataObserver.h \ - APL/Notifier.h \ - APL/PackingTemplates.h \ - APL/PackingUnpacking.h \ - APL/Parsing.h \ - APL/PhysicalLayerAsyncASIO.h \ - APL/PhysicalLayerAsyncBase.h \ - APL/PhysicalLayerAsyncBaseTCP.h \ - APL/PhysicalLayerAsyncSerial.h \ - APL/PhysicalLayerAsyncTCPClient.h \ - APL/PhysicalLayerAsyncTCPServer.h \ - APL/PhysicalLayerFactory.h \ - APL/PhysicalLayerFunctors.h \ - APL/PhysicalLayerInstance.h \ - APL/PhysicalLayerManager.h \ - APL/PhysicalLayerMap.h \ - APL/PhysicalLayerMonitor.h \ - APL/PhysicalLayerMonitorStates.h \ - APL/PhysicalLayerStates.h \ - APL/PhysLayerSettings.h \ - APL/PhysLoopback.h \ - APL/PostingNotifier.h \ - APL/PostingNotifierSource.h \ - APL/ProtocolUtil.h \ - APL/QualityConverter.h \ - APL/QualityMasks.h \ - APL/QueueingFDO.h \ - APL/Random.h \ - APL/RandomizedBuffer.h \ - APL/SerialTypes.h \ - APL/ShiftableBuffer.h \ - APL/Singleton.h \ - APL/SubjectBase.h \ - APL/SuspendTimerSource.h \ - APL/SyncVar.h \ - APL/Threadable.h \ - APL/ThreadBase.h \ - APL/ThreadBoost.h \ - APL/Thread.h \ - APL/TimeBase.h \ - APL/TimeBoost.h \ - APL/Timeout.h \ - APL/TimerASIO.h \ - APL/TimerSourceASIO.h \ - APL/TimeSource.h \ - APL/TimeTypes.h \ - APL/TimingTools.h \ - APL/ToHex.h \ - APL/TrackingTaskGroup.h \ - APL/Types.h \ - APL/Uncopyable.h \ - APL/Util.h \ - DNP3/AlwaysOpeningVtoRouter.h \ - DNP3/APDUConstants.h \ - DNP3/APDU.h \ - DNP3/AppChannelStates.h \ - DNP3/AppConfig.h \ - DNP3/AppHeader.h \ - DNP3/AppInterfaces.h \ - DNP3/AppLayerChannel.h \ - DNP3/AppLayer.h \ - DNP3/AsyncStackManager.h \ - DNP3/BufferSetTypes.h \ - DNP3/BufferTypes.h \ - DNP3/ClassCounter.h \ - DNP3/ClassMask.h \ - DNP3/ControlTasks.h \ - DNP3/CTOHistory.h \ - DNP3/Database.h \ - DNP3/DatabaseInterfaces.h \ - DNP3/DataPoll.h \ - DNP3/DeviceTemplate.h \ - DNP3/DeviceTemplateTypes.h \ - DNP3/DNPCommandMaster.h \ - DNP3/DNPConstants.h \ - DNP3/DNPCrc.h \ - DNP3/DNPDatabaseTypes.h \ - DNP3/DNPExceptions.h \ - DNP3/DNPFromStream.h \ - DNP3/DNPToStream.h \ - DNP3/EnhancedVto.h \ - DNP3/EnhancedVtoRouter.h \ - DNP3/EventBufferBase.h \ - DNP3/EventBuffers.h \ - DNP3/EventTypes.h \ - DNP3/HeaderReadIterator.h \ - DNP3/IFrameSink.h \ - DNP3/ILinkContext.h \ - DNP3/ILinkRouter.h \ - DNP3/IndexedWriteIterator.h \ - DNP3/IStackObserver.h \ - DNP3/IVtoEventAcceptor.h \ - DNP3/LinkChannel.h \ - DNP3/LinkConfig.h \ - DNP3/LinkFrame.h \ - DNP3/LinkHeader.h \ - DNP3/LinkLayerConstants.h \ - DNP3/LinkLayer.h \ - DNP3/LinkLayerReceiver.h \ - DNP3/LinkLayerRouter.h \ - DNP3/LinkReceiverStates.h \ - DNP3/LinkRoute.h \ - DNP3/MasterConfig.h \ - DNP3/MasterConfigTypes.h \ - DNP3/Master.h \ - DNP3/MasterSchedule.h \ - DNP3/MasterStackConfig.h \ - DNP3/MasterStack.h \ - DNP3/MasterStates.h \ - DNP3/MasterTaskBase.h \ - DNP3/ObjectHeader.h \ - DNP3/ObjectInterfaces.h \ - DNP3/ObjectReadIterator.h \ - DNP3/Objects.h \ - DNP3/ObjectWriteIterator.h \ - DNP3/PointClass.h \ - DNP3/PriLinkLayerStates.h \ - DNP3/ResponseContext.h \ - DNP3/ResponseLoader.h \ - DNP3/SecLinkLayerStates.h \ - DNP3/SlaveConfig.h \ - DNP3/SlaveEventBuffer.h \ - DNP3/Slave.h \ - DNP3/SlaveResponseTypes.h \ - DNP3/SlaveStackConfig.h \ - DNP3/SlaveStack.h \ - DNP3/SlaveStates.h \ - DNP3/SolicitedChannel.h \ - DNP3/Stack.h \ - DNP3/StackManager.h \ - DNP3/StartupTasks.h \ - DNP3/TLS_Base.h \ - DNP3/TransportConstants.h \ - DNP3/TransportLayer.h \ - DNP3/TransportRx.h \ - DNP3/TransportStates.h \ - DNP3/TransportTx.h \ - DNP3/UnsolicitedChannel.h \ - DNP3/VtoConfig.h \ - DNP3/VtoData.h \ - DNP3/VtoDataInterface.h \ - DNP3/VtoEventBufferAdapter.h \ - DNP3/VtoReader.h \ - DNP3/VtoRouter.h \ - DNP3/VtoRouterManager.h \ - DNP3/VtoRouterSettings.h \ - DNP3/VtoTransmitTask.h \ - DNP3/VtoWriter.h +aplheadersdir = $(pkgincludedir)/APL +dnpheadersdir = $(pkgincludedir)/DNP3 + +pkginclude_HEADERS = opendnp3/version.hpp + +aplheaders_HEADERS = \ + opendnp3/APL/ASIOSerialHelpers.h \ + opendnp3/APL/AsyncLayerInterfaces.h \ + opendnp3/APL/AsyncResult.h \ + opendnp3/APL/AsyncTaskBase.h \ + opendnp3/APL/AsyncTaskContinuous.h \ + opendnp3/APL/AsyncTaskGroup.h \ + opendnp3/APL/AsyncTaskInterfaces.h \ + opendnp3/APL/AsyncTaskNonPeriodic.h \ + opendnp3/APL/AsyncTaskPeriodic.h \ + opendnp3/APL/AsyncTaskScheduler.h \ + opendnp3/APL/BaseDataTypes.h \ + opendnp3/APL/BoundNotifier.h \ + opendnp3/APL/CachedLogVariable.h \ + opendnp3/APL/ChangeBuffer.h \ + opendnp3/APL/CommandInterfaces.h \ + opendnp3/APL/CommandManager.h \ + opendnp3/APL/CommandQueue.h \ + opendnp3/APL/CommandResponseQueue.h \ + opendnp3/APL/CommandTypes.h \ + opendnp3/APL/Configure.h \ + opendnp3/APL/CopyableBuffer.h \ + opendnp3/APL/CRC.h \ + opendnp3/APL/DataInterfaces.h \ + opendnp3/APL/DataTypes.h \ + opendnp3/APL/DeleteAny.h \ + opendnp3/APL/EventLockBase.h \ + opendnp3/APL/EventLock.h \ + opendnp3/APL/EventSet.h \ + opendnp3/APL/Exception.h \ + opendnp3/APL/FlexibleDataObserver.h \ + opendnp3/APL/Function.h \ + opendnp3/APL/GetKeys.h \ + opendnp3/APL/IEventLock.h \ + opendnp3/APL/IHandlerAsync.h \ + opendnp3/APL/INotifier.h \ + opendnp3/APL/IOService.h \ + opendnp3/APL/IOServiceThread.h \ + opendnp3/APL/IPhysicalLayerAsync.h \ + opendnp3/APL/IPhysicalLayerObserver.h \ + opendnp3/APL/IPhysicalLayerSource.h \ + opendnp3/APL/ISubject.h \ + opendnp3/APL/ITimer.h \ + opendnp3/APL/ITimerSource.h \ + opendnp3/APL/ITimeSource.h \ + opendnp3/APL/ITransactable.h \ + opendnp3/APL/LockBase.h \ + opendnp3/APL/LockBoost.h \ + opendnp3/APL/Lock.h \ + opendnp3/APL/LogBase.h \ + opendnp3/APL/LogEntryCircularBuffer.h \ + opendnp3/APL/LogEntry.h \ + opendnp3/APL/Loggable.h \ + opendnp3/APL/Logger.h \ + opendnp3/APL/Log.h \ + opendnp3/APL/LogToFile.h \ + opendnp3/APL/LogToStdio.h \ + opendnp3/APL/LogTypes.h \ + opendnp3/APL/LogVar.h \ + opendnp3/APL/LowerLayerToPhysAdapter.h \ + opendnp3/APL/MetricBuffer.h \ + opendnp3/APL/MultiplexingDataObserver.h \ + opendnp3/APL/Notifier.h \ + opendnp3/APL/PackingTemplates.h \ + opendnp3/APL/PackingUnpacking.h \ + opendnp3/APL/Parsing.h \ + opendnp3/APL/PhysicalLayerAsyncASIO.h \ + opendnp3/APL/PhysicalLayerAsyncBase.h \ + opendnp3/APL/PhysicalLayerAsyncBaseTCP.h \ + opendnp3/APL/PhysicalLayerAsyncSerial.h \ + opendnp3/APL/PhysicalLayerAsyncTCPClient.h \ + opendnp3/APL/PhysicalLayerAsyncTCPServer.h \ + opendnp3/APL/PhysicalLayerAsyncTCPv4Client.h \ + opendnp3/APL/PhysicalLayerAsyncTCPv4Server.h \ + opendnp3/APL/PhysicalLayerAsyncTCPv6Client.h \ + opendnp3/APL/PhysicalLayerAsyncTCPv6Server.h \ + opendnp3/APL/PhysicalLayerFactory.h \ + opendnp3/APL/PhysicalLayerFunctors.h \ + opendnp3/APL/PhysicalLayerInstance.h \ + opendnp3/APL/PhysicalLayerManager.h \ + opendnp3/APL/PhysicalLayerMap.h \ + opendnp3/APL/PhysicalLayerMonitor.h \ + opendnp3/APL/PhysicalLayerMonitorStates.h \ + opendnp3/APL/PhysicalLayerStates.h \ + opendnp3/APL/PhysLayerSettings.h \ + opendnp3/APL/PhysLoopback.h \ + opendnp3/APL/PostingNotifier.h \ + opendnp3/APL/PostingNotifierSource.h \ + opendnp3/APL/ProtocolUtil.h \ + opendnp3/APL/QualityConverter.h \ + opendnp3/APL/QualityMasks.h \ + opendnp3/APL/QueueingFDO.h \ + opendnp3/APL/Random.h \ + opendnp3/APL/RandomDouble.h \ + opendnp3/APL/RandomizedBuffer.h \ + opendnp3/APL/SerialTypes.h \ + opendnp3/APL/ShiftableBuffer.h \ + opendnp3/APL/Singleton.h \ + opendnp3/APL/SubjectBase.h \ + opendnp3/APL/SuspendTimerSource.h \ + opendnp3/APL/SyncVar.h \ + opendnp3/APL/Threadable.h \ + opendnp3/APL/ThreadBase.h \ + opendnp3/APL/ThreadBoost.h \ + opendnp3/APL/Thread.h \ + opendnp3/APL/TimeBase.h \ + opendnp3/APL/TimeBoost.h \ + opendnp3/APL/Timeout.h \ + opendnp3/APL/TimerASIO.h \ + opendnp3/APL/TimerSourceASIO.h \ + opendnp3/APL/TimeSource.h \ + opendnp3/APL/TimeTypes.h \ + opendnp3/APL/TimingTools.h \ + opendnp3/APL/ToHex.h \ + opendnp3/APL/TrackingTaskGroup.h \ + opendnp3/APL/Types.h \ + opendnp3/APL/Uncopyable.h \ + opendnp3/APL/Util.h + +dnpheaders_HEADERS = \ + opendnp3/DNP3/AlwaysOpeningVtoRouter.h \ + opendnp3/DNP3/APDUConstants.h \ + opendnp3/DNP3/APDU.h \ + opendnp3/DNP3/AppChannelStates.h \ + opendnp3/DNP3/AppConfig.h \ + opendnp3/DNP3/AppHeader.h \ + opendnp3/DNP3/AppInterfaces.h \ + opendnp3/DNP3/AppLayerChannel.h \ + opendnp3/DNP3/AppLayer.h \ + opendnp3/DNP3/AsyncStackManager.h \ + opendnp3/DNP3/BufferSetTypes.h \ + opendnp3/DNP3/BufferTypes.h \ + opendnp3/DNP3/ClassCounter.h \ + opendnp3/DNP3/ClassMask.h \ + opendnp3/DNP3/ControlTasks.h \ + opendnp3/DNP3/CTOHistory.h \ + opendnp3/DNP3/Database.h \ + opendnp3/DNP3/DatabaseInterfaces.h \ + opendnp3/DNP3/DataPoll.h \ + opendnp3/DNP3/DeviceTemplate.h \ + opendnp3/DNP3/DeviceTemplateTypes.h \ + opendnp3/DNP3/DNPCommandMaster.h \ + opendnp3/DNP3/DNPConstants.h \ + opendnp3/DNP3/DNPCrc.h \ + opendnp3/DNP3/DNPDatabaseTypes.h \ + opendnp3/DNP3/DNPExceptions.h \ + opendnp3/DNP3/DNPFromStream.h \ + opendnp3/DNP3/DNPToStream.h \ + opendnp3/DNP3/EnhancedVto.h \ + opendnp3/DNP3/EnhancedVtoRouter.h \ + opendnp3/DNP3/EventBufferBase.h \ + opendnp3/DNP3/EventBuffers.h \ + opendnp3/DNP3/EventTypes.h \ + opendnp3/DNP3/HeaderReadIterator.h \ + opendnp3/DNP3/IFrameSink.h \ + opendnp3/DNP3/ILinkContext.h \ + opendnp3/DNP3/ILinkRouter.h \ + opendnp3/DNP3/IndexedWriteIterator.h \ + opendnp3/DNP3/IStackObserver.h \ + opendnp3/DNP3/IVtoEventAcceptor.h \ + opendnp3/DNP3/LinkChannel.h \ + opendnp3/DNP3/LinkConfig.h \ + opendnp3/DNP3/LinkFrame.h \ + opendnp3/DNP3/LinkHeader.h \ + opendnp3/DNP3/LinkLayerConstants.h \ + opendnp3/DNP3/LinkLayer.h \ + opendnp3/DNP3/LinkLayerReceiver.h \ + opendnp3/DNP3/LinkLayerRouter.h \ + opendnp3/DNP3/LinkReceiverStates.h \ + opendnp3/DNP3/LinkRoute.h \ + opendnp3/DNP3/MasterConfig.h \ + opendnp3/DNP3/MasterConfigTypes.h \ + opendnp3/DNP3/Master.h \ + opendnp3/DNP3/MasterSchedule.h \ + opendnp3/DNP3/MasterStackConfig.h \ + opendnp3/DNP3/MasterStack.h \ + opendnp3/DNP3/MasterStates.h \ + opendnp3/DNP3/MasterTaskBase.h \ + opendnp3/DNP3/ObjectHeader.h \ + opendnp3/DNP3/ObjectInterfaces.h \ + opendnp3/DNP3/ObjectReadIterator.h \ + opendnp3/DNP3/Objects.h \ + opendnp3/DNP3/ObjectWriteIterator.h \ + opendnp3/DNP3/PointClass.h \ + opendnp3/DNP3/PriLinkLayerStates.h \ + opendnp3/DNP3/ResponseContext.h \ + opendnp3/DNP3/ResponseLoader.h \ + opendnp3/DNP3/SecLinkLayerStates.h \ + opendnp3/DNP3/SlaveConfig.h \ + opendnp3/DNP3/SlaveEventBuffer.h \ + opendnp3/DNP3/Slave.h \ + opendnp3/DNP3/SlaveResponseTypes.h \ + opendnp3/DNP3/SlaveStackConfig.h \ + opendnp3/DNP3/SlaveStack.h \ + opendnp3/DNP3/SlaveStates.h \ + opendnp3/DNP3/SolicitedChannel.h \ + opendnp3/DNP3/Stack.h \ + opendnp3/DNP3/StackManager.h \ + opendnp3/DNP3/StartupTasks.h \ + opendnp3/DNP3/TLS_Base.h \ + opendnp3/DNP3/TransportConstants.h \ + opendnp3/DNP3/TransportLayer.h \ + opendnp3/DNP3/TransportRx.h \ + opendnp3/DNP3/TransportStates.h \ + opendnp3/DNP3/TransportTx.h \ + opendnp3/DNP3/UnsolicitedChannel.h \ + opendnp3/DNP3/VtoConfig.h \ + opendnp3/DNP3/VtoData.h \ + opendnp3/DNP3/VtoDataInterface.h \ + opendnp3/DNP3/VtoEventBufferAdapter.h \ + opendnp3/DNP3/VtoReader.h \ + opendnp3/DNP3/VtoRouter.h \ + opendnp3/DNP3/VtoRouterManager.h \ + opendnp3/DNP3/VtoRouterSettings.h \ + opendnp3/DNP3/VtoTransmitTask.h \ + opendnp3/DNP3/VtoWriter.h bin_PROGRAMS = testset @@ -619,9 +643,9 @@ DOCBOOK2HTML=docbook2html DOCBOOK2PDF=docbook2pdf astyle: - ${ASTYLE} ${srcdir}/APL/*.cpp ${srcdir}/APL/*.h + ${ASTYLE} ${srcdir}/opendnp3/APL/*.cpp ${srcdir}/opendnp3/APL/*.h ${ASTYLE} ${srcdir}/APLTestTools/*.cpp ${srcdir}/APLTestTools/*.h - ${ASTYLE} ${srcdir}/DNP3/*.cpp ${srcdir}/DNP3/*.h + ${ASTYLE} ${srcdir}/opendnp3/DNP3/*.cpp ${srcdir}/opendnp3/DNP3/*.h ${ASTYLE} ${srcdir}/DNP3Test/*.cpp ${srcdir}/DNP3Test/*.h docs: docs-html docs-pdf @@ -636,9 +660,9 @@ include config/autotools/mk/doxygen.mak include config/autotools/mk/lcov.mak clean-swig: - -rm -rf DNP3Java/JavaDNP3.cpp DNP3Java/JavaDNP3.h + -rm -rf DNP3Java/JavaDNP3.cpp DNP3Java/JavaDNP3.h DNP3Java/.java-built -rm -rf DNP3Java/PythonDNP3.cpp DNP3Java/PythonDNP3.h - -rm -rf pyopendnp3.py pyopendnp3.pyc + -rm -rf pyopendnp3.py pyopendnp3.pyc __init__.py -rm -rf $(top_srcdir)/java -rm -rf opendnp3.jar diff --git a/Terminal/ControlResponseTE.cpp b/Terminal/ControlResponseTE.cpp old mode 100755 new mode 100644 index d08541d8..2eca3115 --- a/Terminal/ControlResponseTE.cpp +++ b/Terminal/ControlResponseTE.cpp @@ -1,8 +1,8 @@ #include "ControlResponseTE.h" -#include -#include -#include +#include +#include +#include namespace apl { diff --git a/Terminal/ControlResponseTE.h b/Terminal/ControlResponseTE.h old mode 100755 new mode 100644 index ef8da1a1..d70aff35 --- a/Terminal/ControlResponseTE.h +++ b/Terminal/ControlResponseTE.h @@ -1,10 +1,10 @@ #ifndef __CONTROL_RESPONSE_TERMINAL_EXTENSION_H_ #define __CONTROL_RESPONSE_TERMINAL_EXTENSION_H_ -#include -#include -#include -#include +#include +#include +#include +#include #include "TerminalInterfaces.h" diff --git a/Terminal/ControlTerminalExtension.cpp b/Terminal/ControlTerminalExtension.cpp old mode 100755 new mode 100644 index 569bbde2..fc1c56fe --- a/Terminal/ControlTerminalExtension.cpp +++ b/Terminal/ControlTerminalExtension.cpp @@ -1,11 +1,11 @@ #include "ControlTerminalExtension.h" -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include #include #include diff --git a/Terminal/ControlTerminalExtension.h b/Terminal/ControlTerminalExtension.h old mode 100755 new mode 100644 index fbadc996..b95813cd --- a/Terminal/ControlTerminalExtension.h +++ b/Terminal/ControlTerminalExtension.h @@ -3,8 +3,8 @@ #include "TerminalInterfaces.h" -#include -#include +#include +#include #include diff --git a/Terminal/DOTerminalExtension.cpp b/Terminal/DOTerminalExtension.cpp old mode 100755 new mode 100644 index e8b2416e..3e9e2225 --- a/Terminal/DOTerminalExtension.cpp +++ b/Terminal/DOTerminalExtension.cpp @@ -1,8 +1,8 @@ #include "DOTerminalExtension.h" -#include -#include -#include +#include +#include +#include #include #include diff --git a/Terminal/DOTerminalExtension.h b/Terminal/DOTerminalExtension.h old mode 100755 new mode 100644 index 76ca1db7..d54aa103 --- a/Terminal/DOTerminalExtension.h +++ b/Terminal/DOTerminalExtension.h @@ -3,9 +3,9 @@ #include "TerminalInterfaces.h" -#include -#include -#include +#include +#include +#include #include #include diff --git a/Terminal/FlexibleObserverTerminalExtension.cpp b/Terminal/FlexibleObserverTerminalExtension.cpp old mode 100755 new mode 100644 index 519d4192..27337c31 --- a/Terminal/FlexibleObserverTerminalExtension.cpp +++ b/Terminal/FlexibleObserverTerminalExtension.cpp @@ -1,12 +1,12 @@ #include "FlexibleObserverTerminalExtension.h" -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include #include #include diff --git a/Terminal/FlexibleObserverTerminalExtension.h b/Terminal/FlexibleObserverTerminalExtension.h old mode 100755 new mode 100644 index 564edaf9..07caf348 --- a/Terminal/FlexibleObserverTerminalExtension.h +++ b/Terminal/FlexibleObserverTerminalExtension.h @@ -3,9 +3,9 @@ #include "TerminalInterfaces.h" -#include -#include -#include +#include +#include +#include #include #include diff --git a/Terminal/LineReader.cpp b/Terminal/LineReader.cpp old mode 100755 new mode 100644 index 915748bf..0f82603a --- a/Terminal/LineReader.cpp +++ b/Terminal/LineReader.cpp @@ -1,6 +1,6 @@ #include "LineReader.h" -#include +#include using namespace std; diff --git a/Terminal/LineReader.h b/Terminal/LineReader.h old mode 100755 new mode 100644 index a8ba5b83..5c4e2b2f --- a/Terminal/LineReader.h +++ b/Terminal/LineReader.h @@ -1,9 +1,9 @@ #ifndef __LINE_READER_H_ #define __LINE_READER_H_ -#include -#include -#include +#include +#include +#include #include namespace apl diff --git a/Terminal/LogTerminalExtension.cpp b/Terminal/LogTerminalExtension.cpp old mode 100755 new mode 100644 index ec1fbed9..6e9430c4 --- a/Terminal/LogTerminalExtension.cpp +++ b/Terminal/LogTerminalExtension.cpp @@ -1,7 +1,7 @@ #include "LogTerminalExtension.h" -#include -#include +#include +#include #include #include diff --git a/Terminal/LogTerminalExtension.h b/Terminal/LogTerminalExtension.h old mode 100755 new mode 100644 index 2eaf7a85..dd17d489 --- a/Terminal/LogTerminalExtension.h +++ b/Terminal/LogTerminalExtension.h @@ -1,9 +1,9 @@ #ifndef __LOG_TERMINAL_EXTENSION_H_ #define __LOG_TERMINAL_EXTENSION_H_ -#include -#include -#include +#include +#include +#include #include "TerminalInterfaces.h" diff --git a/Terminal/PhysicalLayerIOStreamAsync.cpp b/Terminal/PhysicalLayerIOStreamAsync.cpp old mode 100755 new mode 100644 diff --git a/Terminal/PhysicalLayerIOStreamAsync.h b/Terminal/PhysicalLayerIOStreamAsync.h old mode 100755 new mode 100644 diff --git a/Terminal/PhysicalLayerSyncProxy.cpp b/Terminal/PhysicalLayerSyncProxy.cpp old mode 100755 new mode 100644 diff --git a/Terminal/PhysicalLayerSyncProxy.h b/Terminal/PhysicalLayerSyncProxy.h old mode 100755 new mode 100644 index 535ea63d..463dae78 --- a/Terminal/PhysicalLayerSyncProxy.h +++ b/Terminal/PhysicalLayerSyncProxy.h @@ -1,10 +1,10 @@ #ifndef __PHYSICAL_LAYER_SYNC_PROXY_H_ #define __PHYSICAL_LAYER_SYNC_PROXY_H_ -#include -#include -#include -#include +#include +#include +#include +#include #include #include diff --git a/Terminal/Terminal.cpp b/Terminal/Terminal.cpp old mode 100755 new mode 100644 index 9706c8f9..ea0776c8 --- a/Terminal/Terminal.cpp +++ b/Terminal/Terminal.cpp @@ -1,11 +1,11 @@ #include "Terminal.h" -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include #include #include diff --git a/Terminal/Terminal.h b/Terminal/Terminal.h old mode 100755 new mode 100644 index 9ddd5bde..ca4bf02d --- a/Terminal/Terminal.h +++ b/Terminal/Terminal.h @@ -5,8 +5,8 @@ #include "LineReader.h" #include "TerminalInterfaces.h" -#include -#include +#include +#include #include #include diff --git a/Terminal/TerminalInterfaces.cpp b/Terminal/TerminalInterfaces.cpp old mode 100755 new mode 100644 diff --git a/Terminal/TerminalInterfaces.h b/Terminal/TerminalInterfaces.h old mode 100755 new mode 100644 index 7f316424..5a861193 --- a/Terminal/TerminalInterfaces.h +++ b/Terminal/TerminalInterfaces.h @@ -25,9 +25,9 @@ #include #include -#include -#include -#include +#include +#include +#include namespace apl { diff --git a/Terminal/TokenNode.h b/Terminal/TokenNode.h old mode 100755 new mode 100644 diff --git a/TerminalTest/TestPhysicalLayerSyncProxy.cpp b/TerminalTest/TestPhysicalLayerSyncProxy.cpp old mode 100755 new mode 100644 index f058fecd..f575ee9b --- a/TerminalTest/TestPhysicalLayerSyncProxy.cpp +++ b/TerminalTest/TestPhysicalLayerSyncProxy.cpp @@ -3,10 +3,10 @@ #include #include -#include +#include #include #include -#include +#include #include #include diff --git a/TerminalTest/TestTerminal.cpp b/TerminalTest/TestTerminal.cpp old mode 100755 new mode 100644 index dc1889cc..d084c246 --- a/TerminalTest/TestTerminal.cpp +++ b/TerminalTest/TestTerminal.cpp @@ -1,9 +1,9 @@ #define BOOST_TEST_MODULE terminal #include -#include -#include -#include +#include +#include +#include #include #include diff --git a/TestAPL/AsyncPhysBaseTest.h b/TestAPL/AsyncPhysBaseTest.h index 74792aa0..4e74af71 100644 --- a/TestAPL/AsyncPhysBaseTest.h +++ b/TestAPL/AsyncPhysBaseTest.h @@ -19,7 +19,7 @@ #ifndef __ASYNC_PHYS_BASE_TEST_H_ #define __ASYNC_PHYS_BASE_TEST_H_ -#include +#include #include #include diff --git a/TestAPL/AsyncSerialTestObject.h b/TestAPL/AsyncSerialTestObject.h index 5f1636fe..cc225f35 100644 --- a/TestAPL/AsyncSerialTestObject.h +++ b/TestAPL/AsyncSerialTestObject.h @@ -23,8 +23,8 @@ #include #include -#include -#include +#include +#include #include namespace apl diff --git a/TestAPL/TestASIO.cpp b/TestAPL/TestASIO.cpp index fe48b0a0..77011118 100644 --- a/TestAPL/TestASIO.cpp +++ b/TestAPL/TestASIO.cpp @@ -19,13 +19,13 @@ #include -#include +#include #include #include #include #include -#include +#include using namespace std; using namespace boost; diff --git a/TestAPL/TestAsyncTask.cpp b/TestAPL/TestAsyncTask.cpp index e36b816b..ce2f583a 100644 --- a/TestAPL/TestAsyncTask.cpp +++ b/TestAPL/TestAsyncTask.cpp @@ -19,12 +19,12 @@ #include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include #include diff --git a/TestAPL/TestCastLongLongDouble.cpp b/TestAPL/TestCastLongLongDouble.cpp index 7ecfd6de..14c7124c 100644 --- a/TestAPL/TestCastLongLongDouble.cpp +++ b/TestAPL/TestCastLongLongDouble.cpp @@ -25,9 +25,9 @@ A manual method is included that gets around the problem as well. #include #include -#include +#include #include "math.h" -#include +#include #include #include diff --git a/TestAPL/TestCommandQueue.cpp b/TestAPL/TestCommandQueue.cpp index 3062d095..914a2103 100644 --- a/TestAPL/TestCommandQueue.cpp +++ b/TestAPL/TestCommandQueue.cpp @@ -19,7 +19,7 @@ #include #include -#include +#include #include #include diff --git a/TestAPL/TestCommandTypes.cpp b/TestAPL/TestCommandTypes.cpp index 722d47cf..a8ebcdbb 100644 --- a/TestAPL/TestCommandTypes.cpp +++ b/TestAPL/TestCommandTypes.cpp @@ -19,7 +19,7 @@ #include #include -#include +#include #include using namespace apl; diff --git a/TestAPL/TestLocks.cpp b/TestAPL/TestLocks.cpp index 74597d52..a9237828 100644 --- a/TestAPL/TestLocks.cpp +++ b/TestAPL/TestLocks.cpp @@ -19,10 +19,10 @@ #include #include -#include -#include -#include -#include +#include +#include +#include +#include using namespace apl; diff --git a/TestAPL/TestLog.cpp b/TestAPL/TestLog.cpp index ba5e006c..32ec07dd 100644 --- a/TestAPL/TestLog.cpp +++ b/TestAPL/TestLog.cpp @@ -19,10 +19,10 @@ #include #include -#include -#include +#include +#include #include -#include +#include #include #include #include diff --git a/TestAPL/TestMisc.cpp b/TestAPL/TestMisc.cpp index 5b697342..beddc020 100644 --- a/TestAPL/TestMisc.cpp +++ b/TestAPL/TestMisc.cpp @@ -31,8 +31,8 @@ using namespace std; -#include -#include +#include +#include #include diff --git a/TestAPL/TestPackingUnpacking.cpp b/TestAPL/TestPackingUnpacking.cpp index 93c5acc1..5721cf89 100644 --- a/TestAPL/TestPackingUnpacking.cpp +++ b/TestAPL/TestPackingUnpacking.cpp @@ -20,9 +20,9 @@ #include -#include -#include -#include +#include +#include +#include #include #include diff --git a/TestAPL/TestParsing.cpp b/TestAPL/TestParsing.cpp index 9996a82a..c8a897e7 100644 --- a/TestAPL/TestParsing.cpp +++ b/TestAPL/TestParsing.cpp @@ -19,7 +19,7 @@ #include #include -#include +#include BOOST_AUTO_TEST_SUITE(Parsing) diff --git a/TestAPL/TestPhysicalLayerAsyncBase.cpp b/TestAPL/TestPhysicalLayerAsyncBase.cpp index 05824c41..88309a87 100644 --- a/TestAPL/TestPhysicalLayerAsyncBase.cpp +++ b/TestAPL/TestPhysicalLayerAsyncBase.cpp @@ -21,7 +21,7 @@ #include "AsyncPhysBaseTest.h" -#include +#include using namespace apl; diff --git a/TestAPL/TestPhysicalLayerAsyncSerial.cpp b/TestAPL/TestPhysicalLayerAsyncSerial.cpp index 85fbc727..64593da1 100644 --- a/TestAPL/TestPhysicalLayerAsyncSerial.cpp +++ b/TestAPL/TestPhysicalLayerAsyncSerial.cpp @@ -24,10 +24,10 @@ #include #include -#include -#include +#include +#include #include -#include +#include using namespace apl; using namespace boost; diff --git a/TestAPL/TestPhysicalLayerAsyncTCP.cpp b/TestAPL/TestPhysicalLayerAsyncTCP.cpp index 7980b6cf..c11f4fb8 100644 --- a/TestAPL/TestPhysicalLayerAsyncTCP.cpp +++ b/TestAPL/TestPhysicalLayerAsyncTCP.cpp @@ -21,12 +21,12 @@ #include #include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include #include #include diff --git a/TestAPL/TestPhysicalLayerLoopback.cpp b/TestAPL/TestPhysicalLayerLoopback.cpp old mode 100755 new mode 100644 index 18e92cfe..80e523b7 --- a/TestAPL/TestPhysicalLayerLoopback.cpp +++ b/TestAPL/TestPhysicalLayerLoopback.cpp @@ -19,8 +19,8 @@ #include -#include -#include +#include +#include #include #include #include diff --git a/TestAPL/TestPhysicalLayerMonitor.cpp b/TestAPL/TestPhysicalLayerMonitor.cpp old mode 100755 new mode 100644 index 5fe60979..b3519fd7 --- a/TestAPL/TestPhysicalLayerMonitor.cpp +++ b/TestAPL/TestPhysicalLayerMonitor.cpp @@ -19,10 +19,10 @@ #include -#include -#include -#include -#include +#include +#include +#include +#include #include #include #include diff --git a/TestAPL/TestQualityMasks.cpp b/TestAPL/TestQualityMasks.cpp index 8de75cbb..2f7e20a6 100644 --- a/TestAPL/TestQualityMasks.cpp +++ b/TestAPL/TestQualityMasks.cpp @@ -19,8 +19,8 @@ #include #include -#include -#include +#include +#include BOOST_AUTO_TEST_SUITE(QualityMasks) diff --git a/TestAPL/TestShiftableBuffer.cpp b/TestAPL/TestShiftableBuffer.cpp index 45488bcc..a52e8f4f 100644 --- a/TestAPL/TestShiftableBuffer.cpp +++ b/TestAPL/TestShiftableBuffer.cpp @@ -19,8 +19,8 @@ #include #include -#include -#include +#include +#include using namespace apl; diff --git a/TestAPL/TestSyncVar.cpp b/TestAPL/TestSyncVar.cpp index 20fa00a1..4efffb20 100644 --- a/TestAPL/TestSyncVar.cpp +++ b/TestAPL/TestSyncVar.cpp @@ -22,9 +22,9 @@ #include #include -#include -#include -#include +#include +#include +#include using namespace std; using namespace apl; diff --git a/TestAPL/TestThreading.cpp b/TestAPL/TestThreading.cpp index 90d70c30..ca756dde 100644 --- a/TestAPL/TestThreading.cpp +++ b/TestAPL/TestThreading.cpp @@ -18,15 +18,15 @@ // #include #include -#include -#include +#include +#include #include using namespace std; -#include -#include -#include +#include +#include +#include using namespace apl; diff --git a/TestAPL/TestTime.cpp b/TestAPL/TestTime.cpp index c22db944..11c1df64 100644 --- a/TestAPL/TestTime.cpp +++ b/TestAPL/TestTime.cpp @@ -20,17 +20,17 @@ #include #include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include -#include +#include #include #include diff --git a/TestAPL/TestTimers.cpp b/TestAPL/TestTimers.cpp index 52371c73..2a610e39 100644 --- a/TestAPL/TestTimers.cpp +++ b/TestAPL/TestTimers.cpp @@ -21,10 +21,10 @@ #include -#include -#include -#include -#include +#include +#include +#include +#include #include #include diff --git a/TestAPL/TestTypes.cpp b/TestAPL/TestTypes.cpp index df457113..a72858b4 100644 --- a/TestAPL/TestTypes.cpp +++ b/TestAPL/TestTypes.cpp @@ -19,7 +19,7 @@ #define BOOST_TEST_MODULE apl #include -#include +#include #include using namespace std; diff --git a/TestAPL/TestUtil.cpp b/TestAPL/TestUtil.cpp index 07b9317e..62a35284 100644 --- a/TestAPL/TestUtil.cpp +++ b/TestAPL/TestUtil.cpp @@ -19,7 +19,7 @@ #include #include -#include +#include #include using namespace std; diff --git a/TestAPL/TestXmlBinding.cpp b/TestAPL/TestXmlBinding.cpp index ce9ae55e..1650eccb 100644 --- a/TestAPL/TestXmlBinding.cpp +++ b/TestAPL/TestXmlBinding.cpp @@ -19,8 +19,8 @@ #include -#include -#include +#include +#include #include #include #include diff --git a/TestSet/AddressScanner.cpp b/TestSet/AddressScanner.cpp old mode 100755 new mode 100644 index 519c9ee4..4cbddbb4 --- a/TestSet/AddressScanner.cpp +++ b/TestSet/AddressScanner.cpp @@ -18,7 +18,7 @@ #include "AddressScanner.h" -#include +#include #include #include diff --git a/TestSet/AddressScanner.h b/TestSet/AddressScanner.h old mode 100755 new mode 100644 index f4f60b78..3c8f926f --- a/TestSet/AddressScanner.h +++ b/TestSet/AddressScanner.h @@ -20,14 +20,14 @@ #define __ADDRESS_SCANNER_H_ #include -#include -#include -#include -#include - -#include -#include -#include +#include +#include +#include +#include + +#include +#include +#include namespace APLXML_MTS { diff --git a/TestSet/StackHelpers.cpp b/TestSet/StackHelpers.cpp index 6610eef3..3ecb3fee 100644 --- a/TestSet/StackHelpers.cpp +++ b/TestSet/StackHelpers.cpp @@ -18,10 +18,10 @@ // #include "StackHelpers.h" -#include -#include -#include -#include +#include +#include +#include +#include #include #include @@ -38,7 +38,7 @@ namespace dnp IPhysicalLayerAsync* FGetTerminalPhys(Logger* apLogger, boost::asio::io_service* apSrv, bool aRemote, boost::uint16_t aRemotePort) { - if (aRemote) return PhysicalLayerFactory::FGetTCPServerAsync("0.0.0.0", aRemotePort, apSrv, apLogger); + if (aRemote) return PhysicalLayerFactory::FGetTCPv4ServerAsync("0.0.0.0", aRemotePort, apSrv, apLogger); else return new PhysicalLayerIOStreamAsync(apLogger, apSrv); } diff --git a/TestSet/StackHelpers.h b/TestSet/StackHelpers.h index 84499b02..082c987a 100644 --- a/TestSet/StackHelpers.h +++ b/TestSet/StackHelpers.h @@ -19,16 +19,16 @@ #ifndef __STACK_HELPERS_H_ #define __STACK_HELPERS_H_ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include diff --git a/TestSet/main.cpp b/TestSet/main.cpp index 7736d5fa..c2c66626 100644 --- a/TestSet/main.cpp +++ b/TestSet/main.cpp @@ -27,7 +27,7 @@ #include "StackHelpers.h" #include "AddressScanner.h" -#include +#include #include diff --git a/XMLBindings/APLXML_Base.cpp b/XMLBindings/APLXML_Base.cpp old mode 100755 new mode 100644 index f654f63d..6402800e --- a/XMLBindings/APLXML_Base.cpp +++ b/XMLBindings/APLXML_Base.cpp @@ -167,7 +167,7 @@ string ToString_StopBitsEnum(StopBitsEnum aValue) { throw apl::Exception(LOCATION, oss.str()); }; -void TCPClient_t :: fromXml(TiXmlNode* pNode){ +void TCPv4Client_t :: fromXml(TiXmlNode* pNode){ if(pNode == NULL)return; XML_CHECK("TCPClient",pNode->Type() == TiXmlNode::ELEMENT); TiXmlElement* pEm = pNode->ToElement(); @@ -177,7 +177,7 @@ void TCPClient_t :: fromXml(TiXmlNode* pNode){ Port = FromString_int(pEm, pEm->Attribute("Port")); valid=true; }; -void TCPClient_t :: toXml(TiXmlNode* pParent, bool aCreateNode, bool aIgnoreValid){ +void TCPv4Client_t :: toXml(TiXmlNode* pParent, bool aCreateNode, bool aIgnoreValid){ if(!aIgnoreValid && !valid) return; TiXmlElement * pEm; if(aCreateNode){ @@ -191,7 +191,7 @@ void TCPClient_t :: toXml(TiXmlNode* pParent, bool aCreateNode, bool aIgnoreVali pEm->SetAttribute("Port", ToString_int(Port)); }; -void TCPServer_t :: fromXml(TiXmlNode* pNode){ +void TCPv4Server_t :: fromXml(TiXmlNode* pNode){ if(pNode == NULL)return; XML_CHECK("TCPServer",pNode->Type() == TiXmlNode::ELEMENT); TiXmlElement* pEm = pNode->ToElement(); @@ -201,7 +201,7 @@ void TCPServer_t :: fromXml(TiXmlNode* pNode){ Port = FromString_int(pEm, pEm->Attribute("Port")); valid=true; }; -void TCPServer_t :: toXml(TiXmlNode* pParent, bool aCreateNode, bool aIgnoreValid){ +void TCPv4Server_t :: toXml(TiXmlNode* pParent, bool aCreateNode, bool aIgnoreValid){ if(!aIgnoreValid && !valid) return; TiXmlElement * pEm; if(aCreateNode){ @@ -215,6 +215,54 @@ void TCPServer_t :: toXml(TiXmlNode* pParent, bool aCreateNode, bool aIgnoreVali pEm->SetAttribute("Port", ToString_int(Port)); }; +void TCPv6Client_t :: fromXml(TiXmlNode* pNode){ + if(pNode == NULL)return; + XML_CHECK("TCPv6Client",pNode->Type() == TiXmlNode::ELEMENT); + TiXmlElement* pEm = pNode->ToElement(); + XML_CHECK("TCPv6Client",pEm != 0); + this->APLXML_Base::PhysicalLayerDescriptor_t::fromXml(pNode); + Address = FromString_string(pEm, pEm->Attribute("Address")); + Port = FromString_int(pEm, pEm->Attribute("Port")); + valid=true; +}; +void TCPv6Client_t :: toXml(TiXmlNode* pParent, bool aCreateNode, bool aIgnoreValid){ + if(!aIgnoreValid && !valid) return; + TiXmlElement * pEm; + if(aCreateNode){ + pEm = new TiXmlElement("TCPv6Client"); + pParent->LinkEndChild(pEm); + }else{ + pEm = pParent->ToElement(); + } + this->APLXML_Base::PhysicalLayerDescriptor_t::toXml(pEm, false, aIgnoreValid); + pEm->SetAttribute("Address", ToString_string(Address)); + pEm->SetAttribute("Port", ToString_int(Port)); +}; + +void TCPv6Server_t :: fromXml(TiXmlNode* pNode){ + if(pNode == NULL)return; + XML_CHECK("TCPv6Server",pNode->Type() == TiXmlNode::ELEMENT); + TiXmlElement* pEm = pNode->ToElement(); + XML_CHECK("TCPv6Server",pEm != 0); + this->APLXML_Base::PhysicalLayerDescriptor_t::fromXml(pNode); + Endpoint = FromString_string(pEm, pEm->Attribute("Endpoint")); + Port = FromString_int(pEm, pEm->Attribute("Port")); + valid=true; +}; +void TCPv6Server_t :: toXml(TiXmlNode* pParent, bool aCreateNode, bool aIgnoreValid){ + if(!aIgnoreValid && !valid) return; + TiXmlElement * pEm; + if(aCreateNode){ + pEm = new TiXmlElement("TCPv6Server"); + pParent->LinkEndChild(pEm); + }else{ + pEm = pParent->ToElement(); + } + this->APLXML_Base::PhysicalLayerDescriptor_t::toXml(pEm, false, aIgnoreValid); + pEm->SetAttribute("Endpoint", ToString_string(Endpoint)); + pEm->SetAttribute("Port", ToString_int(Port)); +}; + void Log_t :: fromXml(TiXmlNode* pNode){ if(pNode == NULL)return; XML_CHECK("Log",pNode->Type() == TiXmlNode::ELEMENT); @@ -268,21 +316,25 @@ void Serial_t :: toXml(TiXmlNode* pParent, bool aCreateNode, bool aIgnoreValid){ }; PhysicalLayerList_t::PhysicalLayerList_t(): - TCPServer("TCPServer"), TCPServerVector(TCPServer.collection), - TCPClient("TCPClient"), TCPClientVector(TCPClient.collection), + TCPv4Server("TCPServer"), TCPv4ServerVector(TCPv4Server.collection), + TCPv4Client("TCPClient"), TCPv4ClientVector(TCPv4Client.collection), + TCPv6Server("TCPv6Server"), TCPv6ServerVector(TCPv6Server.collection), + TCPv6Client("TCPv6Client"), TCPv6ClientVector(TCPv6Client.collection), Serial("Serial"), SerialVector(Serial.collection){}; void PhysicalLayerList_t :: fromXml(TiXmlNode* pNode){ if(pNode == NULL)return; XML_CHECK("PhysicalLayerList",pNode->Type() == TiXmlNode::ELEMENT); TiXmlElement* pEm = pNode->ToElement(); XML_CHECK("PhysicalLayerList",pEm != 0); - TCPServer.fromXml(pNode); - TCPClient.fromXml(pNode); + TCPv4Server.fromXml(pNode); + TCPv4Client.fromXml(pNode); + TCPv6Server.fromXml(pNode); + TCPv6Client.fromXml(pNode); Serial.fromXml(pNode); valid=true; }; void PhysicalLayerList_t :: toXml(TiXmlNode* pParent, bool aCreateNode, bool aIgnoreValid){ - if(TCPServer.size() == 0 && TCPClient.size() == 0 && Serial.size() == 0)return; + if(TCPv4Server.size() == 0 && TCPv4Client.size() == 0 && TCPv6Server.size() == 0 && TCPv6Client.size() == 0 && Serial.size() == 0)return; if(!aIgnoreValid && !valid) return; TiXmlElement * pEm; if(aCreateNode){ @@ -291,8 +343,10 @@ void PhysicalLayerList_t :: toXml(TiXmlNode* pParent, bool aCreateNode, bool aIg }else{ pEm = pParent->ToElement(); } - TCPServer.toXml(pEm, true, aIgnoreValid); - TCPClient.toXml(pEm, true, aIgnoreValid); + TCPv4Server.toXml(pEm, true, aIgnoreValid); + TCPv4Client.toXml(pEm, true, aIgnoreValid); + TCPv6Server.toXml(pEm, true, aIgnoreValid); + TCPv6Client.toXml(pEm, true, aIgnoreValid); Serial.toXml(pEm, true, aIgnoreValid); }; diff --git a/XMLBindings/APLXML_Base.h b/XMLBindings/APLXML_Base.h old mode 100755 new mode 100644 index 42e62a43..d7d2f509 --- a/XMLBindings/APLXML_Base.h +++ b/XMLBindings/APLXML_Base.h @@ -72,20 +72,37 @@ enum StopBitsEnum { StopBitsEnum FromString_StopBitsEnum(TiXmlNode* apParent, const char* aValue); string ToString_StopBitsEnum(StopBitsEnum aValue); -class TCPClient_t : public APLXML_Base::PhysicalLayerDescriptor_t{ +class TCPv4Client_t : public APLXML_Base::PhysicalLayerDescriptor_t{ public: void toXml(TiXmlNode* pParent, bool aCreateNode, bool aIgnoreValid); void fromXml(TiXmlNode* pNode); string Address; int Port; }; -class TCPServer_t : public APLXML_Base::PhysicalLayerDescriptor_t{ + +class TCPv4Server_t : public APLXML_Base::PhysicalLayerDescriptor_t{ public: void toXml(TiXmlNode* pParent, bool aCreateNode, bool aIgnoreValid); void fromXml(TiXmlNode* pNode); string Endpoint; int Port; }; + +class TCPv6Client_t : public APLXML_Base::PhysicalLayerDescriptor_t{ +public: + void toXml(TiXmlNode* pParent, bool aCreateNode, bool aIgnoreValid); + void fromXml(TiXmlNode* pNode); + string Address; + int Port; +}; +class TCPv6Server_t : public APLXML_Base::PhysicalLayerDescriptor_t{ +public: + void toXml(TiXmlNode* pParent, bool aCreateNode, bool aIgnoreValid); + void fromXml(TiXmlNode* pNode); + string Endpoint; + int Port; +}; + class Log_t : public IXMLDataBound { public: void toXml(TiXmlNode* pParent, bool aCreateNode, bool aIgnoreValid); @@ -110,12 +127,22 @@ namespace APLXML_Base{ #endif #ifdef SWIG } -%template(TCPClient_c) std::vector; +%template(TCPv4Client_c) std::vector; namespace APLXML_Base{ #endif #ifdef SWIG } -%template(TCPServer_c) std::vector; +%template(TCPv4Server_c) std::vector; +namespace APLXML_Base{ +#endif +#ifdef SWIG +} +%template(TCPv6Client_c) std::vector; +namespace APLXML_Base{ +#endif +#ifdef SWIG +} +%template(TCPv6Server_c) std::vector; namespace APLXML_Base{ #endif class PhysicalLayerList_t : public IXMLDataBound { @@ -125,15 +152,27 @@ class PhysicalLayerList_t : public IXMLDataBound { PhysicalLayerList_t(); #ifdef SWIG -%immutable TCPServerVector; +%immutable TCPv4ServerVector; +#endif + private: collectedType < TCPv4Server_t > TCPv4Server; + public: vector < TCPv4Server_t* >& TCPv4ServerVector; +#ifdef SWIG +%immutable TCPv4ClientVector; #endif - private: collectedType < TCPServer_t > TCPServer; - public: vector < TCPServer_t* >& TCPServerVector; + private: collectedType < TCPv4Client_t > TCPv4Client; + public: vector < TCPv4Client_t* >& TCPv4ClientVector; + #ifdef SWIG -%immutable TCPClientVector; +%immutable TCPv6ServerVector; #endif - private: collectedType < TCPClient_t > TCPClient; - public: vector < TCPClient_t* >& TCPClientVector; + private: collectedType < TCPv6Server_t > TCPv6Server; + public: vector < TCPv6Server_t* >& TCPv6ServerVector; +#ifdef SWIG +%immutable TCPv6ClientVector; +#endif + private: collectedType < TCPv6Client_t > TCPv6Client; + public: vector < TCPv6Client_t* >& TCPv6ClientVector; + #ifdef SWIG %immutable SerialVector; #endif diff --git a/XMLBindings/APLXML_DNP.cpp b/XMLBindings/APLXML_DNP.cpp old mode 100755 new mode 100644 diff --git a/XMLBindings/APLXML_DNP.h b/XMLBindings/APLXML_DNP.h old mode 100755 new mode 100644 diff --git a/XMLBindings/APLXML_MTS.cpp b/XMLBindings/APLXML_MTS.cpp old mode 100755 new mode 100644 diff --git a/XMLBindings/APLXML_MTS.h b/XMLBindings/APLXML_MTS.h old mode 100755 new mode 100644 diff --git a/XMLBindings/APLXML_STS.cpp b/XMLBindings/APLXML_STS.cpp old mode 100755 new mode 100644 diff --git a/XMLBindings/APLXML_STS.h b/XMLBindings/APLXML_STS.h old mode 100755 new mode 100644 diff --git a/configure.ac b/configure.ac index efd317ad..1caf6108 100644 --- a/configure.ac +++ b/configure.ac @@ -103,6 +103,8 @@ if test "$want_java" = yes; then want_swig="yes" if test "x$ac_java_path" != "x"; then CPPFLAGS="$CPPFLAGS -I$ac_java_path" + else + CPPFLAGS="$CPPFLAGS -I/usr/lib/jvm/default-java/include" fi AC_CHECK_HEADERS([jni.h] ,,AC_MSG_ERROR(missing header)) AM_PROG_GCJ diff --git a/demos/master-cpp/DemoMain.cpp b/demos/master-cpp/DemoMain.cpp index 493a2c73..84ee8d1c 100755 --- a/demos/master-cpp/DemoMain.cpp +++ b/demos/master-cpp/DemoMain.cpp @@ -21,8 +21,8 @@ #include -#include -#include +#include +#include using namespace std; using namespace apl; @@ -111,9 +111,9 @@ int main(int argc, char* argv[]) // stacks, as well as their physical layers. AsyncStackManager mgr(log.GetLogger(LOG_LEVEL, "dnp")); - // Connect via a TCPClient socket to a slave. The server will + // Connect via a TCPv4Client socket to a slave. The server will // wait 3000 ms in between failed bind calls. - mgr.AddTCPClient( + mgr.AddTCPv4Client( "tcpclient", PhysLayerSettings(LOG_LEVEL, 3000), remote_ip.c_str(), diff --git a/demos/master-cpp/MasterDemo.h b/demos/master-cpp/MasterDemo.h index 8579bf88..0169ab5b 100755 --- a/demos/master-cpp/MasterDemo.h +++ b/demos/master-cpp/MasterDemo.h @@ -20,20 +20,20 @@ #ifndef __MASTER_DEMO_H_ #define __MASTER_DEMO_H_ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include namespace apl { namespace dnp { diff --git a/demos/master-python/master_demo.py b/demos/master-python/master_demo.py new file mode 100644 index 00000000..9d7001f3 --- /dev/null +++ b/demos/master-python/master_demo.py @@ -0,0 +1,122 @@ +import time + +# import opendnp3 instead of from opendnp3 import * +# In DataObserver._Update, there is a serious of ifs +# which check the type of a point (if (t == opendnp3.Binary)). +# It was causing a SWIG director method exception to be thrown +# when the ifs were written if (t == Binary). +import opendnp3 + +binary_list = [] +analog_list = [] +counter_list = [] +controlstatus_list = [] +setpointstatus_list =[] + +class StackObserver(opendnp3.IStackObserver): + def __init__(self): + super(StackObserver, self).__init__() + + def OnStateChange(self, change): + print('The stack state has changed: %s' % opendnp3.ConvertStackStateToString(change)) + +class DataObserver(opendnp3.IDataObserver): + def __init__(self): + # call the IDataObserver class's init function + super(DataObserver, self).__init__() + self.newData = False + + def Load(self, point, point_map, index): + if (len(point_map) <= index): + point_map.append([]) + + point_map[index] = point + + # this implements the following virtual functions in the IDataObserver class + # virtual void _Update(const Binary& arPoint, size_t) = 0; + # virtual void _Update(const Analog& arPoint, size_t) = 0; + # virtual void _Update(const Counter& arPoint, size_t) = 0; + # virtual void _Update(const ControlStatus& arPoint, size_t) = 0; + # virtual void _Update(const SetpointStatus& arPoint, size_t) = 0; + def _Update(self, point, index): + self.newData = True + t = type(point) + + if (t == opendnp3.Binary): + print("Update Binary %d: %d" % (index, point.GetValue())) + self.Load(point, binary_list, index) + elif (t == opendnp3.Analog): + print("Update Analog %d: %d" % (index, point.GetValue())) + self.Load(point, analog_list, index) + elif (t == opendnp3.Counter): + print("Update Counter %d: %d" % (index, point.GetValue())) + self.Load(point, counter_list, index) + elif (t == opendnp3.ControlStatus): + print("Update ControlStatus %d: %d" % (index, point.GetValue())) + self.Load(point, controlstatus_list, index) + elif (t == opendnp3.SetpointStatus): + print("Update SetpointStatus %d: %d" % (index, point.GetValue())) + self.Load(point, setpointstatus_list, index) + + # this implements a virtual function in the ITransactable class + # virtual void _Start() = 0; + def _Start(self): + # nothing to do + print('Start') + + # this implements a virtual function in the ITransactable class + # virtual void _End() = 0; + def _End(self): + print('End') + self.newData = False + +def main(): + # 1. Extend IDataObserver and IStackObserver + # 2. Add a Physical Layer (TCP Client) to the StackManager + # 3. Create a MasterConfig. + # 4. Add a Master Stack to the StackManager + # 5. Let the process run + + stack_observer = StackObserver() + observer = DataObserver() + + phys_layer_settings = opendnp3.PhysLayerSettings() + + stack_manager = opendnp3.StackManager() + stack_manager.AddTCPv4Client('tcpclient', phys_layer_settings, '127.0.0.1', 4999) + + master_stack_config = opendnp3.MasterStackConfig() +# master_stack_config.master.DoUnsolOnStartup = True + + master_stack_config.link.LocalAddr = 100 + master_stack_config.link.RemoteAddr = 1 +# master_stack_config.link.useConfirms = True + + # set the stack observer callback to our Python-extended class + master_stack_config.master.mpObserver = stack_observer + + # the integrity rate is the # of milliseconds between integrity scans + #master_stack_config.master.IntegrityRate = 1000 + + # The third argument needs to be a log FilterLevel. The Python + # API does not have access to this enum, but it can be "fed" to + # the AddMaster method because the PhysLayerSettings LogLevel + # member is a FilterLevel enum. + command_acceptor = stack_manager.AddMaster('tcpclient', 'master', phys_layer_settings.LogLevel, observer, master_stack_config) + + # Need to wait because the polling is now occurring on its own + # thread. If we exited immediately, the callbacks would never + # be called. + time.sleep(2) + + print('Binaries: %d' % (len(binary_list))) + print('Analogs: %d' % (len(analog_list))) + print('Counters: %d' % (len(counter_list))) + print('ControlStatus: %d' % (len(controlstatus_list))) + print('Setpointstatus: %d' % (len(setpointstatus_list))) + + while (True): + time.sleep(60) + +if __name__ == '__main__': + main() diff --git a/demos/slave-cpp/DemoMain.cpp b/demos/slave-cpp/DemoMain.cpp index 46862aa8..ed345c3e 100755 --- a/demos/slave-cpp/DemoMain.cpp +++ b/demos/slave-cpp/DemoMain.cpp @@ -22,8 +22,8 @@ #include #include -#include -#include +#include +#include using namespace std; using namespace apl; @@ -110,9 +110,9 @@ int main(int argc, char* argv[]) // stacks, as well as their physical layers AsyncStackManager mgr(log.GetLogger(LOG_LEVEL, "dnp")); - // Add a TCPServer to the manager with the name "tcpserver". + // Add a TCPv4Server to the manager with the name "tcpserver". // The server will wait 3000 ms in between failed bind calls. - mgr.AddTCPServer( + mgr.AddTCPv4Server( "tcpserver", PhysLayerSettings(LOG_LEVEL, 3000), local_ip, diff --git a/demos/slave-cpp/SlaveDemo.h b/demos/slave-cpp/SlaveDemo.h index cce33b36..92301f63 100755 --- a/demos/slave-cpp/SlaveDemo.h +++ b/demos/slave-cpp/SlaveDemo.h @@ -20,19 +20,19 @@ #ifndef __SLAVE_DEMO_H_ #define __SLAVE_DEMO_H_ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include namespace apl { diff --git a/APL/APL.vcxproj b/opendnp3/APL/APL.vcxproj similarity index 100% rename from APL/APL.vcxproj rename to opendnp3/APL/APL.vcxproj diff --git a/APL/APL.vcxproj.filters b/opendnp3/APL/APL.vcxproj.filters similarity index 100% rename from APL/APL.vcxproj.filters rename to opendnp3/APL/APL.vcxproj.filters diff --git a/APL/ASIOSerialHelpers.cpp b/opendnp3/APL/ASIOSerialHelpers.cpp similarity index 97% rename from APL/ASIOSerialHelpers.cpp rename to opendnp3/APL/ASIOSerialHelpers.cpp index 45b8b607..93a76a81 100644 --- a/APL/ASIOSerialHelpers.cpp +++ b/opendnp3/APL/ASIOSerialHelpers.cpp @@ -17,12 +17,11 @@ // under the License. // -#include "ASIOSerialHelpers.h" - -#include -#include "Exception.h" +#include +#include #include +#include using namespace boost::asio; using namespace boost::system; diff --git a/APL/ASIOSerialHelpers.h b/opendnp3/APL/ASIOSerialHelpers.h similarity index 97% rename from APL/ASIOSerialHelpers.h rename to opendnp3/APL/ASIOSerialHelpers.h index f8a85e58..d0bb050c 100644 --- a/APL/ASIOSerialHelpers.h +++ b/opendnp3/APL/ASIOSerialHelpers.h @@ -19,9 +19,9 @@ #ifndef _ASIO_SERIAL_HELPERS_H_ #define _ASIO_SERIAL_HELPERS_H_ -#include +#include -#include "SerialTypes.h" +#include namespace boost { diff --git a/APL/AsyncLayerInterfaces.cpp b/opendnp3/APL/AsyncLayerInterfaces.cpp similarity index 94% rename from APL/AsyncLayerInterfaces.cpp rename to opendnp3/APL/AsyncLayerInterfaces.cpp index d6be1fe2..dbb11dbd 100644 --- a/APL/AsyncLayerInterfaces.cpp +++ b/opendnp3/APL/AsyncLayerInterfaces.cpp @@ -16,12 +16,10 @@ // specific language governing permissions and limitations // under the License. // -#include "AsyncLayerInterfaces.h" - - -#include "Exception.h" -#include "Logger.h" -#include "ToHex.h" +#include +#include +#include +#include namespace apl { diff --git a/APL/AsyncLayerInterfaces.h b/opendnp3/APL/AsyncLayerInterfaces.h similarity index 97% rename from APL/AsyncLayerInterfaces.h rename to opendnp3/APL/AsyncLayerInterfaces.h index 19dc3851..7034c70c 100644 --- a/APL/AsyncLayerInterfaces.h +++ b/opendnp3/APL/AsyncLayerInterfaces.h @@ -19,10 +19,8 @@ #ifndef __ASYNC_LAYER_INTERFACES_H_ #define __ASYNC_LAYER_INTERFACES_H_ - - -#include "Types.h" -#include "Loggable.h" +#include +#include /* Reusable asynchronous interfaces for protocol stacks. diff --git a/APL/AsyncResult.cpp b/opendnp3/APL/AsyncResult.cpp old mode 100755 new mode 100644 similarity index 95% rename from APL/AsyncResult.cpp rename to opendnp3/APL/AsyncResult.cpp index 73725d98..3ffba5bb --- a/APL/AsyncResult.cpp +++ b/opendnp3/APL/AsyncResult.cpp @@ -17,14 +17,14 @@ // under the License. // -#include "AsyncResult.h" +#include namespace apl { AsyncResult::AsyncResult() : mIsComplete(false) { - + } void AsyncResult::Complete() @@ -35,7 +35,7 @@ void AsyncResult::Complete() void AsyncResult::Success() { - CriticalSection cs(&mLock); + CriticalSection cs(&mLock); this->Complete(); cs.Broadcast(); } diff --git a/APL/AsyncResult.h b/opendnp3/APL/AsyncResult.h old mode 100755 new mode 100644 similarity index 90% rename from APL/AsyncResult.h rename to opendnp3/APL/AsyncResult.h index 974c86d6..ce03e44f --- a/APL/AsyncResult.h +++ b/opendnp3/APL/AsyncResult.h @@ -19,9 +19,9 @@ #ifndef __ASYNC_RESULT_H_ #define __ASYNC_RESULT_H_ -#include "Lock.h" -#include "Exception.h" -#include "Function.h" +#include +#include +#include namespace apl { @@ -34,7 +34,7 @@ class AsyncResult void Success(); void Failure(const FunctionVoidZero& arFun); - void Wait(); + void Wait(); private: void Complete(); diff --git a/APL/AsyncTaskBase.cpp b/opendnp3/APL/AsyncTaskBase.cpp similarity index 97% rename from APL/AsyncTaskBase.cpp rename to opendnp3/APL/AsyncTaskBase.cpp index 9cbe5b70..2b127ba3 100644 --- a/APL/AsyncTaskBase.cpp +++ b/opendnp3/APL/AsyncTaskBase.cpp @@ -16,11 +16,9 @@ // specific language governing permissions and limitations // under the License. // -#include "AsyncTaskBase.h" - - -#include "Exception.h" -#include "AsyncTaskGroup.h" +#include +#include +#include #include diff --git a/APL/AsyncTaskBase.h b/opendnp3/APL/AsyncTaskBase.h similarity index 97% rename from APL/AsyncTaskBase.h rename to opendnp3/APL/AsyncTaskBase.h index 34a1ce7f..a75f98cb 100644 --- a/APL/AsyncTaskBase.h +++ b/opendnp3/APL/AsyncTaskBase.h @@ -19,13 +19,12 @@ #ifndef __ASYNC_TASK_BASE_H_ #define __ASYNC_TASK_BASE_H_ +#include +#include +#include -#include "AsyncTaskInterfaces.h" -#include "Types.h" -#include "Uncopyable.h" - -#include #include +#include namespace apl { diff --git a/APL/AsyncTaskContinuous.cpp b/opendnp3/APL/AsyncTaskContinuous.cpp similarity index 90% rename from APL/AsyncTaskContinuous.cpp rename to opendnp3/APL/AsyncTaskContinuous.cpp index 6fd04584..9419c03f 100644 --- a/APL/AsyncTaskContinuous.cpp +++ b/opendnp3/APL/AsyncTaskContinuous.cpp @@ -16,10 +16,9 @@ // specific language governing permissions and limitations // under the License. // -#include "AsyncTaskContinuous.h" - -#include "AsyncTaskGroup.h" -#include "Exception.h" +#include +#include +#include #include diff --git a/APL/AsyncTaskContinuous.h b/opendnp3/APL/AsyncTaskContinuous.h similarity index 94% rename from APL/AsyncTaskContinuous.h rename to opendnp3/APL/AsyncTaskContinuous.h index a41dee52..e49c5ce4 100644 --- a/APL/AsyncTaskContinuous.h +++ b/opendnp3/APL/AsyncTaskContinuous.h @@ -19,8 +19,8 @@ #ifndef __ASYNC_TASK_CONTINUOUS_H_ #define __ASYNC_TASK_CONTINUOUS_H_ -#include "AsyncTaskInterfaces.h" -#include "AsyncTaskBase.h" +#include +#include namespace apl { diff --git a/APL/AsyncTaskGroup.cpp b/opendnp3/APL/AsyncTaskGroup.cpp similarity index 93% rename from APL/AsyncTaskGroup.cpp rename to opendnp3/APL/AsyncTaskGroup.cpp index 3c868610..b3a62897 100644 --- a/APL/AsyncTaskGroup.cpp +++ b/opendnp3/APL/AsyncTaskGroup.cpp @@ -16,19 +16,17 @@ // specific language governing permissions and limitations // under the License. // -#include "AsyncTaskGroup.h" +#include +#include +#include +#include +#include +#include +#include +#include -#include "AsyncTaskBase.h" -#include "AsyncTaskPeriodic.h" -#include "AsyncTaskNonPeriodic.h" -#include "AsyncTaskContinuous.h" -#include "AsyncTaskScheduler.h" -#include "Exception.h" - -#include "ITimerSource.h" - -#include #include +#include using namespace boost::posix_time; diff --git a/APL/AsyncTaskGroup.h b/opendnp3/APL/AsyncTaskGroup.h similarity index 95% rename from APL/AsyncTaskGroup.h rename to opendnp3/APL/AsyncTaskGroup.h index 9da44dc1..f27de4c0 100644 --- a/APL/AsyncTaskGroup.h +++ b/opendnp3/APL/AsyncTaskGroup.h @@ -19,14 +19,13 @@ #ifndef __ASYNC_TASK_GROUP_H_ #define __ASYNC_TASK_GROUP_H_ +#include +#include +#include -#include "Types.h" -#include "AsyncTaskInterfaces.h" -#include "Uncopyable.h" - -#include -#include #include +#include +#include namespace apl { diff --git a/APL/AsyncTaskInterfaces.h b/opendnp3/APL/AsyncTaskInterfaces.h similarity index 100% rename from APL/AsyncTaskInterfaces.h rename to opendnp3/APL/AsyncTaskInterfaces.h diff --git a/APL/AsyncTaskNonPeriodic.cpp b/opendnp3/APL/AsyncTaskNonPeriodic.cpp similarity index 94% rename from APL/AsyncTaskNonPeriodic.cpp rename to opendnp3/APL/AsyncTaskNonPeriodic.cpp index 7306add2..7d4a993b 100644 --- a/APL/AsyncTaskNonPeriodic.cpp +++ b/opendnp3/APL/AsyncTaskNonPeriodic.cpp @@ -16,9 +16,8 @@ // specific language governing permissions and limitations // under the License. // -#include "AsyncTaskNonPeriodic.h" - -#include "AsyncTaskGroup.h" +#include +#include using namespace boost::posix_time; diff --git a/APL/AsyncTaskNonPeriodic.h b/opendnp3/APL/AsyncTaskNonPeriodic.h similarity index 92% rename from APL/AsyncTaskNonPeriodic.h rename to opendnp3/APL/AsyncTaskNonPeriodic.h index 343fa6b8..8ce63877 100644 --- a/APL/AsyncTaskNonPeriodic.h +++ b/opendnp3/APL/AsyncTaskNonPeriodic.h @@ -19,13 +19,13 @@ #ifndef __ASYNC_TASK_NON_PERIODIC_H_ #define __ASYNC_TASK_NON_PERIODIC_H_ -#include "AsyncTaskInterfaces.h" -#include "AsyncTaskBase.h" -#include "Types.h" -#include "Uncopyable.h" +#include +#include +#include +#include -#include #include +#include namespace apl { diff --git a/APL/AsyncTaskPeriodic.cpp b/opendnp3/APL/AsyncTaskPeriodic.cpp similarity index 94% rename from APL/AsyncTaskPeriodic.cpp rename to opendnp3/APL/AsyncTaskPeriodic.cpp index 0c7488db..3b4f38d2 100644 --- a/APL/AsyncTaskPeriodic.cpp +++ b/opendnp3/APL/AsyncTaskPeriodic.cpp @@ -16,9 +16,8 @@ // specific language governing permissions and limitations // under the License. // -#include "AsyncTaskPeriodic.h" - -#include "AsyncTaskGroup.h" +#include +#include using namespace boost::posix_time; diff --git a/APL/AsyncTaskPeriodic.h b/opendnp3/APL/AsyncTaskPeriodic.h similarity index 92% rename from APL/AsyncTaskPeriodic.h rename to opendnp3/APL/AsyncTaskPeriodic.h index e29e4517..91c4638e 100644 --- a/APL/AsyncTaskPeriodic.h +++ b/opendnp3/APL/AsyncTaskPeriodic.h @@ -19,14 +19,13 @@ #ifndef __ASYNC_TASK_PERIODIC_H_ #define __ASYNC_TASK_PERIODIC_H_ +#include +#include +#include +#include -#include "AsyncTaskInterfaces.h" -#include "AsyncTaskBase.h" -#include "Types.h" -#include "Uncopyable.h" - -#include #include +#include namespace apl { diff --git a/APL/AsyncTaskScheduler.cpp b/opendnp3/APL/AsyncTaskScheduler.cpp similarity index 91% rename from APL/AsyncTaskScheduler.cpp rename to opendnp3/APL/AsyncTaskScheduler.cpp index 9f6a78ab..459209ce 100644 --- a/APL/AsyncTaskScheduler.cpp +++ b/opendnp3/APL/AsyncTaskScheduler.cpp @@ -16,15 +16,13 @@ // specific language governing permissions and limitations // under the License. // -#include "AsyncTaskScheduler.h" +#include +#include +#include +#include -#include "AsyncTaskGroup.h" -#include "AsyncTaskBase.h" -#include "Exception.h" - -#include #include - +#include #include using namespace std; diff --git a/APL/AsyncTaskScheduler.h b/opendnp3/APL/AsyncTaskScheduler.h similarity index 95% rename from APL/AsyncTaskScheduler.h rename to opendnp3/APL/AsyncTaskScheduler.h index 02afdd1b..59fdf410 100644 --- a/APL/AsyncTaskScheduler.h +++ b/opendnp3/APL/AsyncTaskScheduler.h @@ -19,12 +19,11 @@ #ifndef __ASYNC_TASK_SCHEDULER_H_ #define __ASYNC_TASK_SCHEDULER_H_ +#include +#include -#include #include - -#include "TimeSource.h" -#include "Lock.h" +#include namespace apl { diff --git a/APL/BaseDataTypes.cpp b/opendnp3/APL/BaseDataTypes.cpp similarity index 96% rename from APL/BaseDataTypes.cpp rename to opendnp3/APL/BaseDataTypes.cpp index 106562d9..2ed398c4 100644 --- a/APL/BaseDataTypes.cpp +++ b/opendnp3/APL/BaseDataTypes.cpp @@ -16,11 +16,8 @@ // specific language governing permissions and limitations // under the License. // -#include "BaseDataTypes.h" - -#include "TimingTools.h" - - +#include +#include using namespace std; diff --git a/APL/BaseDataTypes.h b/opendnp3/APL/BaseDataTypes.h similarity index 98% rename from APL/BaseDataTypes.h rename to opendnp3/APL/BaseDataTypes.h index 07686917..e70cbd7d 100644 --- a/APL/BaseDataTypes.h +++ b/opendnp3/APL/BaseDataTypes.h @@ -19,15 +19,14 @@ #ifndef __BASE_DATA_TYPES_H_ #define __BASE_DATA_TYPES_H_ +#include +#include +#include -#include "Types.h" -#include "QualityMasks.h" -#include "QualityConverter.h" - -#include -#include #include #include +#include +#include #include #ifdef max diff --git a/APL/BoundNotifier.h b/opendnp3/APL/BoundNotifier.h similarity index 96% rename from APL/BoundNotifier.h rename to opendnp3/APL/BoundNotifier.h index 8dbc4ab7..4cbd96c0 100644 --- a/APL/BoundNotifier.h +++ b/opendnp3/APL/BoundNotifier.h @@ -19,7 +19,8 @@ #ifndef __BOUND_NOTIFIER_H_ #define __BOUND_NOTIFIER_H_ -#include "INotifier.h" +#include + #include namespace apl diff --git a/APL/CRC.cpp b/opendnp3/APL/CRC.cpp similarity index 97% rename from APL/CRC.cpp rename to opendnp3/APL/CRC.cpp index fde25392..7b1f873d 100644 --- a/APL/CRC.cpp +++ b/opendnp3/APL/CRC.cpp @@ -16,7 +16,7 @@ // specific language governing permissions and limitations // under the License. // -#include "CRC.h" +#include namespace apl { diff --git a/APL/CRC.h b/opendnp3/APL/CRC.h similarity index 97% rename from APL/CRC.h rename to opendnp3/APL/CRC.h index bc4f72ab..ec51840a 100644 --- a/APL/CRC.h +++ b/opendnp3/APL/CRC.h @@ -19,7 +19,8 @@ #ifndef __CRC_H_ #define __CRC_H_ -#include "Types.h" +#include + #include namespace apl diff --git a/APL/CachedLogVariable.h b/opendnp3/APL/CachedLogVariable.h similarity index 97% rename from APL/CachedLogVariable.h rename to opendnp3/APL/CachedLogVariable.h index 2975656b..1bb5bdbe 100644 --- a/APL/CachedLogVariable.h +++ b/opendnp3/APL/CachedLogVariable.h @@ -19,11 +19,11 @@ #ifndef __CachedLogVariable_H_ #define __CachedLogVariable_H_ +#include + +#include #include #include -#include -#include "Logger.h" - namespace apl { diff --git a/APL/ChangeBuffer.h b/opendnp3/APL/ChangeBuffer.h similarity index 95% rename from APL/ChangeBuffer.h rename to opendnp3/APL/ChangeBuffer.h index e4891bea..d83735b1 100644 --- a/APL/ChangeBuffer.h +++ b/opendnp3/APL/ChangeBuffer.h @@ -19,11 +19,11 @@ #ifndef __CHANGE_BUFFER_H_ #define __CHANGE_BUFFER_H_ -#include "DataTypes.h" -#include "DataInterfaces.h" -#include "TimingTools.h" -#include "INotifier.h" -#include "SubjectBase.h" +#include +#include +#include +#include +#include #include diff --git a/APL/CommandInterfaces.h b/opendnp3/APL/CommandInterfaces.h similarity index 98% rename from APL/CommandInterfaces.h rename to opendnp3/APL/CommandInterfaces.h index 3c53e74d..86ca8ab5 100644 --- a/APL/CommandInterfaces.h +++ b/opendnp3/APL/CommandInterfaces.h @@ -19,8 +19,8 @@ #ifndef __COMMAND_INTERFACES_H_ #define __COMMAND_INTERFACES_H_ -#include "CommandTypes.h" -#include "INotifier.h" +#include +#include namespace apl { @@ -34,7 +34,7 @@ class IResponseAcceptor virtual ~IResponseAcceptor() {}; /** - * This function is called when the command request succeeds or fails. + * This function is called when the command request succeeds or fails. * @param arResponse Contains a description of whether the command succeeded/failed. * @param aSequence ID that is echoed for correlation purposes * diff --git a/APL/CommandManager.cpp b/opendnp3/APL/CommandManager.cpp similarity index 93% rename from APL/CommandManager.cpp rename to opendnp3/APL/CommandManager.cpp index ea9c494e..e6ac453a 100644 --- a/APL/CommandManager.cpp +++ b/opendnp3/APL/CommandManager.cpp @@ -16,10 +16,9 @@ // specific language governing permissions and limitations // under the License. // -#include "CommandManager.h" - -#include "Exception.h" -#include "Configure.h" +#include +#include +#include #include diff --git a/APL/CommandManager.h b/opendnp3/APL/CommandManager.h similarity index 94% rename from APL/CommandManager.h rename to opendnp3/APL/CommandManager.h index b98cd667..1b7b7230 100644 --- a/APL/CommandManager.h +++ b/opendnp3/APL/CommandManager.h @@ -19,12 +19,11 @@ #ifndef __COMMAND_MANAGER_H_ #define __COMMAND_MANAGER_H_ +#include +#include -#include "CommandInterfaces.h" -#include "Uncopyable.h" - -#include #include +#include namespace apl { diff --git a/APL/CommandQueue.cpp b/opendnp3/APL/CommandQueue.cpp similarity index 98% rename from APL/CommandQueue.cpp rename to opendnp3/APL/CommandQueue.cpp index 2b7b9dab..019e4d12 100644 --- a/APL/CommandQueue.cpp +++ b/opendnp3/APL/CommandQueue.cpp @@ -17,12 +17,11 @@ // under the License. // -#include "CommandQueue.h" +#include namespace apl { - apl::CommandTypes CommandQueue::Next() { CriticalSection cs(&mLock); diff --git a/APL/CommandQueue.h b/opendnp3/APL/CommandQueue.h similarity index 94% rename from APL/CommandQueue.h rename to opendnp3/APL/CommandQueue.h index c1852262..878d1c34 100644 --- a/APL/CommandQueue.h +++ b/opendnp3/APL/CommandQueue.h @@ -19,10 +19,11 @@ #ifndef __COMMAND_QUEUE_H_ #define __COMMAND_QUEUE_H_ -#include "CommandTypes.h" -#include "INotifier.h" -#include "CommandInterfaces.h" -#include "Lock.h" +#include +#include +#include +#include + #include namespace apl diff --git a/APL/CommandResponseQueue.cpp b/opendnp3/APL/CommandResponseQueue.cpp similarity index 95% rename from APL/CommandResponseQueue.cpp rename to opendnp3/APL/CommandResponseQueue.cpp index 51445f83..d7b384c1 100644 --- a/APL/CommandResponseQueue.cpp +++ b/opendnp3/APL/CommandResponseQueue.cpp @@ -16,11 +16,10 @@ // specific language governing permissions and limitations // under the License. // -#include "CommandResponseQueue.h" - +#include +#include #include -#include "TimingTools.h" namespace apl { diff --git a/APL/CommandResponseQueue.h b/opendnp3/APL/CommandResponseQueue.h similarity index 91% rename from APL/CommandResponseQueue.h rename to opendnp3/APL/CommandResponseQueue.h index 02ddde2d..28212c26 100644 --- a/APL/CommandResponseQueue.h +++ b/opendnp3/APL/CommandResponseQueue.h @@ -19,10 +19,10 @@ #ifndef __COMMAND_RESPONSE_QUEUE_H_ #define __COMMAND_RESPONSE_QUEUE_H_ -#include "CommandInterfaces.h" -#include "INotifier.h" -#include "Lock.h" -#include "SubjectBase.h" +#include +#include +#include +#include #include diff --git a/APL/CommandTypes.cpp b/opendnp3/APL/CommandTypes.cpp similarity index 97% rename from APL/CommandTypes.cpp rename to opendnp3/APL/CommandTypes.cpp index f5205464..3d9859f5 100644 --- a/APL/CommandTypes.cpp +++ b/opendnp3/APL/CommandTypes.cpp @@ -16,9 +16,9 @@ // specific language governing permissions and limitations // under the License. // -#include "CommandTypes.h" -#include "PackingUnpacking.h" -#include "Exception.h" +#include +#include +#include #include #include diff --git a/APL/CommandTypes.h b/opendnp3/APL/CommandTypes.h similarity index 99% rename from APL/CommandTypes.h rename to opendnp3/APL/CommandTypes.h index 8d2978b4..31b851fd 100644 --- a/APL/CommandTypes.h +++ b/opendnp3/APL/CommandTypes.h @@ -19,9 +19,10 @@ #ifndef __CONTROL_TYPES_H_ #define __CONTROL_TYPES_H_ -#include "Types.h" -#include +#include + #include +#include namespace apl { diff --git a/APL/Configure.h b/opendnp3/APL/Configure.h similarity index 100% rename from APL/Configure.h rename to opendnp3/APL/Configure.h diff --git a/APL/CopyableBuffer.cpp b/opendnp3/APL/CopyableBuffer.cpp similarity index 96% rename from APL/CopyableBuffer.cpp rename to opendnp3/APL/CopyableBuffer.cpp index 90de1ce6..b7444df0 100644 --- a/APL/CopyableBuffer.cpp +++ b/opendnp3/APL/CopyableBuffer.cpp @@ -16,12 +16,11 @@ // specific language governing permissions and limitations // under the License. // -#include "CopyableBuffer.h" +#include +#include #include -#include "ToHex.h" - namespace apl { diff --git a/APL/CopyableBuffer.h b/opendnp3/APL/CopyableBuffer.h similarity index 98% rename from APL/CopyableBuffer.h rename to opendnp3/APL/CopyableBuffer.h index ecd02c3f..b65e233a 100644 --- a/APL/CopyableBuffer.h +++ b/opendnp3/APL/CopyableBuffer.h @@ -19,10 +19,11 @@ #ifndef __COPYABLE_BUFFER_H_ #define __COPYABLE_BUFFER_H_ -#include "Types.h" -#include +#include + #include #include +#include namespace apl { diff --git a/APL/DataInterfaces.h b/opendnp3/APL/DataInterfaces.h similarity index 97% rename from APL/DataInterfaces.h rename to opendnp3/APL/DataInterfaces.h index b35199df..9a50dad6 100644 --- a/APL/DataInterfaces.h +++ b/opendnp3/APL/DataInterfaces.h @@ -19,9 +19,8 @@ #ifndef __DATA_INTERFACES_H_ #define __DATA_INTERFACES_H_ -#include "DataTypes.h" -#include "ITransactable.h" - +#include +#include namespace apl { diff --git a/APL/DataTypes.h b/opendnp3/APL/DataTypes.h similarity index 99% rename from APL/DataTypes.h rename to opendnp3/APL/DataTypes.h index 423528e7..cc16947d 100644 --- a/APL/DataTypes.h +++ b/opendnp3/APL/DataTypes.h @@ -19,7 +19,7 @@ #ifndef __DATA_TYPES_H_ #define __DATA_TYPES_H_ -#include "BaseDataTypes.h" +#include namespace apl { diff --git a/APL/DeleteAny.h b/opendnp3/APL/DeleteAny.h old mode 100755 new mode 100644 similarity index 100% rename from APL/DeleteAny.h rename to opendnp3/APL/DeleteAny.h diff --git a/APL/EventLock.cpp b/opendnp3/APL/EventLock.cpp similarity index 97% rename from APL/EventLock.cpp rename to opendnp3/APL/EventLock.cpp index d5b29787..b21f4373 100644 --- a/APL/EventLock.cpp +++ b/opendnp3/APL/EventLock.cpp @@ -16,9 +16,7 @@ // specific language governing permissions and limitations // under the License. // -#include "EventLock.h" - - +#include namespace apl { diff --git a/APL/EventLock.h b/opendnp3/APL/EventLock.h similarity index 94% rename from APL/EventLock.h rename to opendnp3/APL/EventLock.h index b576924f..a9ce549e 100644 --- a/APL/EventLock.h +++ b/opendnp3/APL/EventLock.h @@ -19,10 +19,8 @@ #ifndef __EVENT_LOCK_H_ #define __EVENT_LOCK_H_ - - -#include "Types.h" -#include "EventLockBase.h" +#include +#include namespace apl { diff --git a/APL/EventLockBase.h b/opendnp3/APL/EventLockBase.h similarity index 95% rename from APL/EventLockBase.h rename to opendnp3/APL/EventLockBase.h index 3b968889..86812be5 100644 --- a/APL/EventLockBase.h +++ b/opendnp3/APL/EventLockBase.h @@ -19,11 +19,11 @@ #ifndef __EVENT_LOCK_BASE_H_ #define __EVENT_LOCK_BASE_H_ -#include +#include +#include +#include -#include "Notifier.h" -#include "Lock.h" -#include "IEventLock.h" +#include namespace apl { diff --git a/APL/EventSet.h b/opendnp3/APL/EventSet.h similarity index 97% rename from APL/EventSet.h rename to opendnp3/APL/EventSet.h index bd96b176..4f928036 100644 --- a/APL/EventSet.h +++ b/opendnp3/APL/EventSet.h @@ -19,8 +19,8 @@ #ifndef __EVENT_SET_H_ #define __EVENT_SET_H_ +#include -#include "Types.h" #include namespace apl diff --git a/APL/Exception.cpp b/opendnp3/APL/Exception.cpp similarity index 97% rename from APL/Exception.cpp rename to opendnp3/APL/Exception.cpp index 4715d6e0..67a04a1d 100644 --- a/APL/Exception.cpp +++ b/opendnp3/APL/Exception.cpp @@ -16,7 +16,7 @@ // specific language governing permissions and limitations // under the License. // -#include "Exception.h" +#include #include diff --git a/APL/Exception.h b/opendnp3/APL/Exception.h similarity index 98% rename from APL/Exception.h rename to opendnp3/APL/Exception.h index 779ff600..24cb503b 100644 --- a/APL/Exception.h +++ b/opendnp3/APL/Exception.h @@ -19,11 +19,11 @@ #ifndef __EXCEPTION_H_ #define __EXCEPTION_H_ +#include #include -#include #include -#include "Configure.h" +#include namespace apl { diff --git a/APL/FlexibleDataObserver.cpp b/opendnp3/APL/FlexibleDataObserver.cpp similarity index 97% rename from APL/FlexibleDataObserver.cpp rename to opendnp3/APL/FlexibleDataObserver.cpp index e7cbcc6b..36f0b70b 100644 --- a/APL/FlexibleDataObserver.cpp +++ b/opendnp3/APL/FlexibleDataObserver.cpp @@ -16,8 +16,8 @@ // specific language governing permissions and limitations // under the License. // -#include "FlexibleDataObserver.h" -#include "TimingTools.h" +#include +#include namespace apl { diff --git a/APL/FlexibleDataObserver.h b/opendnp3/APL/FlexibleDataObserver.h similarity index 98% rename from APL/FlexibleDataObserver.h rename to opendnp3/APL/FlexibleDataObserver.h index 25151177..d6aef34c 100644 --- a/APL/FlexibleDataObserver.h +++ b/opendnp3/APL/FlexibleDataObserver.h @@ -19,10 +19,10 @@ #ifndef __FLEXIBLE_DATA_OBSERVER_H_ #define __FLEXIBLE_DATA_OBSERVER_H_ -#include "DataInterfaces.h" -#include "Lock.h" -#include "SubjectBase.h" -#include "Util.h" +#include +#include +#include +#include #include #include diff --git a/APL/Function.h b/opendnp3/APL/Function.h old mode 100755 new mode 100644 similarity index 100% rename from APL/Function.h rename to opendnp3/APL/Function.h diff --git a/APL/GetKeys.h b/opendnp3/APL/GetKeys.h old mode 100755 new mode 100644 similarity index 100% rename from APL/GetKeys.h rename to opendnp3/APL/GetKeys.h diff --git a/APL/IEventLock.h b/opendnp3/APL/IEventLock.h similarity index 100% rename from APL/IEventLock.h rename to opendnp3/APL/IEventLock.h diff --git a/APL/IHandlerAsync.cpp b/opendnp3/APL/IHandlerAsync.cpp similarity index 96% rename from APL/IHandlerAsync.cpp rename to opendnp3/APL/IHandlerAsync.cpp index 4b50a454..531434b4 100644 --- a/APL/IHandlerAsync.cpp +++ b/opendnp3/APL/IHandlerAsync.cpp @@ -16,7 +16,7 @@ // specific language governing permissions and limitations // under the License. // -#include "IHandlerAsync.h" +#include namespace apl { diff --git a/APL/IHandlerAsync.h b/opendnp3/APL/IHandlerAsync.h similarity index 96% rename from APL/IHandlerAsync.h rename to opendnp3/APL/IHandlerAsync.h index 620ac407..0f8ea7aa 100644 --- a/APL/IHandlerAsync.h +++ b/opendnp3/APL/IHandlerAsync.h @@ -19,7 +19,7 @@ #ifndef __I_HANDLER_ASYNC_H_ #define __I_HANDLER_ASYNC_H_ -#include "AsyncLayerInterfaces.h" +#include namespace apl { diff --git a/APL/INotifier.h b/opendnp3/APL/INotifier.h similarity index 100% rename from APL/INotifier.h rename to opendnp3/APL/INotifier.h diff --git a/APL/IOService.cpp b/opendnp3/APL/IOService.cpp similarity index 96% rename from APL/IOService.cpp rename to opendnp3/APL/IOService.cpp index 8f393541..f536e5c6 100644 --- a/APL/IOService.cpp +++ b/opendnp3/APL/IOService.cpp @@ -17,7 +17,8 @@ // under the License. // -#include "IOService.h" +#include + #include namespace apl diff --git a/APL/IOService.h b/opendnp3/APL/IOService.h similarity index 100% rename from APL/IOService.h rename to opendnp3/APL/IOService.h diff --git a/APL/IOServiceThread.cpp b/opendnp3/APL/IOServiceThread.cpp similarity index 94% rename from APL/IOServiceThread.cpp rename to opendnp3/APL/IOServiceThread.cpp index 8dd5197e..94fcc329 100644 --- a/APL/IOServiceThread.cpp +++ b/opendnp3/APL/IOServiceThread.cpp @@ -17,10 +17,9 @@ // under the License. // -#include "IOServiceThread.h" - -#include "Exception.h" -#include "Logger.h" +#include +#include +#include #include #include diff --git a/APL/IOServiceThread.h b/opendnp3/APL/IOServiceThread.h similarity index 92% rename from APL/IOServiceThread.h rename to opendnp3/APL/IOServiceThread.h index 8088b5d4..e5749bd6 100644 --- a/APL/IOServiceThread.h +++ b/opendnp3/APL/IOServiceThread.h @@ -19,9 +19,9 @@ #ifndef __IO_SERVICE_THREAD_H_ #define __IO_SERVICE_THREAD_H_ -#include "Thread.h" -#include "TimerSourceASIO.h" -#include "Loggable.h" +#include +#include +#include namespace boost { diff --git a/APL/IPhysicalLayerAsync.h b/opendnp3/APL/IPhysicalLayerAsync.h similarity index 98% rename from APL/IPhysicalLayerAsync.h rename to opendnp3/APL/IPhysicalLayerAsync.h index 88934697..7c785017 100644 --- a/APL/IPhysicalLayerAsync.h +++ b/opendnp3/APL/IPhysicalLayerAsync.h @@ -18,7 +18,7 @@ #ifndef _I_PHYSICAL_LAYER_ASYNC_H_ #define _I_PHYSICAL_LAYER_ASYNC_H_ -#include "AsyncLayerInterfaces.h" +#include namespace apl { diff --git a/APL/IPhysicalLayerObserver.h b/opendnp3/APL/IPhysicalLayerObserver.h similarity index 95% rename from APL/IPhysicalLayerObserver.h rename to opendnp3/APL/IPhysicalLayerObserver.h index e6b8cb1c..f0fd6c8a 100644 --- a/APL/IPhysicalLayerObserver.h +++ b/opendnp3/APL/IPhysicalLayerObserver.h @@ -19,9 +19,9 @@ #ifndef __I_PHYSICAL_LAYER_OBSERVER_H_ #define __I_PHYSICAL_LAYER_OBSERVER_H_ -#include +#include -#include "PhysicalLayerStates.h" +#include namespace apl { diff --git a/APL/IPhysicalLayerSource.h b/opendnp3/APL/IPhysicalLayerSource.h similarity index 100% rename from APL/IPhysicalLayerSource.h rename to opendnp3/APL/IPhysicalLayerSource.h diff --git a/APL/ISubject.h b/opendnp3/APL/ISubject.h similarity index 100% rename from APL/ISubject.h rename to opendnp3/APL/ISubject.h diff --git a/APL/ITimeSource.h b/opendnp3/APL/ITimeSource.h similarity index 97% rename from APL/ITimeSource.h rename to opendnp3/APL/ITimeSource.h index 8aa1a2ec..4829155c 100644 --- a/APL/ITimeSource.h +++ b/opendnp3/APL/ITimeSource.h @@ -19,7 +19,7 @@ #ifndef __I_TIME_SOURCE_H_ #define __I_TIME_SOURCE_H_ -#include "Types.h" +#include namespace boost { diff --git a/APL/ITimer.h b/opendnp3/APL/ITimer.h similarity index 100% rename from APL/ITimer.h rename to opendnp3/APL/ITimer.h diff --git a/APL/ITimerSource.cpp b/opendnp3/APL/ITimerSource.cpp old mode 100755 new mode 100644 similarity index 96% rename from APL/ITimerSource.cpp rename to opendnp3/APL/ITimerSource.cpp index 38b629b1..b297bf38 --- a/APL/ITimerSource.cpp +++ b/opendnp3/APL/ITimerSource.cpp @@ -16,7 +16,7 @@ // specific language governing permissions and limitations // under the License. // -#include "ITimerSource.h" +#include #include diff --git a/APL/ITimerSource.h b/opendnp3/APL/ITimerSource.h old mode 100755 new mode 100644 similarity index 91% rename from APL/ITimerSource.h rename to opendnp3/APL/ITimerSource.h index e3d48df9..26afd6df --- a/APL/ITimerSource.h +++ b/opendnp3/APL/ITimerSource.h @@ -19,10 +19,10 @@ #ifndef __I_TIMER_SOURCE_H_ #define __I_TIMER_SOURCE_H_ -#include "Types.h" -#include "TimeTypes.h" -#include "ITimer.h" -#include "Function.h" +#include +#include +#include +#include namespace apl { @@ -59,8 +59,8 @@ class ITimerSource virtual ITimer* Start(const boost::posix_time::ptime&, const FunctionVoidZero&) = 0; /** Thread-safe way to post an event to handled asynchronously */ - virtual void Post(const FunctionVoidZero&) = 0; - + virtual void Post(const FunctionVoidZero&) = 0; + /** Thread safe way to execute a function synchronously */ virtual void PostSync(const FunctionVoidZero&) = 0; diff --git a/APL/ITransactable.h b/opendnp3/APL/ITransactable.h old mode 100755 new mode 100644 similarity index 100% rename from APL/ITransactable.h rename to opendnp3/APL/ITransactable.h diff --git a/APL/Lock.h b/opendnp3/APL/Lock.h similarity index 96% rename from APL/Lock.h rename to opendnp3/APL/Lock.h index e932bf98..dc0e0d54 100644 --- a/APL/Lock.h +++ b/opendnp3/APL/Lock.h @@ -19,7 +19,7 @@ #ifndef __LOCK_H_ #define __LOCK_H_ -#include "LockBoost.h" +#include namespace apl { diff --git a/APL/LockBase.cpp b/opendnp3/APL/LockBase.cpp similarity index 96% rename from APL/LockBase.cpp rename to opendnp3/APL/LockBase.cpp index 0764db4e..fec1448d 100644 --- a/APL/LockBase.cpp +++ b/opendnp3/APL/LockBase.cpp @@ -16,7 +16,7 @@ // specific language governing permissions and limitations // under the License. // -#include "LockBase.h" +#include namespace apl { diff --git a/APL/LockBase.h b/opendnp3/APL/LockBase.h similarity index 97% rename from APL/LockBase.h rename to opendnp3/APL/LockBase.h index b7d623f0..d78b87a7 100644 --- a/APL/LockBase.h +++ b/opendnp3/APL/LockBase.h @@ -19,13 +19,11 @@ #ifndef __I_LOCK_BASE_H_ #define __I_LOCK_BASE_H_ +#include +#include - -//includes size_t -#include #include -#include "Types.h" -#include "Uncopyable.h" +#include namespace apl { diff --git a/APL/LockBoost.cpp b/opendnp3/APL/LockBoost.cpp similarity index 98% rename from APL/LockBoost.cpp rename to opendnp3/APL/LockBoost.cpp index a299ad5d..6eeeb87b 100644 --- a/APL/LockBoost.cpp +++ b/opendnp3/APL/LockBoost.cpp @@ -17,8 +17,8 @@ // under the License. // +#include -#include "LockBoost.h" #include namespace apl diff --git a/APL/LockBoost.h b/opendnp3/APL/LockBoost.h similarity index 94% rename from APL/LockBoost.h rename to opendnp3/APL/LockBoost.h index fa00b3cb..f29d047c 100644 --- a/APL/LockBoost.h +++ b/opendnp3/APL/LockBoost.h @@ -17,13 +17,12 @@ // under the License. // - #ifndef _LOCK_BOOST_H_ #define _LOCK_BOOST_H_ -#include "LockBase.h" -#include "Uncopyable.h" -#include "Configure.h" +#include +#include +#include #ifdef APL_PLATFORM_WIN #pragma warning( disable : 4996 ) diff --git a/APL/Log.cpp b/opendnp3/APL/Log.cpp similarity index 96% rename from APL/Log.cpp rename to opendnp3/APL/Log.cpp index 75524944..b7a8f4ef 100644 --- a/APL/Log.cpp +++ b/opendnp3/APL/Log.cpp @@ -17,12 +17,13 @@ // under the License. // +#include +#include +#include + +#include #include #include -#include -#include "Log.h" -#include "Thread.h" -#include "Exception.h" using namespace std; diff --git a/APL/Log.h b/opendnp3/APL/Log.h similarity index 90% rename from APL/Log.h rename to opendnp3/APL/Log.h index ff515ab6..2e41f6a3 100644 --- a/APL/Log.h +++ b/opendnp3/APL/Log.h @@ -20,17 +20,17 @@ #define __EVENT_LOG_H_ +#include +#include +#include +#include +#include +#include + #include #include #include -#include "LogBase.h" -#include "TimeTypes.h" -#include "Logger.h" -#include "EventLock.h" -#include "Uncopyable.h" -#include "LogEntryCircularBuffer.h" - namespace apl { diff --git a/APL/LogBase.h b/opendnp3/APL/LogBase.h similarity index 97% rename from APL/LogBase.h rename to opendnp3/APL/LogBase.h index b62563e9..90fd03e4 100644 --- a/APL/LogBase.h +++ b/opendnp3/APL/LogBase.h @@ -19,7 +19,7 @@ #ifndef __LOG_BASE_H_ #define __LOG_BASE_H_ -#include "LogEntry.h" +#include namespace apl { diff --git a/APL/LogEntry.cpp b/opendnp3/APL/LogEntry.cpp similarity index 96% rename from APL/LogEntry.cpp rename to opendnp3/APL/LogEntry.cpp index 4d7ede69..41ad8b55 100644 --- a/APL/LogEntry.cpp +++ b/opendnp3/APL/LogEntry.cpp @@ -16,12 +16,11 @@ // specific language governing permissions and limitations // under the License. // -#include "LogEntry.h" - +#include +#include +#include #include -#include "Util.h" -#include "Parsing.h" using namespace std; diff --git a/APL/LogEntry.h b/opendnp3/APL/LogEntry.h similarity index 95% rename from APL/LogEntry.h rename to opendnp3/APL/LogEntry.h index d15c100d..19fd2d51 100644 --- a/APL/LogEntry.h +++ b/opendnp3/APL/LogEntry.h @@ -19,10 +19,10 @@ #ifndef __LOG_ENTRY_H_ #define __LOG_ENTRY_H_ -#include "LogTypes.h" -#include "Parsing.h" -#include "Types.h" -#include "TimingTools.h" +#include +#include +#include +#include #include diff --git a/APL/LogEntryCircularBuffer.cpp b/opendnp3/APL/LogEntryCircularBuffer.cpp similarity index 97% rename from APL/LogEntryCircularBuffer.cpp rename to opendnp3/APL/LogEntryCircularBuffer.cpp index 78aceb42..7cb0dfc1 100644 --- a/APL/LogEntryCircularBuffer.cpp +++ b/opendnp3/APL/LogEntryCircularBuffer.cpp @@ -16,7 +16,8 @@ // specific language governing permissions and limitations // under the License. // -#include "LogEntryCircularBuffer.h" +#include + #include namespace apl diff --git a/APL/LogEntryCircularBuffer.h b/opendnp3/APL/LogEntryCircularBuffer.h similarity index 89% rename from APL/LogEntryCircularBuffer.h rename to opendnp3/APL/LogEntryCircularBuffer.h index 34246339..7a4d4a05 100644 --- a/APL/LogEntryCircularBuffer.h +++ b/opendnp3/APL/LogEntryCircularBuffer.h @@ -20,16 +20,15 @@ #ifndef __LOG_ENTRY_CIRCULAR_BUFFER_H_ #define __LOG_ENTRY_CIRCULAR_BUFFER_H_ +#include +#include +#include +#include +#include #include #include -#include "LogEntry.h" -#include "EventLock.h" -#include "Uncopyable.h" -#include "SubjectBase.h" -#include "LogBase.h" - namespace apl { diff --git a/APL/LogToFile.cpp b/opendnp3/APL/LogToFile.cpp similarity index 97% rename from APL/LogToFile.cpp rename to opendnp3/APL/LogToFile.cpp index b21809a4..ff355846 100644 --- a/APL/LogToFile.cpp +++ b/opendnp3/APL/LogToFile.cpp @@ -17,15 +17,12 @@ // under the License. // - -#include "LogToFile.h" -#include "Util.h" +#include +#include namespace apl { - - LogToFile :: LogToFile(EventLog* apLog, const std::string aFileName, const bool aOverwriteFile) : LogEntryCircularBuffer(1000), mpThread(NULL), mpLog(apLog), mFileName(aFileName), mOverwriteFile(aOverwriteFile) { diff --git a/APL/LogToFile.h b/opendnp3/APL/LogToFile.h similarity index 92% rename from APL/LogToFile.h rename to opendnp3/APL/LogToFile.h index 5d9a2b77..c480b06b 100644 --- a/APL/LogToFile.h +++ b/opendnp3/APL/LogToFile.h @@ -16,21 +16,19 @@ // specific language governing permissions and limitations // under the License. // - - #ifndef _LOG_TO_FILE_H_ #define _LOG_TO_FILE_H_ +#include +#include +#include + #include #include -#include #include +#include #include -#include "Log.h" -#include "LogEntryCircularBuffer.h" -#include "Thread.h" - namespace apl { diff --git a/APL/LogToStdio.cpp b/opendnp3/APL/LogToStdio.cpp similarity index 94% rename from APL/LogToStdio.cpp rename to opendnp3/APL/LogToStdio.cpp index 5b3b191e..4ad4476f 100644 --- a/APL/LogToStdio.cpp +++ b/opendnp3/APL/LogToStdio.cpp @@ -16,9 +16,9 @@ // specific language governing permissions and limitations // under the License. // -#include "LogToStdio.h" +#include +#include -#include "LogEntry.h" #include namespace apl diff --git a/APL/LogToStdio.h b/opendnp3/APL/LogToStdio.h similarity index 95% rename from APL/LogToStdio.h rename to opendnp3/APL/LogToStdio.h index 6a13e5b6..e0b26970 100644 --- a/APL/LogToStdio.h +++ b/opendnp3/APL/LogToStdio.h @@ -19,8 +19,8 @@ #ifndef __LOG_TO_STDIO_H_ #define __LOG_TO_STDIO_H_ -#include "Lock.h" -#include "LogBase.h" +#include +#include namespace apl { diff --git a/APL/LogTypes.cpp b/opendnp3/APL/LogTypes.cpp similarity index 97% rename from APL/LogTypes.cpp rename to opendnp3/APL/LogTypes.cpp index aaf6feca..cb734a66 100644 --- a/APL/LogTypes.cpp +++ b/opendnp3/APL/LogTypes.cpp @@ -17,8 +17,8 @@ // under the License. // -#include "LogTypes.h" -#include "Util.h" +#include +#include #include diff --git a/APL/LogTypes.h b/opendnp3/APL/LogTypes.h similarity index 100% rename from APL/LogTypes.h rename to opendnp3/APL/LogTypes.h diff --git a/APL/LogVar.h b/opendnp3/APL/LogVar.h similarity index 99% rename from APL/LogVar.h rename to opendnp3/APL/LogVar.h index 3d182839..4597fa01 100644 --- a/APL/LogVar.h +++ b/opendnp3/APL/LogVar.h @@ -21,7 +21,6 @@ #include - namespace apl { diff --git a/APL/Loggable.cpp b/opendnp3/APL/Loggable.cpp similarity index 90% rename from APL/Loggable.cpp rename to opendnp3/APL/Loggable.cpp index dd888838..187c97b7 100644 --- a/APL/Loggable.cpp +++ b/opendnp3/APL/Loggable.cpp @@ -16,12 +16,11 @@ // specific language governing permissions and limitations // under the License. // -#include "Loggable.h" - +#include +#include +#include #include -#include "Log.h" -#include "Logger.h" namespace apl { diff --git a/APL/Loggable.h b/opendnp3/APL/Loggable.h similarity index 96% rename from APL/Loggable.h rename to opendnp3/APL/Loggable.h index 2f89d4d2..07c47ae0 100644 --- a/APL/Loggable.h +++ b/opendnp3/APL/Loggable.h @@ -19,9 +19,8 @@ #ifndef __LOGGABLE_H_ #define __LOGGABLE_H_ -#include "Configure.h" -#include "LogBase.h" - +#include +#include namespace apl { diff --git a/APL/Logger.cpp b/opendnp3/APL/Logger.cpp similarity index 97% rename from APL/Logger.cpp rename to opendnp3/APL/Logger.cpp index 97e2ee65..2e921aaa 100644 --- a/APL/Logger.cpp +++ b/opendnp3/APL/Logger.cpp @@ -16,12 +16,13 @@ // specific language governing permissions and limitations // under the License. // -#include "Logger.h" +#include +#include + #include -#include "Log.h" #include -using namespace std; +using namespace std; namespace apl { diff --git a/APL/Logger.h b/opendnp3/APL/Logger.h similarity index 95% rename from APL/Logger.h rename to opendnp3/APL/Logger.h index 5da949d3..efc78eda 100644 --- a/APL/Logger.h +++ b/opendnp3/APL/Logger.h @@ -19,14 +19,14 @@ #ifndef __LOGGER_H_ #define __LOGGER_H_ +#include +#include +#include +#include + +#include #include #include -#include -#include "Lock.h" -#include "LogEntry.h" -#include "LogBase.h" -#include "LogVar.h" - namespace apl { diff --git a/APL/LowerLayerToPhysAdapter.cpp b/opendnp3/APL/LowerLayerToPhysAdapter.cpp similarity index 96% rename from APL/LowerLayerToPhysAdapter.cpp rename to opendnp3/APL/LowerLayerToPhysAdapter.cpp index fd52a23e..dd01f684 100644 --- a/APL/LowerLayerToPhysAdapter.cpp +++ b/opendnp3/APL/LowerLayerToPhysAdapter.cpp @@ -16,10 +16,8 @@ // specific language governing permissions and limitations // under the License. // -#include "LowerLayerToPhysAdapter.h" - - -#include "IPhysicalLayerAsync.h" +#include +#include namespace apl { diff --git a/APL/LowerLayerToPhysAdapter.h b/opendnp3/APL/LowerLayerToPhysAdapter.h similarity index 96% rename from APL/LowerLayerToPhysAdapter.h rename to opendnp3/APL/LowerLayerToPhysAdapter.h index 37e5bce0..f69a102c 100644 --- a/APL/LowerLayerToPhysAdapter.h +++ b/opendnp3/APL/LowerLayerToPhysAdapter.h @@ -19,9 +19,8 @@ #ifndef __LOWER_LAYER_TO_PHYS_ADAPTER_H_ #define __LOWER_LAYER_TO_PHYS_ADAPTER_H_ - -#include "IHandlerAsync.h" -#include "AsyncLayerInterfaces.h" +#include +#include namespace apl { diff --git a/APL/MetricBuffer.cpp b/opendnp3/APL/MetricBuffer.cpp similarity index 96% rename from APL/MetricBuffer.cpp rename to opendnp3/APL/MetricBuffer.cpp index 71ebb2eb..94b9fd8e 100644 --- a/APL/MetricBuffer.cpp +++ b/opendnp3/APL/MetricBuffer.cpp @@ -16,8 +16,7 @@ // specific language governing permissions and limitations // under the License. // -#include "MetricBuffer.h" - +#include namespace apl { diff --git a/APL/MetricBuffer.h b/opendnp3/APL/MetricBuffer.h similarity index 91% rename from APL/MetricBuffer.h rename to opendnp3/APL/MetricBuffer.h index dbb80843..946ce44d 100644 --- a/APL/MetricBuffer.h +++ b/opendnp3/APL/MetricBuffer.h @@ -19,13 +19,13 @@ #ifndef __METRIC_BUFFER_H_ #define __METRIC_BUFFER_H_ -#include "LogBase.h" -#include "SubjectBase.h" -#include "Uncopyable.h" -#include "Lock.h" +#include +#include +#include +#include -#include #include +#include namespace apl { diff --git a/APL/MultiplexingDataObserver.cpp b/opendnp3/APL/MultiplexingDataObserver.cpp similarity index 98% rename from APL/MultiplexingDataObserver.cpp rename to opendnp3/APL/MultiplexingDataObserver.cpp index 416c315b..0e5d544f 100644 --- a/APL/MultiplexingDataObserver.cpp +++ b/opendnp3/APL/MultiplexingDataObserver.cpp @@ -17,7 +17,7 @@ // under the License. // -#include "MultiplexingDataObserver.h" +#include namespace apl { diff --git a/APL/MultiplexingDataObserver.h b/opendnp3/APL/MultiplexingDataObserver.h similarity index 96% rename from APL/MultiplexingDataObserver.h rename to opendnp3/APL/MultiplexingDataObserver.h index 348fd33b..20d57047 100644 --- a/APL/MultiplexingDataObserver.h +++ b/opendnp3/APL/MultiplexingDataObserver.h @@ -19,9 +19,9 @@ #ifndef __MULTIPLEXING_DATA_OBSERVER_H_ #define __MULTIPLEXING_DATA_OBSERVER_H_ +#include +#include -#include "DataInterfaces.h" -#include "Lock.h" #include namespace apl diff --git a/APL/Notifier.h b/opendnp3/APL/Notifier.h similarity index 94% rename from APL/Notifier.h rename to opendnp3/APL/Notifier.h index 7a57d66f..441f1273 100644 --- a/APL/Notifier.h +++ b/opendnp3/APL/Notifier.h @@ -19,8 +19,8 @@ #ifndef __NOTIFIER_H_ #define __NOTIFIER_H_ -#include "IEventLock.h" -#include "INotifier.h" +#include +#include namespace apl { diff --git a/APL/PackingTemplates.h b/opendnp3/APL/PackingTemplates.h similarity index 98% rename from APL/PackingTemplates.h rename to opendnp3/APL/PackingTemplates.h index 0ca1156c..d25173db 100644 --- a/APL/PackingTemplates.h +++ b/opendnp3/APL/PackingTemplates.h @@ -19,8 +19,8 @@ #ifndef __PACKING_TEMPLATES_H_ #define __PACKING_TEMPLATES_H_ +#include -#include "Types.h" #include namespace apl diff --git a/APL/PackingUnpacking.cpp b/opendnp3/APL/PackingUnpacking.cpp similarity index 97% rename from APL/PackingUnpacking.cpp rename to opendnp3/APL/PackingUnpacking.cpp index bd830ebf..50586aee 100644 --- a/APL/PackingUnpacking.cpp +++ b/opendnp3/APL/PackingUnpacking.cpp @@ -16,8 +16,10 @@ // specific language governing permissions and limitations // under the License. // -#include "PackingUnpacking.h" +#include +#include +#include #ifdef max #undef max @@ -27,9 +29,6 @@ #undef min #endif -#include "Util.h" -#include - namespace apl { const boost::uint8_t UInt8::Max = std::numeric_limits::max(); diff --git a/APL/PackingUnpacking.h b/opendnp3/APL/PackingUnpacking.h similarity index 99% rename from APL/PackingUnpacking.h rename to opendnp3/APL/PackingUnpacking.h index 9888efa8..cf4e0e8d 100644 --- a/APL/PackingUnpacking.h +++ b/opendnp3/APL/PackingUnpacking.h @@ -19,11 +19,11 @@ #ifndef __PACKING_UNPACKING_H_ #define __PACKING_UNPACKING_H_ +#include -#include "Types.h" -#include -#include #include +#include +#include #ifdef max #undef max diff --git a/APL/Parsing.cpp b/opendnp3/APL/Parsing.cpp similarity index 97% rename from APL/Parsing.cpp rename to opendnp3/APL/Parsing.cpp index 75e9fd97..784c0659 100644 --- a/APL/Parsing.cpp +++ b/opendnp3/APL/Parsing.cpp @@ -16,10 +16,10 @@ // specific language governing permissions and limitations // under the License. // -#include "Parsing.h" +#include -#include #include +#include namespace apl { diff --git a/APL/Parsing.h b/opendnp3/APL/Parsing.h similarity index 99% rename from APL/Parsing.h rename to opendnp3/APL/Parsing.h index dfbf1613..ece4eb80 100644 --- a/APL/Parsing.h +++ b/opendnp3/APL/Parsing.h @@ -19,10 +19,9 @@ #ifndef __PARSING_H_ #define __PARSING_H_ -#include -#include - #include +#include +#include namespace apl { diff --git a/APL/PhysLayerSettings.h b/opendnp3/APL/PhysLayerSettings.h similarity index 95% rename from APL/PhysLayerSettings.h rename to opendnp3/APL/PhysLayerSettings.h index 5e779f99..fbe00f6a 100644 --- a/APL/PhysLayerSettings.h +++ b/opendnp3/APL/PhysLayerSettings.h @@ -19,8 +19,8 @@ #ifndef __PHYS_LAYER_SETTINGS_H_ #define __PHYS_LAYER_SETTINGS_H_ -#include "Types.h" -#include "LogTypes.h" +#include +#include namespace apl { diff --git a/APL/PhysLoopback.cpp b/opendnp3/APL/PhysLoopback.cpp similarity index 92% rename from APL/PhysLoopback.cpp rename to opendnp3/APL/PhysLoopback.cpp index 16c699da..bd9fa14f 100644 --- a/APL/PhysLoopback.cpp +++ b/opendnp3/APL/PhysLoopback.cpp @@ -17,10 +17,9 @@ // under the License. // -#include "PhysLoopback.h" - -#include "IPhysicalLayerAsync.h" -#include "Logger.h" +#include +#include +#include namespace apl { diff --git a/APL/PhysLoopback.h b/opendnp3/APL/PhysLoopback.h similarity index 94% rename from APL/PhysLoopback.h rename to opendnp3/APL/PhysLoopback.h index c0fe14ac..a70f06b4 100644 --- a/APL/PhysLoopback.h +++ b/opendnp3/APL/PhysLoopback.h @@ -19,8 +19,8 @@ #ifndef __PHYS_LOOPBACK_H_ #define __PHYS_LOOPBACK_H_ -#include "PhysicalLayerMonitor.h" -#include "CopyableBuffer.h" +#include +#include namespace apl { diff --git a/APL/PhysicalLayerAsyncASIO.h b/opendnp3/APL/PhysicalLayerAsyncASIO.h similarity index 96% rename from APL/PhysicalLayerAsyncASIO.h rename to opendnp3/APL/PhysicalLayerAsyncASIO.h index f37dfd7f..f8fa8fff 100644 --- a/APL/PhysicalLayerAsyncASIO.h +++ b/opendnp3/APL/PhysicalLayerAsyncASIO.h @@ -19,7 +19,7 @@ #ifndef __PHYSICAL_LAYER_ASYNC_ASIO_H_ #define __PHYSICAL_LAYER_ASYNC_ASIO_H_ -#include "PhysicalLayerAsyncBase.h" +#include namespace boost { diff --git a/APL/PhysicalLayerAsyncBase.cpp b/opendnp3/APL/PhysicalLayerAsyncBase.cpp similarity index 97% rename from APL/PhysicalLayerAsyncBase.cpp rename to opendnp3/APL/PhysicalLayerAsyncBase.cpp index c4ae552a..8e39bf17 100644 --- a/APL/PhysicalLayerAsyncBase.cpp +++ b/opendnp3/APL/PhysicalLayerAsyncBase.cpp @@ -16,15 +16,13 @@ // specific language governing permissions and limitations // under the License. // -#include "PhysicalLayerAsyncBase.h" - -#include "IHandlerAsync.h" -#include "Logger.h" -#include "Exception.h" +#include +#include +#include +#include #include - using namespace std; namespace apl diff --git a/APL/PhysicalLayerAsyncBase.h b/opendnp3/APL/PhysicalLayerAsyncBase.h similarity index 98% rename from APL/PhysicalLayerAsyncBase.h rename to opendnp3/APL/PhysicalLayerAsyncBase.h index a4f96af8..736b81da 100644 --- a/APL/PhysicalLayerAsyncBase.h +++ b/opendnp3/APL/PhysicalLayerAsyncBase.h @@ -19,10 +19,10 @@ #ifndef __PHYSICAL_LAYER_ASYNC_BASE_H_ #define __PHYSICAL_LAYER_ASYNC_BASE_H_ +#include +#include #include -#include "IPhysicalLayerAsync.h" -#include "Loggable.h" namespace apl { diff --git a/APL/PhysicalLayerAsyncBaseTCP.cpp b/opendnp3/APL/PhysicalLayerAsyncBaseTCP.cpp similarity index 78% rename from APL/PhysicalLayerAsyncBaseTCP.cpp rename to opendnp3/APL/PhysicalLayerAsyncBaseTCP.cpp index c3727c17..3805219c 100644 --- a/APL/PhysicalLayerAsyncBaseTCP.cpp +++ b/opendnp3/APL/PhysicalLayerAsyncBaseTCP.cpp @@ -17,16 +17,15 @@ // under the License. // -#include "PhysicalLayerAsyncBaseTCP.h" +#include +#include +#include +#include -#include -#include #include #include - -#include "Exception.h" -#include "IHandlerAsync.h" -#include "Logger.h" +#include +#include using namespace boost; using namespace boost::asio; @@ -94,13 +93,23 @@ void PhysicalLayerAsyncBaseTCP::ShutdownSocket() boost::asio::ip::address PhysicalLayerAsyncBaseTCP::ResolveAddress(const std::string& arEndpoint) { + LOG_BLOCK(LEV_DEBUG, "converting address '" << arEndpoint << "' to an IP address object"); try { boost::system::error_code ec; boost::asio::ip::address addr = boost::asio::ip::address::from_string(arEndpoint, ec); - if (ec) + if (ec) { + LOG_BLOCK(LEV_DEBUG, "unable to convert address to object"); throw ArgumentException(LOCATION, "endpoint: " + arEndpoint + " is invalid"); + } + LOG_BLOCK(LEV_DEBUG, "address converted to object: " << addr.to_string()); + if (addr.is_v6()) { + boost::asio::ip::address_v6 addrv6(addr.to_v6()); + if (addrv6.is_link_local()) + LOG_BLOCK(LEV_DEBUG, "IPv6 link local address found"); + } return addr; } catch (...) { + LOG_BLOCK(LEV_DEBUG, "attempting to resolve address '" << arEndpoint << "'"); boost::asio::io_service io_service; boost::asio::ip::tcp::resolver resolver(io_service); boost::asio::ip::tcp::resolver::query query(arEndpoint, ""); @@ -109,8 +118,15 @@ boost::asio::ip::address PhysicalLayerAsyncBaseTCP::ResolveAddress(const std::st while (iter != end) { boost::asio::ip::tcp::endpoint ep = *iter++; + LOG_BLOCK(LEV_DEBUG, "address '" << arEndpoint << "' resolved to " << ep.address().to_string()); + if (ep.address().is_v6()) { + boost::asio::ip::address_v6 addrv6(ep.address().to_v6()); + if (addrv6.is_link_local()) + LOG_BLOCK(LEV_DEBUG, "IPv6 link local address found"); + } return ep.address(); } + LOG_BLOCK(LEV_DEBUG, "unable to resolve address '" << arEndpoint << "'") throw ArgumentException(LOCATION, "endpoint: " + arEndpoint + " is invalid"); } } diff --git a/APL/PhysicalLayerAsyncBaseTCP.h b/opendnp3/APL/PhysicalLayerAsyncBaseTCP.h similarity index 97% rename from APL/PhysicalLayerAsyncBaseTCP.h rename to opendnp3/APL/PhysicalLayerAsyncBaseTCP.h index c0498cb5..d50b045d 100644 --- a/APL/PhysicalLayerAsyncBaseTCP.h +++ b/opendnp3/APL/PhysicalLayerAsyncBaseTCP.h @@ -19,7 +19,8 @@ #ifndef __PHYSICAL_LAYER_ASYNC_BASE_TCP_H_ #define __PHYSICAL_LAYER_ASYNC_BASE_TCP_H_ -#include "PhysicalLayerAsyncASIO.h" +#include + #include #include #include diff --git a/APL/PhysicalLayerAsyncSerial.cpp b/opendnp3/APL/PhysicalLayerAsyncSerial.cpp similarity index 93% rename from APL/PhysicalLayerAsyncSerial.cpp rename to opendnp3/APL/PhysicalLayerAsyncSerial.cpp index bcf1dea3..54da0131 100644 --- a/APL/PhysicalLayerAsyncSerial.cpp +++ b/opendnp3/APL/PhysicalLayerAsyncSerial.cpp @@ -17,18 +17,17 @@ // under the License. // -#include "PhysicalLayerAsyncSerial.h" +#include +#include +#include +#include +#include +#include #include #include -#include #include -#include "Exception.h" -#include "IHandlerAsync.h" -#include "Logger.h" -#include "ASIOSerialHelpers.h" - using namespace boost; using namespace boost::asio; using namespace boost::system; diff --git a/APL/PhysicalLayerAsyncSerial.h b/opendnp3/APL/PhysicalLayerAsyncSerial.h similarity index 94% rename from APL/PhysicalLayerAsyncSerial.h rename to opendnp3/APL/PhysicalLayerAsyncSerial.h index 740b3b3f..06f2afd8 100644 --- a/APL/PhysicalLayerAsyncSerial.h +++ b/opendnp3/APL/PhysicalLayerAsyncSerial.h @@ -19,10 +19,10 @@ #ifndef __PHYSICAL_LAYER_ASYNC_SERIAL_H_ #define __PHYSICAL_LAYER_ASYNC_SERIAL_H_ -#include "PhysicalLayerAsyncASIO.h" -#include "SerialTypes.h" -#include +#include +#include +#include #include namespace apl diff --git a/opendnp3/APL/PhysicalLayerAsyncTCPClient.cpp b/opendnp3/APL/PhysicalLayerAsyncTCPClient.cpp new file mode 100644 index 00000000..dc178fae --- /dev/null +++ b/opendnp3/APL/PhysicalLayerAsyncTCPClient.cpp @@ -0,0 +1,63 @@ +// +// Licensed to Green Energy Corp (www.greenenergycorp.com) under one or +// more contributor license agreements. See the NOTICE file distributed +// with this work for additional information regarding copyright +// ownership. Green Enery Corp licenses this file to you under the +// Apache License, Version 2.0 (the "License"); you may not use this +// file except in compliance with the License. You may obtain a copy of +// the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +// implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#include +#include +#include +#include + +#include +#include +#include + +using namespace boost; +using namespace boost::asio; +using namespace std; + +namespace apl +{ + +PhysicalLayerAsyncTCPClient::PhysicalLayerAsyncTCPClient(Logger* apLogger, boost::asio::io_service* apIOService, const boost::asio::ip::tcp::endpoint& arEndpoint, const std::string& arAddress) + : PhysicalLayerAsyncBaseTCP(apLogger, apIOService) + , mRemoteEndpoint(arEndpoint) +{ + mRemoteEndpoint.address( ResolveAddress(arAddress) ); +} + +/* Implement the actions */ +void PhysicalLayerAsyncTCPClient::DoOpen() +{ + mSocket.async_connect(mRemoteEndpoint, + boost::bind(&PhysicalLayerAsyncTCPClient::OnOpenCallback, + this, + boost::asio::placeholders::error)); +} + +void PhysicalLayerAsyncTCPClient::DoOpeningClose() +{ + this->CloseSocket(); +} + +void PhysicalLayerAsyncTCPClient::DoOpenSuccess() +{ + LOG_BLOCK(LEV_INFO, "Connected to: " << mRemoteEndpoint); +} + +} + +/* vim: set ts=4 sw=4: */ diff --git a/APL/PhysicalLayerAsyncTCPClient.h b/opendnp3/APL/PhysicalLayerAsyncTCPClient.h similarity index 89% rename from APL/PhysicalLayerAsyncTCPClient.h rename to opendnp3/APL/PhysicalLayerAsyncTCPClient.h index 7c5c589e..ac521839 100644 --- a/APL/PhysicalLayerAsyncTCPClient.h +++ b/opendnp3/APL/PhysicalLayerAsyncTCPClient.h @@ -19,7 +19,7 @@ #ifndef __PHYSICAL_LAYER_ASYNC_TCP_CLIENT_H_ #define __PHYSICAL_LAYER_ASYNC_TCP_CLIENT_H_ -#include "PhysicalLayerAsyncBaseTCP.h" +#include #include @@ -29,7 +29,7 @@ namespace apl class PhysicalLayerAsyncTCPClient : public PhysicalLayerAsyncBaseTCP { public: - PhysicalLayerAsyncTCPClient(Logger* apLogger, boost::asio::io_service* apIOService, const std::string& arAddress, boost::uint16_t aPort); + PhysicalLayerAsyncTCPClient(Logger* apLogger, boost::asio::io_service* apIOService, const boost::asio::ip::tcp::endpoint& arEndpoint, const std::string& arAddress); /* Implement the remaining actions */ void DoOpen(); @@ -38,7 +38,6 @@ class PhysicalLayerAsyncTCPClient : public PhysicalLayerAsyncBaseTCP private: boost::asio::ip::tcp::endpoint mRemoteEndpoint; - }; } diff --git a/APL/PhysicalLayerAsyncTCPServer.cpp b/opendnp3/APL/PhysicalLayerAsyncTCPServer.cpp similarity index 59% rename from APL/PhysicalLayerAsyncTCPServer.cpp rename to opendnp3/APL/PhysicalLayerAsyncTCPServer.cpp index 9512429b..18427d0d 100644 --- a/APL/PhysicalLayerAsyncTCPServer.cpp +++ b/opendnp3/APL/PhysicalLayerAsyncTCPServer.cpp @@ -1,46 +1,44 @@ // -// Licensed to Green Energy Corp (www.greenenergycorp.com) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. Green Enery Corp licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at +// Licensed to Green Energy Corp (www.greenenergycorp.com) under one or +// more contributor license agreements. See the NOTICE file distributed +// with this work for additional information regarding copyright +// ownership. Green Enery Corp licenses this file to you under the +// Apache License, Version 2.0 (the "License"); you may not use this +// file except in compliance with the License. You may obtain a copy of +// the License at // // http://www.apache.org/licenses/LICENSE-2.0 // -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +// implied. See the License for the specific language governing +// permissions and limitations under the License. // -#include "PhysicalLayerAsyncTCPServer.h" +#include +#include +#include +#include #include #include #include -#include "Exception.h" -#include "IHandlerAsync.h" -#include "Logger.h" - using namespace boost; -using namespace boost::system; using namespace boost::asio; +using namespace boost::system; using namespace std; namespace apl { -PhysicalLayerAsyncTCPServer::PhysicalLayerAsyncTCPServer(Logger* apLogger, boost::asio::io_service* apIOService, const std::string& arEndpoint, boost::uint16_t aPort) : - PhysicalLayerAsyncBaseTCP(apLogger, apIOService), - mLocalEndpoint(ip::tcp::v4(), aPort), - mAcceptor(*apIOService) +PhysicalLayerAsyncTCPServer::PhysicalLayerAsyncTCPServer(Logger* apLogger, boost::asio::io_service* apIOService, const boost::asio::ip::tcp::endpoint& arEndpoint, const std::string& arAddress) + : PhysicalLayerAsyncBaseTCP(apLogger, apIOService) + , mLocalEndpoint(arEndpoint) + , mAcceptor(*apIOService) { - mLocalEndpoint.address( ResolveAddress(arEndpoint) ); + mLocalEndpoint.address( ResolveAddress(arAddress) ); } /* Implement the actions */ diff --git a/opendnp3/APL/PhysicalLayerAsyncTCPServer.h b/opendnp3/APL/PhysicalLayerAsyncTCPServer.h new file mode 100644 index 00000000..4b91f57e --- /dev/null +++ b/opendnp3/APL/PhysicalLayerAsyncTCPServer.h @@ -0,0 +1,50 @@ +// +// Licensed to Green Energy Corp (www.greenenergycorp.com) under one or +// more contributor license agreements. See the NOTICE file distributed +// with this work for additional information regarding copyright +// ownership. Green Enery Corp licenses this file to you under the +// Apache License, Version 2.0 (the "License"); you may not use this +// file except in compliance with the License. You may obtain a copy of +// the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +// implied. See the License for the specific language governing +// permissions and limitations under the License. +// +#ifndef __PHYSICAL_LAYER_ASYNC_TCP_SERVER_H_ +#define __PHYSICAL_LAYER_ASYNC_TCP_SERVER_H_ + +#include + +#include + +namespace apl +{ + +class PhysicalLayerAsyncTCPServer : public PhysicalLayerAsyncBaseTCP +{ +public: + PhysicalLayerAsyncTCPServer(Logger*, boost::asio::io_service* apIOService, const boost::asio::ip::tcp::endpoint& arEndpoint, const std::string& arAddress); + + /* Implement the remainging actions */ + void DoOpen(); + void DoOpeningClose(); //override this to cancel the acceptor instead of the socket + void DoOpenSuccess(); + void DoOpenCallback(); + +private: + void CloseAcceptor(); + + boost::asio::ip::tcp::endpoint mLocalEndpoint; + boost::asio::ip::tcp::endpoint mRemoteEndpoint; + + boost::asio::ip::tcp::acceptor mAcceptor; +}; + +} + +#endif diff --git a/APL/PhysicalLayerAsyncTCPServer.h b/opendnp3/APL/PhysicalLayerAsyncTCPv4Client.h similarity index 56% rename from APL/PhysicalLayerAsyncTCPServer.h rename to opendnp3/APL/PhysicalLayerAsyncTCPv4Client.h index 6f08f088..44043bbf 100644 --- a/APL/PhysicalLayerAsyncTCPServer.h +++ b/opendnp3/APL/PhysicalLayerAsyncTCPv4Client.h @@ -16,35 +16,32 @@ // specific language governing permissions and limitations // under the License. // -#ifndef __PHYSICAL_LAYER_ASYNC_TCP_SERVER_H_ -#define __PHYSICAL_LAYER_ASYNC_TCP_SERVER_H_ +#ifndef __PHYSICAL_LAYER_ASYNC_TCP_V4_CLIENT_H_ +#define __PHYSICAL_LAYER_ASYNC_TCP_V4_CLIENT_H_ + +#include -#include "PhysicalLayerAsyncBaseTCP.h" #include namespace apl { -class PhysicalLayerAsyncTCPServer : public PhysicalLayerAsyncBaseTCP +class PhysicalLayerAsyncTCPv4Client : public PhysicalLayerAsyncTCPClient { public: - PhysicalLayerAsyncTCPServer(Logger*, boost::asio::io_service* apIOService, const std::string& arEndpoint, boost::uint16_t aPort); - - /* Implement the remainging actions */ - void DoOpen(); - void DoOpeningClose(); //override this to cancel the acceptor instead of the socket - void DoOpenSuccess(); - void DoOpenCallback(); - -private: - - void CloseAcceptor(); - - boost::asio::ip::tcp::endpoint mLocalEndpoint; - boost::asio::ip::tcp::endpoint mRemoteEndpoint; - - boost::asio::ip::tcp::acceptor mAcceptor; + PhysicalLayerAsyncTCPv4Client(Logger* apLogger, boost::asio::io_service* apIOService, const std::string& arAddress, boost::uint16_t aPort) + : PhysicalLayerAsyncTCPClient( + apLogger, + apIOService, + boost::asio::ip::tcp::endpoint( + boost::asio::ip::tcp::v4(), + aPort + ), + arAddress + ) + {} }; + } #endif diff --git a/opendnp3/APL/PhysicalLayerAsyncTCPv4Server.h b/opendnp3/APL/PhysicalLayerAsyncTCPv4Server.h new file mode 100644 index 00000000..009ceeea --- /dev/null +++ b/opendnp3/APL/PhysicalLayerAsyncTCPv4Server.h @@ -0,0 +1,47 @@ +// +// Licensed to Green Energy Corp (www.greenenergycorp.com) under one or +// more contributor license agreements. See the NOTICE file distributed +// with this work for additional information regarding copyright +// ownership. Green Enery Corp licenses this file to you under the +// Apache License, Version 2.0 (the "License"); you may not use this +// file except in compliance with the License. You may obtain a copy of +// the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +// implied. See the License for the specific language governing +// permissions and limitations under the License. +// +#ifndef __PHYSICAL_LAYER_ASYNC_TCP_V4_SERVER_H_ +#define __PHYSICAL_LAYER_ASYNC_TCP_V4_SERVER_H_ + +#include + +#include + +namespace apl +{ + +class PhysicalLayerAsyncTCPv4Server : public PhysicalLayerAsyncTCPServer +{ +public: + PhysicalLayerAsyncTCPv4Server(Logger* apLogger, boost::asio::io_service* apIOService, const std::string& arAddress, boost::uint16_t aPort) + : PhysicalLayerAsyncTCPServer( + apLogger, + apIOService, + boost::asio::ip::tcp::endpoint( + boost::asio::ip::tcp::v4(), + aPort + ), + arAddress + ) + {} +}; + +} + +#endif + diff --git a/opendnp3/APL/PhysicalLayerAsyncTCPv6Client.h b/opendnp3/APL/PhysicalLayerAsyncTCPv6Client.h new file mode 100644 index 00000000..44d42d49 --- /dev/null +++ b/opendnp3/APL/PhysicalLayerAsyncTCPv6Client.h @@ -0,0 +1,47 @@ +// +// Licensed to Green Energy Corp (www.greenenergycorp.com) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. Green Enery Corp licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. +// +#ifndef __PHYSICAL_LAYER_ASYNC_TCP_V6_CLIENT_H_ +#define __PHYSICAL_LAYER_ASYNC_TCP_V6_CLIENT_H_ + +#include + +#include + +namespace apl +{ + +class PhysicalLayerAsyncTCPv6Client : public PhysicalLayerAsyncTCPClient +{ +public: + PhysicalLayerAsyncTCPv6Client(Logger* apLogger, boost::asio::io_service* apIOService, const std::string& arAddress, boost::uint16_t aPort) + : PhysicalLayerAsyncTCPClient( + apLogger, + apIOService, + boost::asio::ip::tcp::endpoint( + boost::asio::ip::tcp::v6(), + aPort + ), + arAddress + ) + {} +}; + +} + +#endif diff --git a/opendnp3/APL/PhysicalLayerAsyncTCPv6Server.h b/opendnp3/APL/PhysicalLayerAsyncTCPv6Server.h new file mode 100644 index 00000000..47737197 --- /dev/null +++ b/opendnp3/APL/PhysicalLayerAsyncTCPv6Server.h @@ -0,0 +1,47 @@ +// +// Licensed to Green Energy Corp (www.greenenergycorp.com) under one or +// more contributor license agreements. See the NOTICE file distributed +// with this work for additional information regarding copyright +// ownership. Green Enery Corp licenses this file to you under the +// Apache License, Version 2.0 (the "License"); you may not use this +// file except in compliance with the License. You may obtain a copy of +// the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +// implied. See the License for the specific language governing +// permissions and limitations under the License. +// +#ifndef __PHYSICAL_LAYER_ASYNC_TCP_V6_SERVER_H_ +#define __PHYSICAL_LAYER_ASYNC_TCP_V6_SERVER_H_ + +#include + +#include + +namespace apl +{ + +class PhysicalLayerAsyncTCPv6Server : public PhysicalLayerAsyncTCPServer +{ +public: + PhysicalLayerAsyncTCPv6Server(Logger* apLogger, boost::asio::io_service* apIOService, const std::string& arAddress, boost::uint16_t aPort) + : PhysicalLayerAsyncTCPServer( + apLogger, + apIOService, + boost::asio::ip::tcp::endpoint( + boost::asio::ip::tcp::v6(), + aPort + ), + arAddress + ) + {} +}; + +} + +#endif + diff --git a/opendnp3/APL/PhysicalLayerFactory.cpp b/opendnp3/APL/PhysicalLayerFactory.cpp new file mode 100644 index 00000000..74f17f5c --- /dev/null +++ b/opendnp3/APL/PhysicalLayerFactory.cpp @@ -0,0 +1,84 @@ +// +// Licensed to Green Energy Corp (www.greenenergycorp.com) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. Green Enery Corp licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. +// + +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +namespace apl +{ + +IPhysicalLayerAsyncFactory PhysicalLayerFactory :: GetSerialAsync(SerialSettings s) +{ + return boost::bind(&PhysicalLayerFactory::FGetSerialAsync, s, _2, _1); +} + +IPhysicalLayerAsyncFactory PhysicalLayerFactory :: GetTCPv4ClientAsync(std::string aAddress, boost::uint16_t aPort) +{ + return boost::bind(&PhysicalLayerFactory::FGetTCPv4ClientAsync, aAddress, aPort, _2, _1); +} + +IPhysicalLayerAsyncFactory PhysicalLayerFactory :: GetTCPv4ServerAsync(std::string aEndpoint, boost::uint16_t aPort) +{ + return boost::bind(&PhysicalLayerFactory::FGetTCPv4ServerAsync, aEndpoint, aPort, _2, _1); +} + +IPhysicalLayerAsyncFactory PhysicalLayerFactory :: GetTCPv6ClientAsync(std::string aAddress, boost::uint16_t aPort) +{ + return boost::bind(&PhysicalLayerFactory::FGetTCPv6ClientAsync, aAddress, aPort, _2, _1); +} + +IPhysicalLayerAsyncFactory PhysicalLayerFactory :: GetTCPv6ServerAsync(std::string aEndpoint, boost::uint16_t aPort) +{ + return boost::bind(&PhysicalLayerFactory::FGetTCPv6ServerAsync, aEndpoint, aPort, _2, _1); +} + +IPhysicalLayerAsync* PhysicalLayerFactory :: FGetSerialAsync(SerialSettings s, boost::asio::io_service* apSrv, Logger* apLogger) +{ + return new PhysicalLayerAsyncSerial(apLogger, apSrv, s); +} + +IPhysicalLayerAsync* PhysicalLayerFactory :: FGetTCPv4ClientAsync(std::string aAddress, boost::uint16_t aPort, boost::asio::io_service* apSrv, Logger* apLogger) +{ + return new PhysicalLayerAsyncTCPv4Client(apLogger, apSrv, aAddress, aPort); +} + +IPhysicalLayerAsync* PhysicalLayerFactory :: FGetTCPv4ServerAsync(std::string aEndpoint, boost::uint16_t aPort, boost::asio::io_service* apSrv, Logger* apLogger) +{ + return new PhysicalLayerAsyncTCPv4Server(apLogger, apSrv, aEndpoint, aPort); +} + +IPhysicalLayerAsync* PhysicalLayerFactory :: FGetTCPv6ClientAsync(std::string aAddress, boost::uint16_t aPort, boost::asio::io_service* apSrv, Logger* apLogger) +{ + return new PhysicalLayerAsyncTCPv6Client(apLogger, apSrv, aAddress, aPort); +} + +IPhysicalLayerAsync* PhysicalLayerFactory :: FGetTCPv6ServerAsync(std::string aEndpoint, boost::uint16_t aPort, boost::asio::io_service* apSrv, Logger* apLogger) +{ + return new PhysicalLayerAsyncTCPv6Server(apLogger, apSrv, aEndpoint, aPort); +} + +} diff --git a/APL/PhysicalLayerFactory.h b/opendnp3/APL/PhysicalLayerFactory.h similarity index 52% rename from APL/PhysicalLayerFactory.h rename to opendnp3/APL/PhysicalLayerFactory.h index 6c647691..41e96619 100644 --- a/APL/PhysicalLayerFactory.h +++ b/opendnp3/APL/PhysicalLayerFactory.h @@ -19,13 +19,12 @@ #ifndef _PHYSICAL_LAYER_FACTORY_H_ #define _PHYSICAL_LAYER_FACTORY_H_ - -#include "SerialTypes.h" -#include "Exception.h" -#include "PhysicalLayerFunctors.h" -#include +#include +#include +#include #include +#include namespace apl { @@ -35,14 +34,19 @@ class PhysicalLayerFactory public: static IPhysicalLayerAsyncFactory GetSerialAsync(SerialSettings s); - static IPhysicalLayerAsyncFactory GetTCPClientAsync(std::string aAddress, boost::uint16_t aPort); - static IPhysicalLayerAsyncFactory GetTCPServerAsync(std::string aEndpoint, boost::uint16_t aPort); + static IPhysicalLayerAsyncFactory GetTCPv4ClientAsync(std::string aAddress, boost::uint16_t aPort); + static IPhysicalLayerAsyncFactory GetTCPv4ServerAsync(std::string aEndpoint, boost::uint16_t aPort); + static IPhysicalLayerAsyncFactory GetTCPv6ClientAsync(std::string aAddress, boost::uint16_t aPort); + static IPhysicalLayerAsyncFactory GetTCPv6ServerAsync(std::string aEndpoint, boost::uint16_t aPort); //normal factory functions static IPhysicalLayerAsync* FGetSerialAsync(SerialSettings s, boost::asio::io_service* apSrv, Logger* apLogger); - static IPhysicalLayerAsync* FGetTCPClientAsync(std::string aAddress, boost::uint16_t aPort, boost::asio::io_service* apSrv, Logger* apLogger); - static IPhysicalLayerAsync* FGetTCPServerAsync(std::string aEndpoint, boost::uint16_t aPort, boost::asio::io_service* apSrv, Logger* apLogger); + static IPhysicalLayerAsync* FGetTCPv4ClientAsync(std::string aAddress, boost::uint16_t aPort, boost::asio::io_service* apSrv, Logger* apLogger); + static IPhysicalLayerAsync* FGetTCPv4ServerAsync(std::string aEndpoint, boost::uint16_t aPort, boost::asio::io_service* apSrv, Logger* apLogger); + static IPhysicalLayerAsync* FGetTCPv6ClientAsync(std::string aAddress, boost::uint16_t aPort, boost::asio::io_service* apSrv, Logger* apLogger); + static IPhysicalLayerAsync* FGetTCPv6ServerAsync(std::string aEndpoint, boost::uint16_t aPort, boost::asio::io_service* apSrv, Logger* apLogger); }; + } #endif diff --git a/APL/PhysicalLayerFunctors.h b/opendnp3/APL/PhysicalLayerFunctors.h similarity index 100% rename from APL/PhysicalLayerFunctors.h rename to opendnp3/APL/PhysicalLayerFunctors.h diff --git a/APL/PhysicalLayerInstance.cpp b/opendnp3/APL/PhysicalLayerInstance.cpp similarity index 90% rename from APL/PhysicalLayerInstance.cpp rename to opendnp3/APL/PhysicalLayerInstance.cpp index dfe04299..571f40c3 100644 --- a/APL/PhysicalLayerInstance.cpp +++ b/opendnp3/APL/PhysicalLayerInstance.cpp @@ -16,14 +16,13 @@ // specific language governing permissions and limitations // under the License. // -#include "PhysicalLayerInstance.h" +#include +#include +#include #include #include -#include "PhysicalLayerFactory.h" -#include "IPhysicalLayerAsync.h" - namespace apl { @@ -47,7 +46,7 @@ void PhysLayerInstance::Release() if(mOwnsLayer) { delete mpLayer; mpLayer = NULL; - } + } } IPhysicalLayerAsync* PhysLayerInstance::GetLayer(Logger* apLogger, boost::asio::io_service* apService) diff --git a/APL/PhysicalLayerInstance.h b/opendnp3/APL/PhysicalLayerInstance.h similarity index 96% rename from APL/PhysicalLayerInstance.h rename to opendnp3/APL/PhysicalLayerInstance.h index 8a387cc0..ee8f0788 100644 --- a/APL/PhysicalLayerInstance.h +++ b/opendnp3/APL/PhysicalLayerInstance.h @@ -19,8 +19,7 @@ #ifndef __PHYSICAL_LAYER_INSTANCE_H_ #define __PHYSICAL_LAYER_INSTANCE_H_ - -#include "PhysicalLayerFunctors.h" +#include namespace apl { @@ -39,7 +38,7 @@ class PhysLayerInstance * Constructor whereby this class manages the lifecycle of the physical layer */ PhysLayerInstance(IPhysicalLayerAsyncFactory); - + /** * Constructor whereby the lifecycle of the physical layer is managed externally */ @@ -47,7 +46,7 @@ class PhysLayerInstance IPhysicalLayerAsync* GetLayer(Logger*, boost::asio::io_service*); - void Release(); + void Release(); private: diff --git a/APL/PhysicalLayerManager.cpp b/opendnp3/APL/PhysicalLayerManager.cpp similarity index 61% rename from APL/PhysicalLayerManager.cpp rename to opendnp3/APL/PhysicalLayerManager.cpp index ed598bcf..86b6d44e 100644 --- a/APL/PhysicalLayerManager.cpp +++ b/opendnp3/APL/PhysicalLayerManager.cpp @@ -16,13 +16,12 @@ // specific language governing permissions and limitations // under the License. // -#include "PhysicalLayerManager.h" - -#include "PhysicalLayerFactory.h" -#include "PhysLayerSettings.h" -#include "Logger.h" -#include "Log.h" -#include "Util.h" +#include +#include +#include +#include +#include +#include #include @@ -45,13 +44,13 @@ PhysicalLayerManager :: ~PhysicalLayerManager() } void PhysicalLayerManager::Remove(const std::string& arName) -{ +{ NameToInstanceMap::iterator i = mNameToInstanceMap.find(arName); if(i == mNameToInstanceMap.end()) throw ArgumentException(LOCATION, "Unknown layer"); i->second.Release(); this->ReleaseLayer(arName); mNameToInstanceMap.erase(i); - mNameToSettingsMap.erase(arName); + mNameToSettingsMap.erase(arName); } void PhysicalLayerManager ::AddPhysicalLayer(const std::string& arName, PhysLayerSettings s, IPhysicalLayerAsync* apPhys) @@ -60,16 +59,30 @@ void PhysicalLayerManager ::AddPhysicalLayer(const std::string& arName, PhysLaye this->AddLayer(arName, s, pli); } -void PhysicalLayerManager ::AddTCPClient(const std::string& arName, PhysLayerSettings s, const std::string& arAddr, boost::uint16_t aPort) +void PhysicalLayerManager ::AddTCPv4Client(const std::string& arName, PhysLayerSettings s, const std::string& arAddr, boost::uint16_t aPort) +{ + IPhysicalLayerAsyncFactory fac = PhysicalLayerFactory::GetTCPv4ClientAsync(arAddr, aPort); + PhysLayerInstance pli(fac); + this->AddLayer(arName, s, pli); +} + +void PhysicalLayerManager ::AddTCPv4Server(const std::string& arName, PhysLayerSettings s, const std::string& arEndpoint, boost::uint16_t aPort) +{ + IPhysicalLayerAsyncFactory fac = PhysicalLayerFactory::GetTCPv4ServerAsync(arEndpoint, aPort); + PhysLayerInstance pli(fac); + this->AddLayer(arName, s, pli); +} + +void PhysicalLayerManager ::AddTCPv6Client(const std::string& arName, PhysLayerSettings s, const std::string& arAddr, boost::uint16_t aPort) { - IPhysicalLayerAsyncFactory fac = PhysicalLayerFactory::GetTCPClientAsync(arAddr, aPort); + IPhysicalLayerAsyncFactory fac = PhysicalLayerFactory::GetTCPv6ClientAsync(arAddr, aPort); PhysLayerInstance pli(fac); this->AddLayer(arName, s, pli); } -void PhysicalLayerManager ::AddTCPServer(const std::string& arName, PhysLayerSettings s, const std::string& arEndpoint, boost::uint16_t aPort) +void PhysicalLayerManager ::AddTCPv6Server(const std::string& arName, PhysLayerSettings s, const std::string& arEndpoint, boost::uint16_t aPort) { - IPhysicalLayerAsyncFactory fac = PhysicalLayerFactory::GetTCPServerAsync(arEndpoint, aPort); + IPhysicalLayerAsyncFactory fac = PhysicalLayerFactory::GetTCPv6ServerAsync(arEndpoint, aPort); PhysLayerInstance pli(fac); this->AddLayer(arName, s, pli); } diff --git a/APL/PhysicalLayerManager.h b/opendnp3/APL/PhysicalLayerManager.h similarity index 73% rename from APL/PhysicalLayerManager.h rename to opendnp3/APL/PhysicalLayerManager.h index f5189c0f..59eacb19 100644 --- a/APL/PhysicalLayerManager.h +++ b/opendnp3/APL/PhysicalLayerManager.h @@ -19,10 +19,8 @@ #ifndef __PhysicalLayerManager_H_ #define __PhysicalLayerManager_H_ - -#include "PhysicalLayerMap.h" -#include "SerialTypes.h" -//#include "PhysicalLayerInstance.h" +#include +#include namespace apl { @@ -39,8 +37,10 @@ class PhysicalLayerManager : public PhysicalLayerMap //function for manually adding entires - void AddTCPClient(const std::string& arName, PhysLayerSettings, const std::string& arAddr, boost::uint16_t aPort); - void AddTCPServer(const std::string& arName, PhysLayerSettings, const std::string& arEndpoint, boost::uint16_t aPort); + void AddTCPv4Client(const std::string& arName, PhysLayerSettings, const std::string& arAddr, boost::uint16_t aPort); + void AddTCPv4Server(const std::string& arName, PhysLayerSettings, const std::string& arEndpoint, boost::uint16_t aPort); + void AddTCPv6Client(const std::string& arName, PhysLayerSettings, const std::string& arAddr, boost::uint16_t aPort); + void AddTCPv6Server(const std::string& arName, PhysLayerSettings, const std::string& arEndpoint, boost::uint16_t aPort); void AddSerial(const std::string& arName, PhysLayerSettings, SerialSettings); void AddPhysicalLayer(const std::string& arName, PhysLayerSettings, IPhysicalLayerAsync*); diff --git a/APL/PhysicalLayerMap.cpp b/opendnp3/APL/PhysicalLayerMap.cpp similarity index 94% rename from APL/PhysicalLayerMap.cpp rename to opendnp3/APL/PhysicalLayerMap.cpp index b5544117..b5508e5c 100644 --- a/APL/PhysicalLayerMap.cpp +++ b/opendnp3/APL/PhysicalLayerMap.cpp @@ -16,11 +16,10 @@ // specific language governing permissions and limitations // under the License. // -#include "PhysicalLayerMap.h" - -#include "PhysLayerSettings.h" -#include "Logger.h" -#include "Exception.h" +#include +#include +#include +#include namespace apl { @@ -51,7 +50,7 @@ IPhysicalLayerAsync* PhysicalLayerMap::AcquireLayer(const std::string& arName) PhysLayerSettings s = this->_GetSettings(arName); PhysLayerInstance* pInstance = this->_GetInstance(arName); AcquiredMap::iterator i = mAcquiredMap.find(arName); - if(i != mAcquiredMap.end()) throw ArgumentException("Layer with name has already been acquired: " + arName); + if(i != mAcquiredMap.end()) throw ArgumentException("Layer with name has already been acquired: " + arName); else { mAcquiredMap[arName] = true; IPhysicalLayerAsync* pLayer = pInstance->GetLayer(this->MakeLogger(arName, s.LogLevel), mpService); diff --git a/APL/PhysicalLayerMap.h b/opendnp3/APL/PhysicalLayerMap.h similarity index 90% rename from APL/PhysicalLayerMap.h rename to opendnp3/APL/PhysicalLayerMap.h index df0b8fe3..484d42bd 100644 --- a/APL/PhysicalLayerMap.h +++ b/opendnp3/APL/PhysicalLayerMap.h @@ -19,11 +19,11 @@ #ifndef __PHYSICAL_LAYER_MAP_H_ #define __PHYSICAL_LAYER_MAP_H_ -#include "IPhysicalLayerSource.h" -#include "PhysicalLayerInstance.h" -#include "PhysLayerSettings.h" -#include "Lock.h" -#include "Loggable.h" +#include +#include +#include +#include +#include #include @@ -56,11 +56,11 @@ class PhysicalLayerMap : public IPhysicalLayerSource, private Loggable typedef std::map NameToSettingsMap; typedef std::map NameToInstanceMap; typedef std::map AcquiredMap; - + NameToSettingsMap mNameToSettingsMap; NameToInstanceMap mNameToInstanceMap; AcquiredMap mAcquiredMap; - + boost::asio::io_service* mpService; Logger* mpBaseLogger; }; diff --git a/APL/PhysicalLayerMonitor.cpp b/opendnp3/APL/PhysicalLayerMonitor.cpp old mode 100755 new mode 100644 similarity index 96% rename from APL/PhysicalLayerMonitor.cpp rename to opendnp3/APL/PhysicalLayerMonitor.cpp index e935eee3..6cfc8977 --- a/APL/PhysicalLayerMonitor.cpp +++ b/opendnp3/APL/PhysicalLayerMonitor.cpp @@ -16,15 +16,14 @@ // specific language governing permissions and limitations // under the License. // -#include "PhysicalLayerMonitor.h" - -#include "IPhysicalLayerAsync.h" -#include "PhysicalLayerMonitorStates.h" +#include +#include +#include +#include +#include #include #include -#include -#include "Logger.h" namespace apl { diff --git a/APL/PhysicalLayerMonitor.h b/opendnp3/APL/PhysicalLayerMonitor.h old mode 100755 new mode 100644 similarity index 95% rename from APL/PhysicalLayerMonitor.h rename to opendnp3/APL/PhysicalLayerMonitor.h index 9442697b..9f1c9d4e --- a/APL/PhysicalLayerMonitor.h +++ b/opendnp3/APL/PhysicalLayerMonitor.h @@ -19,12 +19,10 @@ #ifndef __PHYSICAL_LAYER_MONITOR_H_ #define __PHYSICAL_LAYER_MONITOR_H_ - -#include "IHandlerAsync.h" -#include "ITimerSource.h" -#include "IPhysicalLayerObserver.h" - -#include "Lock.h" +#include +#include +#include +#include #include diff --git a/APL/PhysicalLayerMonitorStates.cpp b/opendnp3/APL/PhysicalLayerMonitorStates.cpp old mode 100755 new mode 100644 similarity index 98% rename from APL/PhysicalLayerMonitorStates.cpp rename to opendnp3/APL/PhysicalLayerMonitorStates.cpp index 79106599..30bd7654 --- a/APL/PhysicalLayerMonitorStates.cpp +++ b/opendnp3/APL/PhysicalLayerMonitorStates.cpp @@ -17,11 +17,10 @@ // under the License. // -#include "PhysicalLayerMonitorStates.h" - -#include "Logger.h" -#include "Exception.h" -#include "IPhysicalLayerAsync.h" +#include +#include +#include +#include #include diff --git a/APL/PhysicalLayerMonitorStates.h b/opendnp3/APL/PhysicalLayerMonitorStates.h old mode 100755 new mode 100644 similarity index 98% rename from APL/PhysicalLayerMonitorStates.h rename to opendnp3/APL/PhysicalLayerMonitorStates.h index bd884d57..23a558c5 --- a/APL/PhysicalLayerMonitorStates.h +++ b/opendnp3/APL/PhysicalLayerMonitorStates.h @@ -20,9 +20,9 @@ #ifndef __PHYS_LAYER_MONITOR_STATES_H_ #define __PHYS_LAYER_MONITOR_STATES_H_ -#include "IPhysicalLayerObserver.h" -#include "Singleton.h" -#include "PhysicalLayerMonitor.h" +#include +#include +#include #define MACRO_MONITOR_SINGLETON(type, state, shuttingDown) \ MACRO_NAME_SINGLETON_INSTANCE(type) \ diff --git a/APL/PhysicalLayerStates.cpp b/opendnp3/APL/PhysicalLayerStates.cpp old mode 100755 new mode 100644 similarity index 96% rename from APL/PhysicalLayerStates.cpp rename to opendnp3/APL/PhysicalLayerStates.cpp index 4dae85ec..65974670 --- a/APL/PhysicalLayerStates.cpp +++ b/opendnp3/APL/PhysicalLayerStates.cpp @@ -17,12 +17,11 @@ // under the License. // -#include "PhysicalLayerStates.h" +#include namespace apl { - std::string ConvertPhysicalLayerStateToString(PhysicalLayerState aState) { switch(aState) { diff --git a/APL/PhysicalLayerStates.h b/opendnp3/APL/PhysicalLayerStates.h old mode 100755 new mode 100644 similarity index 99% rename from APL/PhysicalLayerStates.h rename to opendnp3/APL/PhysicalLayerStates.h index 5c3310e8..ff5b34cf --- a/APL/PhysicalLayerStates.h +++ b/opendnp3/APL/PhysicalLayerStates.h @@ -19,9 +19,8 @@ #ifndef __PHYSICAL_LAYER_STATES_H_ #define __PHYSICAL_LAYER_STATES_H_ -#include - #include +#include namespace apl { diff --git a/APL/PostingNotifier.cpp b/opendnp3/APL/PostingNotifier.cpp similarity index 96% rename from APL/PostingNotifier.cpp rename to opendnp3/APL/PostingNotifier.cpp index d6fdadac..9feaa902 100644 --- a/APL/PostingNotifier.cpp +++ b/opendnp3/APL/PostingNotifier.cpp @@ -16,7 +16,7 @@ // specific language governing permissions and limitations // under the License. // -#include "PostingNotifier.h" +#include namespace apl { diff --git a/APL/PostingNotifier.h b/opendnp3/APL/PostingNotifier.h similarity index 93% rename from APL/PostingNotifier.h rename to opendnp3/APL/PostingNotifier.h index 53c3ab09..8fc29db4 100644 --- a/APL/PostingNotifier.h +++ b/opendnp3/APL/PostingNotifier.h @@ -19,8 +19,8 @@ #ifndef __POSTING_NOTIFIER_H_ #define __POSTING_NOTIFIER_H_ -#include "INotifier.h" -#include "ITimerSource.h" +#include +#include namespace apl { diff --git a/APL/PostingNotifierSource.cpp b/opendnp3/APL/PostingNotifierSource.cpp similarity index 92% rename from APL/PostingNotifierSource.cpp rename to opendnp3/APL/PostingNotifierSource.cpp index fb392cfe..0cf763c7 100644 --- a/APL/PostingNotifierSource.cpp +++ b/opendnp3/APL/PostingNotifierSource.cpp @@ -16,9 +16,9 @@ // specific language governing permissions and limitations // under the License. // -#include "PostingNotifierSource.h" +#include +#include -#include "PostingNotifier.h" #include namespace apl diff --git a/APL/PostingNotifierSource.h b/opendnp3/APL/PostingNotifierSource.h similarity index 96% rename from APL/PostingNotifierSource.h rename to opendnp3/APL/PostingNotifierSource.h index 78d4b67a..40417f98 100644 --- a/APL/PostingNotifierSource.h +++ b/opendnp3/APL/PostingNotifierSource.h @@ -19,10 +19,10 @@ #ifndef __POSTING_NOTIFIER_SOURCE_H_ #define __POSTING_NOTIFIER_SOURCE_H_ -#include "ITimerSource.h" +#include -#include #include +#include namespace apl { diff --git a/APL/ProtocolUtil.cpp b/opendnp3/APL/ProtocolUtil.cpp similarity index 97% rename from APL/ProtocolUtil.cpp rename to opendnp3/APL/ProtocolUtil.cpp index 2f4d5b24..be680894 100644 --- a/APL/ProtocolUtil.cpp +++ b/opendnp3/APL/ProtocolUtil.cpp @@ -16,7 +16,7 @@ // specific language governing permissions and limitations // under the License. // -#include "ProtocolUtil.h" +#include namespace apl { diff --git a/APL/ProtocolUtil.h b/opendnp3/APL/ProtocolUtil.h similarity index 99% rename from APL/ProtocolUtil.h rename to opendnp3/APL/ProtocolUtil.h index eb405bb5..32de96d1 100644 --- a/APL/ProtocolUtil.h +++ b/opendnp3/APL/ProtocolUtil.h @@ -21,7 +21,6 @@ #include - namespace apl { diff --git a/APL/QualityConverter.cpp b/opendnp3/APL/QualityConverter.cpp similarity index 98% rename from APL/QualityConverter.cpp rename to opendnp3/APL/QualityConverter.cpp index 13405186..553a5cf1 100644 --- a/APL/QualityConverter.cpp +++ b/opendnp3/APL/QualityConverter.cpp @@ -16,7 +16,7 @@ // specific language governing permissions and limitations // under the License. // -#include "QualityConverter.h" +#include namespace apl { diff --git a/APL/QualityConverter.h b/opendnp3/APL/QualityConverter.h similarity index 97% rename from APL/QualityConverter.h rename to opendnp3/APL/QualityConverter.h index 571291e4..8c419ab3 100644 --- a/APL/QualityConverter.h +++ b/opendnp3/APL/QualityConverter.h @@ -20,11 +20,11 @@ #ifndef __QUALITY_CONVERTER_H_ #define __QUALITY_CONVERTER_H_ -#include "QualityMasks.h" -#include "Types.h" +#include +#include -#include #include +#include namespace apl { diff --git a/APL/QualityMasks.h b/opendnp3/APL/QualityMasks.h similarity index 100% rename from APL/QualityMasks.h rename to opendnp3/APL/QualityMasks.h diff --git a/APL/QueueingFDO.h b/opendnp3/APL/QueueingFDO.h similarity index 94% rename from APL/QueueingFDO.h rename to opendnp3/APL/QueueingFDO.h index 8a638e8c..e7b5dc56 100644 --- a/APL/QueueingFDO.h +++ b/opendnp3/APL/QueueingFDO.h @@ -19,18 +19,17 @@ #ifndef __QUEUEING_FDO_H_ #define __QUEUEING_FDO_H_ - -#include "DataInterfaces.h" -#include "Lock.h" -#include "SubjectBase.h" -#include "Util.h" -#include +#include +#include +#include +#include +#include #include #include #include -#include #include +#include namespace apl { diff --git a/APL/Random.h b/opendnp3/APL/Random.h old mode 100755 new mode 100644 similarity index 100% rename from APL/Random.h rename to opendnp3/APL/Random.h diff --git a/APL/RandomDouble.h b/opendnp3/APL/RandomDouble.h old mode 100755 new mode 100644 similarity index 97% rename from APL/RandomDouble.h rename to opendnp3/APL/RandomDouble.h index 2a7d7de8..77d3b34b --- a/APL/RandomDouble.h +++ b/opendnp3/APL/RandomDouble.h @@ -50,7 +50,7 @@ class RandomDouble private: boost::mt19937 rng; - boost::uniform_real dist; + boost::uniform_real dist; boost::variate_generator > nextRand; }; diff --git a/APL/RandomizedBuffer.cpp b/opendnp3/APL/RandomizedBuffer.cpp old mode 100755 new mode 100644 similarity index 96% rename from APL/RandomizedBuffer.cpp rename to opendnp3/APL/RandomizedBuffer.cpp index 1841acb9..e0e75d18 --- a/APL/RandomizedBuffer.cpp +++ b/opendnp3/APL/RandomizedBuffer.cpp @@ -17,7 +17,7 @@ // under the License. // -#include "RandomizedBuffer.h" +#include namespace apl { diff --git a/APL/RandomizedBuffer.h b/opendnp3/APL/RandomizedBuffer.h old mode 100755 new mode 100644 similarity index 93% rename from APL/RandomizedBuffer.h rename to opendnp3/APL/RandomizedBuffer.h index bb72aed3..30b98f67 --- a/APL/RandomizedBuffer.h +++ b/opendnp3/APL/RandomizedBuffer.h @@ -19,8 +19,8 @@ #ifndef __RANDOMIZED_BUFFER_H_ #define __RANDOMIZED_BUFFER_H_ -#include "CopyableBuffer.h" -#include "Random.h" +#include +#include namespace apl { diff --git a/APL/SerialTypes.h b/opendnp3/APL/SerialTypes.h similarity index 100% rename from APL/SerialTypes.h rename to opendnp3/APL/SerialTypes.h diff --git a/APL/ShiftableBuffer.cpp b/opendnp3/APL/ShiftableBuffer.cpp similarity index 97% rename from APL/ShiftableBuffer.cpp rename to opendnp3/APL/ShiftableBuffer.cpp index ae0fc102..8be8d58d 100644 --- a/APL/ShiftableBuffer.cpp +++ b/opendnp3/APL/ShiftableBuffer.cpp @@ -16,9 +16,8 @@ // specific language governing permissions and limitations // under the License. // -#include "ShiftableBuffer.h" - -#include "Exception.h" +#include +#include #include diff --git a/APL/ShiftableBuffer.h b/opendnp3/APL/ShiftableBuffer.h similarity index 99% rename from APL/ShiftableBuffer.h rename to opendnp3/APL/ShiftableBuffer.h index cad4d304..0fd70245 100644 --- a/APL/ShiftableBuffer.h +++ b/opendnp3/APL/ShiftableBuffer.h @@ -19,8 +19,8 @@ #ifndef __SHIFTABLE_BUFFER_H_ #define __SHIFTABLE_BUFFER_H_ +#include -#include "Types.h" #include namespace apl diff --git a/APL/Singleton.h b/opendnp3/APL/Singleton.h similarity index 100% rename from APL/Singleton.h rename to opendnp3/APL/Singleton.h diff --git a/APL/SubjectBase.h b/opendnp3/APL/SubjectBase.h similarity index 93% rename from APL/SubjectBase.h rename to opendnp3/APL/SubjectBase.h index 38085e9e..abce4dd2 100644 --- a/APL/SubjectBase.h +++ b/opendnp3/APL/SubjectBase.h @@ -19,10 +19,10 @@ #ifndef __SUBJECT_BASE_H_ #define __SUBJECT_BASE_H_ +#include +#include +#include -#include "ISubject.h" -#include "INotifier.h" -#include "LockBase.h" #include namespace apl diff --git a/APL/SuspendTimerSource.cpp b/opendnp3/APL/SuspendTimerSource.cpp old mode 100755 new mode 100644 similarity index 94% rename from APL/SuspendTimerSource.cpp rename to opendnp3/APL/SuspendTimerSource.cpp index c177f93f..711a7ae1 --- a/APL/SuspendTimerSource.cpp +++ b/opendnp3/APL/SuspendTimerSource.cpp @@ -17,9 +17,8 @@ // under the License. // -#include "SuspendTimerSource.h" - -#include "ITimerSource.h" +#include +#include #include diff --git a/APL/SuspendTimerSource.h b/opendnp3/APL/SuspendTimerSource.h old mode 100755 new mode 100644 similarity index 95% rename from APL/SuspendTimerSource.h rename to opendnp3/APL/SuspendTimerSource.h index 7f3b0e6f..38fd88d0 --- a/APL/SuspendTimerSource.h +++ b/opendnp3/APL/SuspendTimerSource.h @@ -20,8 +20,8 @@ #ifndef __SUSPEND_TIMER_SOURCE_H_ #define __SUSPEND_TIMER_SOURCE_H_ -#include "Lock.h" -#include "ITransactable.h" +#include +#include namespace apl { diff --git a/APL/SyncVar.h b/opendnp3/APL/SyncVar.h similarity index 96% rename from APL/SyncVar.h rename to opendnp3/APL/SyncVar.h index 5e8c435c..0408d1d0 100644 --- a/APL/SyncVar.h +++ b/opendnp3/APL/SyncVar.h @@ -19,10 +19,9 @@ #ifndef __SYNC_VAR_H_ #define __SYNC_VAR_H_ - -#include "SubjectBase.h" -#include "Timeout.h" -#include "Lock.h" +#include +#include +#include namespace apl { diff --git a/APL/Thread.h b/opendnp3/APL/Thread.h similarity index 89% rename from APL/Thread.h rename to opendnp3/APL/Thread.h index aa2397cf..6c6518fe 100644 --- a/APL/Thread.h +++ b/opendnp3/APL/Thread.h @@ -19,11 +19,9 @@ #ifndef __THREAD_H_ #define __THREAD_H_ - -#include "Threadable.h" -#include "ThreadBase.h" - -#include "ThreadBoost.h" +#include +#include +#include namespace apl { diff --git a/APL/ThreadBase.cpp b/opendnp3/APL/ThreadBase.cpp similarity index 96% rename from APL/ThreadBase.cpp rename to opendnp3/APL/ThreadBase.cpp index 8d15bf6a..fe9abffb 100644 --- a/APL/ThreadBase.cpp +++ b/opendnp3/APL/ThreadBase.cpp @@ -16,8 +16,7 @@ // specific language governing permissions and limitations // under the License. // -#include "ThreadBase.h" - +#include namespace apl { diff --git a/APL/ThreadBase.h b/opendnp3/APL/ThreadBase.h similarity index 97% rename from APL/ThreadBase.h rename to opendnp3/APL/ThreadBase.h index 61bb9f06..4bba0161 100644 --- a/APL/ThreadBase.h +++ b/opendnp3/APL/ThreadBase.h @@ -19,8 +19,7 @@ #ifndef __THREAD_BASE_H_ #define __THREAD_BASE_H_ - -#include "Threadable.h" +#include namespace apl { diff --git a/APL/ThreadBoost.cpp b/opendnp3/APL/ThreadBoost.cpp similarity index 95% rename from APL/ThreadBoost.cpp rename to opendnp3/APL/ThreadBoost.cpp index 8ddd10eb..6131299d 100644 --- a/APL/ThreadBoost.cpp +++ b/opendnp3/APL/ThreadBoost.cpp @@ -16,8 +16,8 @@ // specific language governing permissions and limitations // under the License. // -#include "ThreadBoost.h" -#include "TimingTools.h" +#include +#include namespace apl { diff --git a/APL/ThreadBoost.h b/opendnp3/APL/ThreadBoost.h similarity index 94% rename from APL/ThreadBoost.h rename to opendnp3/APL/ThreadBoost.h index 9b319284..30c0b4ed 100644 --- a/APL/ThreadBoost.h +++ b/opendnp3/APL/ThreadBoost.h @@ -19,8 +19,9 @@ #ifndef __THREAD_BOOST_H_ #define __THREAD_BOOST_H_ -#include "ThreadBase.h" -#include "Types.h" +#include +#include + #include #include diff --git a/APL/Threadable.cpp b/opendnp3/APL/Threadable.cpp similarity index 97% rename from APL/Threadable.cpp rename to opendnp3/APL/Threadable.cpp index 6db36c56..b607c212 100644 --- a/APL/Threadable.cpp +++ b/opendnp3/APL/Threadable.cpp @@ -16,7 +16,7 @@ // specific language governing permissions and limitations // under the License. // -#include "Threadable.h" +#include #include diff --git a/APL/Threadable.h b/opendnp3/APL/Threadable.h similarity index 100% rename from APL/Threadable.h rename to opendnp3/APL/Threadable.h diff --git a/APL/TimeBase.cpp b/opendnp3/APL/TimeBase.cpp similarity index 98% rename from APL/TimeBase.cpp rename to opendnp3/APL/TimeBase.cpp index ac539c5f..79e4e316 100644 --- a/APL/TimeBase.cpp +++ b/opendnp3/APL/TimeBase.cpp @@ -16,8 +16,7 @@ // specific language governing permissions and limitations // under the License. // -#include "TimeBase.h" - +#include namespace apl { diff --git a/APL/TimeBase.h b/opendnp3/APL/TimeBase.h similarity index 98% rename from APL/TimeBase.h rename to opendnp3/APL/TimeBase.h index ccdc0fd6..eb40b4c4 100644 --- a/APL/TimeBase.h +++ b/opendnp3/APL/TimeBase.h @@ -19,11 +19,10 @@ #ifndef __TIME_BASE_H_ #define __TIME_BASE_H_ +#include -#include #include - -#include "Types.h" +#include namespace apl { diff --git a/APL/TimeBoost.cpp b/opendnp3/APL/TimeBoost.cpp similarity index 97% rename from APL/TimeBoost.cpp rename to opendnp3/APL/TimeBoost.cpp index 90d17823..2e3c043b 100644 --- a/APL/TimeBoost.cpp +++ b/opendnp3/APL/TimeBoost.cpp @@ -17,9 +17,8 @@ // under the License. // - -#include "TimeBoost.h" -#include "Util.h" +#include +#include #include diff --git a/APL/TimeBoost.h b/opendnp3/APL/TimeBoost.h similarity index 97% rename from APL/TimeBoost.h rename to opendnp3/APL/TimeBoost.h index 3b1e83ec..dbbc4007 100644 --- a/APL/TimeBoost.h +++ b/opendnp3/APL/TimeBoost.h @@ -16,15 +16,14 @@ // specific language governing permissions and limitations // under the License. // - #ifndef _TIME_BOOST_H_ #define _TIME_BOOST_H_ -#include "Configure.h" -#include "Types.h" +#include +#include -#include #include +#include //undef some of the evil macros brought in by windows #undef GetMessage @@ -35,7 +34,6 @@ using namespace boost::posix_time; namespace apl { - class TimeBoost { public: diff --git a/APL/TimeSource.cpp b/opendnp3/APL/TimeSource.cpp similarity index 96% rename from APL/TimeSource.cpp rename to opendnp3/APL/TimeSource.cpp index 5a0ff452..169067e4 100644 --- a/APL/TimeSource.cpp +++ b/opendnp3/APL/TimeSource.cpp @@ -16,9 +16,8 @@ // specific language governing permissions and limitations // under the License. // -#include "TimeSource.h" - -#include "TimingTools.h" +#include +#include using namespace boost::posix_time; diff --git a/APL/TimeSource.h b/opendnp3/APL/TimeSource.h similarity index 94% rename from APL/TimeSource.h rename to opendnp3/APL/TimeSource.h index b1a9e607..4156a765 100644 --- a/APL/TimeSource.h +++ b/opendnp3/APL/TimeSource.h @@ -19,9 +19,9 @@ #ifndef __TIME_SOURCE_H_ #define __TIME_SOURCE_H_ -#include "ITimeSource.h" -#include "Singleton.h" -#include "Types.h" +#include +#include +#include #include diff --git a/APL/TimeTypes.h b/opendnp3/APL/TimeTypes.h similarity index 96% rename from APL/TimeTypes.h rename to opendnp3/APL/TimeTypes.h index f6734718..bc4adba3 100644 --- a/APL/TimeTypes.h +++ b/opendnp3/APL/TimeTypes.h @@ -19,7 +19,7 @@ #ifndef __TIME_TYPES_H_ #define __TIME_TYPES_H_ -#include "TimeBoost.h" +#include namespace apl { diff --git a/APL/Timeout.cpp b/opendnp3/APL/Timeout.cpp similarity index 98% rename from APL/Timeout.cpp rename to opendnp3/APL/Timeout.cpp index 05c767fc..fcfb5e96 100644 --- a/APL/Timeout.cpp +++ b/opendnp3/APL/Timeout.cpp @@ -16,7 +16,7 @@ // specific language governing permissions and limitations // under the License. // -#include "Timeout.h" +#include namespace apl { diff --git a/APL/Timeout.h b/opendnp3/APL/Timeout.h similarity index 96% rename from APL/Timeout.h rename to opendnp3/APL/Timeout.h index 5b34f72d..03d43ca1 100644 --- a/APL/Timeout.h +++ b/opendnp3/APL/Timeout.h @@ -19,8 +19,8 @@ #ifndef __TIMEOUT_H_ #define __TIMEOUT_H_ -#include "TimeTypes.h" -#include "Types.h" +#include +#include namespace apl { diff --git a/APL/TimerASIO.cpp b/opendnp3/APL/TimerASIO.cpp similarity index 97% rename from APL/TimerASIO.cpp rename to opendnp3/APL/TimerASIO.cpp index fc9c2914..62f147bd 100644 --- a/APL/TimerASIO.cpp +++ b/opendnp3/APL/TimerASIO.cpp @@ -16,7 +16,7 @@ // specific language governing permissions and limitations // under the License. // -#include "TimerASIO.h" +#include namespace apl { diff --git a/APL/TimerASIO.h b/opendnp3/APL/TimerASIO.h similarity index 97% rename from APL/TimerASIO.h rename to opendnp3/APL/TimerASIO.h index fcbdda6e..7a9f7713 100644 --- a/APL/TimerASIO.h +++ b/opendnp3/APL/TimerASIO.h @@ -19,9 +19,9 @@ #ifndef __TIMER_ASIO_H_ #define __TIMER_ASIO_H_ +#include #include -#include "ITimerSource.h" namespace apl { diff --git a/APL/TimerSourceASIO.cpp b/opendnp3/APL/TimerSourceASIO.cpp similarity index 96% rename from APL/TimerSourceASIO.cpp rename to opendnp3/APL/TimerSourceASIO.cpp index 2957d7ff..d5f94b42 100644 --- a/APL/TimerSourceASIO.cpp +++ b/opendnp3/APL/TimerSourceASIO.cpp @@ -17,14 +17,13 @@ // under the License. // -#include "TimerSourceASIO.h" - -#include "TimerASIO.h" -#include "AsyncResult.h" +#include +#include +#include #include -#include #include +#include namespace apl { diff --git a/APL/TimerSourceASIO.h b/opendnp3/APL/TimerSourceASIO.h similarity index 94% rename from APL/TimerSourceASIO.h rename to opendnp3/APL/TimerSourceASIO.h index d89b5cf6..4b3c21ec 100644 --- a/APL/TimerSourceASIO.h +++ b/opendnp3/APL/TimerSourceASIO.h @@ -19,9 +19,9 @@ #ifndef __TIMER_SOURCE_ASIO_H_ #define __TIMER_SOURCE_ASIO_H_ -#include "ITimerSource.h" -#include "Lock.h" -#include "Exception.h" +#include +#include +#include #include diff --git a/APL/TimingTools.cpp b/opendnp3/APL/TimingTools.cpp similarity index 98% rename from APL/TimingTools.cpp rename to opendnp3/APL/TimingTools.cpp index fbbe18db..e0cd1de4 100644 --- a/APL/TimingTools.cpp +++ b/opendnp3/APL/TimingTools.cpp @@ -17,12 +17,11 @@ // under the License. // - #ifdef max #undef max #endif -#include "TimingTools.h" +#include namespace apl { diff --git a/APL/TimingTools.h b/opendnp3/APL/TimingTools.h similarity index 94% rename from APL/TimingTools.h rename to opendnp3/APL/TimingTools.h index cab5011d..23390331 100644 --- a/APL/TimingTools.h +++ b/opendnp3/APL/TimingTools.h @@ -16,14 +16,12 @@ // specific language governing permissions and limitations // under the License. // - - #ifndef _TIMINGTOOLS_H__ #define _TIMINGTOOLS_H__ -#include "TimeTypes.h" -#include "Types.h" -#include "Timeout.h" +#include +#include +#include namespace apl { diff --git a/APL/ToHex.cpp b/opendnp3/APL/ToHex.cpp similarity index 97% rename from APL/ToHex.cpp rename to opendnp3/APL/ToHex.cpp index 84a903dc..b45f16f0 100644 --- a/APL/ToHex.cpp +++ b/opendnp3/APL/ToHex.cpp @@ -16,9 +16,7 @@ // specific language governing permissions and limitations // under the License. // -#include "ToHex.h" - - +#include namespace apl { diff --git a/APL/ToHex.h b/opendnp3/APL/ToHex.h similarity index 97% rename from APL/ToHex.h rename to opendnp3/APL/ToHex.h index c1a7f7a4..9cd13673 100644 --- a/APL/ToHex.h +++ b/opendnp3/APL/ToHex.h @@ -19,9 +19,10 @@ #ifndef __TO_HEX_H_ #define __TO_HEX_H_ -#include "Types.h" -#include +#include + #include +#include namespace apl { diff --git a/APL/TrackingTaskGroup.cpp b/opendnp3/APL/TrackingTaskGroup.cpp old mode 100755 new mode 100644 similarity index 92% rename from APL/TrackingTaskGroup.cpp rename to opendnp3/APL/TrackingTaskGroup.cpp index d5fac68e..4cd04465 --- a/APL/TrackingTaskGroup.cpp +++ b/opendnp3/APL/TrackingTaskGroup.cpp @@ -16,10 +16,9 @@ // specific language governing permissions and limitations // under the License. // -#include "TrackingTaskGroup.h" - -#include "AsyncTaskGroup.h" -#include "AsyncTaskContinuous.h" +#include +#include +#include namespace apl { diff --git a/APL/TrackingTaskGroup.h b/opendnp3/APL/TrackingTaskGroup.h old mode 100755 new mode 100644 similarity index 93% rename from APL/TrackingTaskGroup.h rename to opendnp3/APL/TrackingTaskGroup.h index cde62c4b..6516f6a8 --- a/APL/TrackingTaskGroup.h +++ b/opendnp3/APL/TrackingTaskGroup.h @@ -19,14 +19,13 @@ #ifndef __TRACKING_TASK_GROUP_H_ #define __TRACKING_TASK_GROUP_H_ +#include +#include +#include -#include "Types.h" -#include "AsyncTaskInterfaces.h" -#include "Uncopyable.h" - -#include -#include #include +#include +#include namespace apl { diff --git a/APL/Types.h b/opendnp3/APL/Types.h similarity index 100% rename from APL/Types.h rename to opendnp3/APL/Types.h diff --git a/APL/Uncopyable.h b/opendnp3/APL/Uncopyable.h similarity index 100% rename from APL/Uncopyable.h rename to opendnp3/APL/Uncopyable.h diff --git a/APL/Util.cpp b/opendnp3/APL/Util.cpp similarity index 97% rename from APL/Util.cpp rename to opendnp3/APL/Util.cpp index 92e2742e..0fb37415 100644 --- a/APL/Util.cpp +++ b/opendnp3/APL/Util.cpp @@ -16,31 +16,29 @@ // specific language governing permissions and limitations // under the License. // -#include -#include -#include -#include #include #include -#include -#include #include +#include +#include +#include +#include +#include +#include +#include +#include -#include "Util.h" +#include +#include +#include #ifdef WIN32 #define sscanf sscanf_s #endif -#include "TimingTools.h" -#include "Exception.h" - using namespace std; using namespace boost::posix_time; -#include -#include - #ifdef APL_PLATFORM_WIN #define CLEAR_CMD "cls" #else diff --git a/APL/Util.h b/opendnp3/APL/Util.h similarity index 95% rename from APL/Util.h rename to opendnp3/APL/Util.h index e19b812e..f914bd9b 100644 --- a/APL/Util.h +++ b/opendnp3/APL/Util.h @@ -19,14 +19,14 @@ #ifndef _UTIL_H_ #define _UTIL_H_ -#include -#include +#include +#include + #include -#include #include - -#include "Types.h" -#include "Configure.h" +#include +#include +#include namespace boost { diff --git a/APL/rake.project.rb b/opendnp3/APL/rake.project.rb similarity index 100% rename from APL/rake.project.rb rename to opendnp3/APL/rake.project.rb diff --git a/DNP3/APDU.cpp b/opendnp3/DNP3/APDU.cpp similarity index 98% rename from DNP3/APDU.cpp rename to opendnp3/DNP3/APDU.cpp index 6e9c221b..2abed283 100644 --- a/DNP3/APDU.cpp +++ b/opendnp3/DNP3/APDU.cpp @@ -16,22 +16,17 @@ // specific language governing permissions and limitations // under the License. // -#include "APDU.h" - -#include -#include - - -#include "DNPConstants.h" -#include "ObjectWriteIterator.h" -#include "APDUConstants.h" +#include +#include +#include +#include +#include +#include #include -#include -#include #include - - +#include +#include using namespace std; @@ -637,8 +632,8 @@ std::string APDU::ToString() const for ( ; !itr.IsEnd(); ++itr) { oss << " Header: (Grp: " << itr->GetGroup(); oss << ", Var: " << itr->GetVariation(); - oss << ", Qual: " << itr->GetQualifier() << ", "; - oss << itr->GetHeader()->ToString(*itr); + oss << ", Qual: " << itr->GetQualifier() << ", "; + oss << itr->GetHeader()->ToString(*itr); oss << ")"; } } diff --git a/DNP3/APDU.h b/opendnp3/DNP3/APDU.h similarity index 96% rename from DNP3/APDU.h rename to opendnp3/DNP3/APDU.h index 95281944..97ec6a37 100644 --- a/DNP3/APDU.h +++ b/opendnp3/DNP3/APDU.h @@ -19,17 +19,17 @@ #ifndef __APDU_H_ #define __APDU_H_ -#include -#include -#include - -#include "AppHeader.h" -#include "ObjectHeader.h" -#include "Objects.h" -#include "APDUConstants.h" -#include "HeaderReadIterator.h" -#include "ObjectWriteIterator.h" -#include "IndexedWriteIterator.h" +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include #include #include diff --git a/DNP3/APDUConstants.cpp b/opendnp3/DNP3/APDUConstants.cpp similarity index 98% rename from DNP3/APDUConstants.cpp rename to opendnp3/DNP3/APDUConstants.cpp index 1013bd7f..6fa06f9a 100644 --- a/DNP3/APDUConstants.cpp +++ b/opendnp3/DNP3/APDUConstants.cpp @@ -16,7 +16,7 @@ // specific language governing permissions and limitations // under the License. // -#include "APDUConstants.h" +#include namespace apl diff --git a/DNP3/APDUConstants.h b/opendnp3/DNP3/APDUConstants.h similarity index 100% rename from DNP3/APDUConstants.h rename to opendnp3/DNP3/APDUConstants.h diff --git a/DNP3/AlwaysOpeningVtoRouter.cpp b/opendnp3/DNP3/AlwaysOpeningVtoRouter.cpp similarity index 95% rename from DNP3/AlwaysOpeningVtoRouter.cpp rename to opendnp3/DNP3/AlwaysOpeningVtoRouter.cpp index 4fd4c234..59df2c3f 100644 --- a/DNP3/AlwaysOpeningVtoRouter.cpp +++ b/opendnp3/DNP3/AlwaysOpeningVtoRouter.cpp @@ -15,7 +15,7 @@ * under the License. */ -#include "AlwaysOpeningVtoRouter.h" +#include namespace apl { diff --git a/DNP3/AlwaysOpeningVtoRouter.h b/opendnp3/DNP3/AlwaysOpeningVtoRouter.h similarity index 97% rename from DNP3/AlwaysOpeningVtoRouter.h rename to opendnp3/DNP3/AlwaysOpeningVtoRouter.h index ef050f42..092ec6b6 100644 --- a/DNP3/AlwaysOpeningVtoRouter.h +++ b/opendnp3/DNP3/AlwaysOpeningVtoRouter.h @@ -18,7 +18,7 @@ #ifndef __ALWAYS_OPENING_VTO_ROUTER_H_ #define __ALWAYS_OPENING_VTO_ROUTER_H_ -#include "VtoRouter.h" +#include namespace apl { diff --git a/DNP3/AppChannelStates.cpp b/opendnp3/DNP3/AppChannelStates.cpp similarity index 96% rename from DNP3/AppChannelStates.cpp rename to opendnp3/DNP3/AppChannelStates.cpp index 8a05153f..623aea23 100644 --- a/DNP3/AppChannelStates.cpp +++ b/opendnp3/DNP3/AppChannelStates.cpp @@ -16,17 +16,16 @@ // specific language governing permissions and limitations // under the License. // -#include "AppChannelStates.h" +#include +#include +#include +#include +#include +#include -#include -#include -#include #include #include -#include "AppLayerChannel.h" -#include "APDU.h" - namespace apl { namespace dnp diff --git a/DNP3/AppChannelStates.h b/opendnp3/DNP3/AppChannelStates.h similarity index 96% rename from DNP3/AppChannelStates.h rename to opendnp3/DNP3/AppChannelStates.h index 7a61d9c2..cec3c626 100644 --- a/DNP3/AppChannelStates.h +++ b/opendnp3/DNP3/AppChannelStates.h @@ -19,11 +19,11 @@ #ifndef __APP_CHANNEL_STATES_H_ #define __APP_CHANNEL_STATES_H_ -#include -#include +#include +#include +#include -#include "APDUConstants.h" -#include "AppLayerChannel.h" +#include namespace apl { diff --git a/DNP3/AppConfig.h b/opendnp3/DNP3/AppConfig.h similarity index 95% rename from DNP3/AppConfig.h rename to opendnp3/DNP3/AppConfig.h index ffb9a80a..5c2a097d 100644 --- a/DNP3/AppConfig.h +++ b/opendnp3/DNP3/AppConfig.h @@ -19,8 +19,8 @@ #ifndef __APP_CONFIG_H_ #define __APP_CONFIG_H_ - -#include "DNPConstants.h" +#include +#include namespace apl { diff --git a/DNP3/AppHeader.cpp b/opendnp3/DNP3/AppHeader.cpp similarity index 98% rename from DNP3/AppHeader.cpp rename to opendnp3/DNP3/AppHeader.cpp index 4fc81c11..7764f942 100644 --- a/DNP3/AppHeader.cpp +++ b/opendnp3/DNP3/AppHeader.cpp @@ -16,14 +16,12 @@ // specific language governing permissions and limitations // under the License. // -#include "AppHeader.h" - +#include +#include #include #include -#include - using namespace std; #define MACRO_FUNC_CASE(func) case(func): return func; diff --git a/DNP3/AppHeader.h b/opendnp3/DNP3/AppHeader.h similarity index 98% rename from DNP3/AppHeader.h rename to opendnp3/DNP3/AppHeader.h index dafbf23e..6baa2560 100644 --- a/DNP3/AppHeader.h +++ b/opendnp3/DNP3/AppHeader.h @@ -20,11 +20,11 @@ #define __APP_HEADER_H_ -#include -#include -#include +#include +#include +#include -#include "APDUConstants.h" +#include namespace apl { diff --git a/DNP3/AppInterfaces.cpp b/opendnp3/DNP3/AppInterfaces.cpp similarity index 92% rename from DNP3/AppInterfaces.cpp rename to opendnp3/DNP3/AppInterfaces.cpp index 77c8201a..0b434186 100644 --- a/DNP3/AppInterfaces.cpp +++ b/opendnp3/DNP3/AppInterfaces.cpp @@ -16,10 +16,9 @@ // specific language governing permissions and limitations // under the License. // -#include "AppInterfaces.h" - -#include -#include +#include +#include +#include namespace apl { @@ -46,7 +45,6 @@ void IAppUser::OnRequest(const APDU&, SequenceInfo) throw Exception(LOCATION, "Unhandled frame"); } - void IAppUser::OnUnknownObject() { throw Exception(LOCATION, "Unhandled frame"); diff --git a/DNP3/AppInterfaces.h b/opendnp3/DNP3/AppInterfaces.h similarity index 99% rename from DNP3/AppInterfaces.h rename to opendnp3/DNP3/AppInterfaces.h index c542475e..b86d856e 100644 --- a/DNP3/AppInterfaces.h +++ b/opendnp3/DNP3/AppInterfaces.h @@ -19,7 +19,6 @@ #ifndef __APP_INTERFACES_H_ #define __APP_INTERFACES_H_ - #include namespace apl diff --git a/DNP3/AppLayer.cpp b/opendnp3/DNP3/AppLayer.cpp similarity index 98% rename from DNP3/AppLayer.cpp rename to opendnp3/DNP3/AppLayer.cpp index c4477af2..87c0675a 100644 --- a/DNP3/AppLayer.cpp +++ b/opendnp3/DNP3/AppLayer.cpp @@ -17,11 +17,9 @@ // under the License. // -#include "./AppLayer.h" - - -#include -#include +#include +#include +#include using namespace std; diff --git a/DNP3/AppLayer.h b/opendnp3/DNP3/AppLayer.h similarity index 92% rename from DNP3/AppLayer.h rename to opendnp3/DNP3/AppLayer.h index 534c3134..d53f8e0b 100644 --- a/DNP3/AppLayer.h +++ b/opendnp3/DNP3/AppLayer.h @@ -19,14 +19,14 @@ #ifndef __APP_LAYER_H_ #define __APP_LAYER_H_ -#include -#include +#include +#include +#include +#include +#include +#include -#include "APDU.h" -#include "AppInterfaces.h" -#include "AppConfig.h" -#include "SolicitedChannel.h" -#include "UnsolicitedChannel.h" +#include namespace apl { diff --git a/DNP3/AppLayerChannel.cpp b/opendnp3/DNP3/AppLayerChannel.cpp similarity index 93% rename from DNP3/AppLayerChannel.cpp rename to opendnp3/DNP3/AppLayerChannel.cpp index 46da3f2d..cbe41fed 100644 --- a/DNP3/AppLayerChannel.cpp +++ b/opendnp3/DNP3/AppLayerChannel.cpp @@ -16,13 +16,11 @@ // specific language governing permissions and limitations // under the License. // -#include "AppLayerChannel.h" - -#include -#include - -#include "AppLayer.h" -#include "AppChannelStates.h" +#include +#include +#include +#include +#include #include diff --git a/DNP3/AppLayerChannel.h b/opendnp3/DNP3/AppLayerChannel.h similarity index 97% rename from DNP3/AppLayerChannel.h rename to opendnp3/DNP3/AppLayerChannel.h index 029e1d63..94483126 100644 --- a/DNP3/AppLayerChannel.h +++ b/opendnp3/DNP3/AppLayerChannel.h @@ -19,8 +19,8 @@ #ifndef __APP_LAYER_CHANNEL_H_ #define __APP_LAYER_CHANNEL_H_ -#include -#include +#include +#include namespace apl { diff --git a/DNP3/AsyncStackManager.cpp b/opendnp3/DNP3/AsyncStackManager.cpp similarity index 87% rename from DNP3/AsyncStackManager.cpp rename to opendnp3/DNP3/AsyncStackManager.cpp index e7bfab5b..5076e96c 100644 --- a/DNP3/AsyncStackManager.cpp +++ b/opendnp3/DNP3/AsyncStackManager.cpp @@ -17,30 +17,26 @@ // under the License. // -#include "AsyncStackManager.h" -#include "LinkChannel.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include -#include #include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - +#include #include - using namespace std; namespace apl @@ -84,15 +80,37 @@ std::vector AsyncStackManager::GetPortNames() } void AsyncStackManager::AddTCPClient(const std::string& arName, PhysLayerSettings aSettings, const std::string& arAddr, boost::uint16_t aPort) +{ + AddTCPv4Client(arName, aSettings, arAddr, aPort); +} + +void AsyncStackManager::AddTCPv4Client(const std::string& arName, PhysLayerSettings aSettings, const std::string& arAddr, boost::uint16_t aPort) { this->ThrowIfAlreadyShutdown(); - mMgr.AddTCPClient(arName, aSettings, arAddr, aPort); + mMgr.AddTCPv4Client(arName, aSettings, arAddr, aPort); } void AsyncStackManager::AddTCPServer(const std::string& arName, PhysLayerSettings aSettings, const std::string& arEndpoint, boost::uint16_t aPort) +{ + AddTCPv4Server(arName, aSettings, arEndpoint, aPort); +} + +void AsyncStackManager::AddTCPv4Server(const std::string& arName, PhysLayerSettings aSettings, const std::string& arEndpoint, boost::uint16_t aPort) +{ + this->ThrowIfAlreadyShutdown(); + mMgr.AddTCPv4Server(arName, aSettings, arEndpoint, aPort); +} + +void AsyncStackManager::AddTCPv6Client(const std::string& arName, PhysLayerSettings aSettings, const std::string& arAddr, boost::uint16_t aPort) { this->ThrowIfAlreadyShutdown(); - mMgr.AddTCPServer(arName, aSettings, arEndpoint, aPort); + mMgr.AddTCPv6Client(arName, aSettings, arAddr, aPort); +} + +void AsyncStackManager::AddTCPv6Server(const std::string& arName, PhysLayerSettings aSettings, const std::string& arEndpoint, boost::uint16_t aPort) +{ + this->ThrowIfAlreadyShutdown(); + mMgr.AddTCPv6Server(arName, aSettings, arEndpoint, aPort); } void AsyncStackManager::AddSerial(const std::string& arName, PhysLayerSettings aSettings, SerialSettings aSerial) @@ -200,7 +218,7 @@ IVtoWriter* AsyncStackManager::GetVtoWriter(const std::string& arStackName) // Remove a port and all associated stacks void AsyncStackManager::RemovePort(const std::string& arPortName) -{ +{ this->ThrowIfAlreadyShutdown(); LinkChannel* pChannel = this->GetChannelMaybeNull(arPortName); if(pChannel != NULL) { // the channel is in use @@ -220,7 +238,7 @@ void AsyncStackManager::RemovePort(const std::string& arPortName) this->RemoveStack(s); } this->mScheduler.ReleaseGroup(pChannel->GetGroup()); - } + } // remove the physical layer from the list mMgr.Remove(arPortName); diff --git a/DNP3/AsyncStackManager.h b/opendnp3/DNP3/AsyncStackManager.h similarity index 88% rename from DNP3/AsyncStackManager.h rename to opendnp3/DNP3/AsyncStackManager.h index 24e7f7d6..c78ca8cc 100644 --- a/DNP3/AsyncStackManager.h +++ b/opendnp3/DNP3/AsyncStackManager.h @@ -20,25 +20,24 @@ #ifndef __ASYNC_STACK_MANAGER_H_ #define __ASYNC_STACK_MANAGER_H_ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "VtoDataInterface.h" -#include "LinkRoute.h" -#include "VtoRouterManager.h" - namespace apl { class IPhysicalLayerAsync; @@ -76,11 +75,19 @@ class AsyncStackManager : private Threadable, private Loggable // All the io_service marshalling now occurs here. It's now safe to add/remove while the manager is running. - // Adds a TCPClient port, excepts if the port already exists + // Adds a TCPv4Client port, excepts if the port already exists void AddTCPClient(const std::string& arName, PhysLayerSettings, const std::string& arAddr, boost::uint16_t aPort); + void AddTCPv4Client(const std::string& arName, PhysLayerSettings, const std::string& arAddr, boost::uint16_t aPort); - // Adds a TCPServer port, excepts if the port already exists + // Adds a TCPv4Server port, excepts if the port already exists void AddTCPServer(const std::string& arName, PhysLayerSettings, const std::string& arEndpoint, boost::uint16_t aPort); + void AddTCPv4Server(const std::string& arName, PhysLayerSettings, const std::string& arEndpoint, boost::uint16_t aPort); + + // Adds a TCPv6Client port, excepts if the port already exists + void AddTCPv6Client(const std::string& arName, PhysLayerSettings, const std::string& arAddr, boost::uint16_t aPort); + + // Adds a TCPv6Server port, excepts if the port already exists + void AddTCPv6Server(const std::string& arName, PhysLayerSettings, const std::string& arEndpoint, boost::uint16_t aPort); // Adds a Serial port, excepts if the port already exists void AddSerial(const std::string& arName, PhysLayerSettings, SerialSettings); @@ -313,9 +320,6 @@ class AsyncStackManager : private Threadable, private Loggable StackRecord GetStackRecordByName(const std::string& arName); - - - }; } diff --git a/DNP3/BufferSetTypes.h b/opendnp3/DNP3/BufferSetTypes.h similarity index 99% rename from DNP3/BufferSetTypes.h rename to opendnp3/DNP3/BufferSetTypes.h index fcf387d3..783d5dea 100644 --- a/DNP3/BufferSetTypes.h +++ b/opendnp3/DNP3/BufferSetTypes.h @@ -19,12 +19,11 @@ #ifndef __BUFFER_SET_TYPES_H_ #define __BUFFER_SET_TYPES_H_ - +#include +#include #include #include #include -#include -#include namespace apl { diff --git a/DNP3/BufferTypes.cpp b/opendnp3/DNP3/BufferTypes.cpp similarity index 93% rename from DNP3/BufferTypes.cpp rename to opendnp3/DNP3/BufferTypes.cpp index d5e77ffc..19b1b66f 100644 --- a/DNP3/BufferTypes.cpp +++ b/opendnp3/DNP3/BufferTypes.cpp @@ -15,9 +15,8 @@ // under the License. // -#include - -#include "BufferTypes.h" +#include +#include namespace apl { diff --git a/DNP3/BufferTypes.h b/opendnp3/DNP3/BufferTypes.h similarity index 97% rename from DNP3/BufferTypes.h rename to opendnp3/DNP3/BufferTypes.h index 9812bfc7..0e832cdd 100644 --- a/DNP3/BufferTypes.h +++ b/opendnp3/DNP3/BufferTypes.h @@ -18,7 +18,7 @@ #ifndef __BUFFER_TYPES_H_ #define __BUFFER_TYPES_H_ -#include +#include namespace apl { diff --git a/DNP3/CTOHistory.h b/opendnp3/DNP3/CTOHistory.h similarity index 100% rename from DNP3/CTOHistory.h rename to opendnp3/DNP3/CTOHistory.h diff --git a/DNP3/ClassCounter.cpp b/opendnp3/DNP3/ClassCounter.cpp similarity index 97% rename from DNP3/ClassCounter.cpp rename to opendnp3/DNP3/ClassCounter.cpp index ba86ca68..afc18371 100644 --- a/DNP3/ClassCounter.cpp +++ b/opendnp3/DNP3/ClassCounter.cpp @@ -16,8 +16,7 @@ // specific language governing permissions and limitations // under the License. // -#include "ClassCounter.h" - +#include #include diff --git a/DNP3/ClassCounter.h b/opendnp3/DNP3/ClassCounter.h similarity index 95% rename from DNP3/ClassCounter.h rename to opendnp3/DNP3/ClassCounter.h index beaa64eb..a3fe6cb4 100644 --- a/DNP3/ClassCounter.h +++ b/opendnp3/DNP3/ClassCounter.h @@ -19,13 +19,11 @@ #ifndef __CLASS_COUNTER_H_ #define __CLASS_COUNTER_H_ +#include +#include - -#include #include - -#include "DNPDatabaseTypes.h" -#include +#include namespace apl { diff --git a/DNP3/ClassMask.h b/opendnp3/DNP3/ClassMask.h similarity index 97% rename from DNP3/ClassMask.h rename to opendnp3/DNP3/ClassMask.h index 20eb8a00..942fc1e0 100644 --- a/DNP3/ClassMask.h +++ b/opendnp3/DNP3/ClassMask.h @@ -19,7 +19,7 @@ #ifndef __CLASS_MASK_H_ #define __CLASS_MASK_H_ -#include "PointClass.h" +#include namespace apl { diff --git a/DNP3/ControlTasks.cpp b/opendnp3/DNP3/ControlTasks.cpp similarity index 96% rename from DNP3/ControlTasks.cpp rename to opendnp3/DNP3/ControlTasks.cpp index ffb2dedb..d4532273 100644 --- a/DNP3/ControlTasks.cpp +++ b/opendnp3/DNP3/ControlTasks.cpp @@ -17,11 +17,11 @@ // under the License. // -#include "ControlTasks.h" -#include "APDU.h" +#include +#include +#include #include -#include namespace apl { diff --git a/DNP3/ControlTasks.h b/opendnp3/DNP3/ControlTasks.h similarity index 93% rename from DNP3/ControlTasks.h rename to opendnp3/DNP3/ControlTasks.h index d1e1c82e..9ca450d0 100644 --- a/DNP3/ControlTasks.h +++ b/opendnp3/DNP3/ControlTasks.h @@ -19,17 +19,16 @@ #ifndef __CONTROL_TASKS_H_ #define __CONTROL_TASKS_H_ -#include -#include "MasterTaskBase.h" -#include "ObjectInterfaces.h" -#include "ObjectReadIterator.h" -#include "APDU.h" +#include +#include +#include +#include +#include +#include +#include #include - -#include -#include -#include +#include namespace apl { diff --git a/DNP3/DNP3.vcxproj b/opendnp3/DNP3/DNP3.vcxproj similarity index 100% rename from DNP3/DNP3.vcxproj rename to opendnp3/DNP3/DNP3.vcxproj diff --git a/DNP3/DNP3.vcxproj.filters b/opendnp3/DNP3/DNP3.vcxproj.filters similarity index 100% rename from DNP3/DNP3.vcxproj.filters rename to opendnp3/DNP3/DNP3.vcxproj.filters diff --git a/DNP3/DNPCommandMaster.cpp b/opendnp3/DNP3/DNPCommandMaster.cpp similarity index 95% rename from DNP3/DNPCommandMaster.cpp rename to opendnp3/DNP3/DNPCommandMaster.cpp index 55f0af30..7951ee68 100644 --- a/DNP3/DNPCommandMaster.cpp +++ b/opendnp3/DNP3/DNPCommandMaster.cpp @@ -16,12 +16,10 @@ // specific language governing permissions and limitations // under the License. // -#include "DNPCommandMaster.h" - -#include -#include - -#include "DeviceTemplate.h" +#include +#include +#include +#include #include diff --git a/DNP3/DNPCommandMaster.h b/opendnp3/DNP3/DNPCommandMaster.h similarity index 97% rename from DNP3/DNPCommandMaster.h rename to opendnp3/DNP3/DNPCommandMaster.h index 623963d7..ade427ac 100644 --- a/DNP3/DNPCommandMaster.h +++ b/opendnp3/DNP3/DNPCommandMaster.h @@ -19,12 +19,12 @@ #ifndef __DNP_COMMAND_MASTER_H_ #define __DNP_COMMAND_MASTER_H_ +#include +#include +#include +#include +#include -#include -#include -#include -#include -#include #include #include diff --git a/DNP3/DNPConstants.h b/opendnp3/DNP3/DNPConstants.h similarity index 100% rename from DNP3/DNPConstants.h rename to opendnp3/DNP3/DNPConstants.h diff --git a/DNP3/DNPCrc.cpp b/opendnp3/DNP3/DNPCrc.cpp similarity index 93% rename from DNP3/DNPCrc.cpp rename to opendnp3/DNP3/DNPCrc.cpp index 1e32b431..28f07711 100644 --- a/DNP3/DNPCrc.cpp +++ b/opendnp3/DNP3/DNPCrc.cpp @@ -17,10 +17,9 @@ // under the License. // -#include "DNPCrc.h" -#include - -#include +#include +#include +#include namespace apl { diff --git a/DNP3/DNPCrc.h b/opendnp3/DNP3/DNPCrc.h similarity index 97% rename from DNP3/DNPCrc.h rename to opendnp3/DNP3/DNPCrc.h index f9d726b1..32cb63fd 100644 --- a/DNP3/DNPCrc.h +++ b/opendnp3/DNP3/DNPCrc.h @@ -19,7 +19,8 @@ #ifndef __DNP_CRC_H_ #define __DNP_CRC_H_ -#include +#include + #include namespace apl diff --git a/DNP3/DNPDatabaseTypes.h b/opendnp3/DNP3/DNPDatabaseTypes.h similarity index 95% rename from DNP3/DNPDatabaseTypes.h rename to opendnp3/DNP3/DNPDatabaseTypes.h index de1b316f..491b1c18 100644 --- a/DNP3/DNPDatabaseTypes.h +++ b/opendnp3/DNP3/DNPDatabaseTypes.h @@ -19,13 +19,10 @@ #ifndef __DNP_DATABASE_TYPES_H_ #define __DNP_DATABASE_TYPES_H_ - - -#include -#include - -#include "PointClass.h" -#include "VtoData.h" +#include +#include +#include +#include #include diff --git a/DNP3/DNPExceptions.h b/opendnp3/DNP3/DNPExceptions.h similarity index 97% rename from DNP3/DNPExceptions.h rename to opendnp3/DNP3/DNPExceptions.h index 81014d55..6d78c734 100644 --- a/DNP3/DNPExceptions.h +++ b/opendnp3/DNP3/DNPExceptions.h @@ -19,8 +19,7 @@ #ifndef __DNP_EXCEPTIONS_H_ #define __DNP_EXCEPTIONS_H_ -#include - +#include namespace apl { diff --git a/DNP3/DNPFromStream.h b/opendnp3/DNP3/DNPFromStream.h similarity index 96% rename from DNP3/DNPFromStream.h rename to opendnp3/DNP3/DNPFromStream.h index de2848e6..00d93edc 100644 --- a/DNP3/DNPFromStream.h +++ b/opendnp3/DNP3/DNPFromStream.h @@ -19,8 +19,8 @@ #ifndef __DNP_FROM_STREAM_H_ #define __DNP_FROM_STREAM_H_ - -#include +#include +#include #include @@ -30,11 +30,6 @@ #pragma warning ( disable : 4244 ) #endif -//#include -#include -//#include "ObjectInterfaces.h" -//#include "Objects.h" - namespace apl { namespace dnp diff --git a/DNP3/DNPToStream.h b/opendnp3/DNP3/DNPToStream.h similarity index 97% rename from DNP3/DNPToStream.h rename to opendnp3/DNP3/DNPToStream.h index edf310f3..e5336d2b 100644 --- a/DNP3/DNPToStream.h +++ b/opendnp3/DNP3/DNPToStream.h @@ -19,9 +19,9 @@ #ifndef __DNP_TO_STREAM_H_ #define __DNP_TO_STREAM_H_ -#include -#include -#include +#include +#include +#include #ifdef APL_PLATFORM_WIN //disable the type converstion warnings diff --git a/DNP3/DataPoll.cpp b/opendnp3/DNP3/DataPoll.cpp similarity index 89% rename from DNP3/DataPoll.cpp rename to opendnp3/DNP3/DataPoll.cpp index 98423b86..12e903f8 100644 --- a/DNP3/DataPoll.cpp +++ b/opendnp3/DNP3/DataPoll.cpp @@ -17,14 +17,13 @@ // under the License. // -#include -#include - -#include "DataPoll.h" -#include "APDU.h" -#include "ResponseLoader.h" -#include "PointClass.h" -#include "VtoReader.h" +#include +#include +#include +#include +#include +#include +#include namespace apl { diff --git a/DNP3/DataPoll.h b/opendnp3/DNP3/DataPoll.h similarity index 95% rename from DNP3/DataPoll.h rename to opendnp3/DNP3/DataPoll.h index f2536015..259c697a 100644 --- a/DNP3/DataPoll.h +++ b/opendnp3/DNP3/DataPoll.h @@ -19,8 +19,8 @@ #ifndef __DATA_POLL_H_ #define __DATA_POLL_H_ -#include "MasterTaskBase.h" -#include "VtoReader.h" +#include +#include namespace apl { diff --git a/DNP3/Database.cpp b/opendnp3/DNP3/Database.cpp similarity index 98% rename from DNP3/Database.cpp rename to opendnp3/DNP3/Database.cpp index 5730be27..c262cea3 100644 --- a/DNP3/Database.cpp +++ b/opendnp3/DNP3/Database.cpp @@ -16,17 +16,14 @@ // specific language governing permissions and limitations // under the License. // -#include "Database.h" +#include +#include +#include +#include #include #include -#include - -#include "DNPConstants.h" -#include "DeviceTemplate.h" - - namespace apl { namespace dnp diff --git a/DNP3/Database.h b/opendnp3/DNP3/Database.h similarity index 95% rename from DNP3/Database.h rename to opendnp3/DNP3/Database.h index 49750a48..0c039adf 100644 --- a/DNP3/Database.h +++ b/opendnp3/DNP3/Database.h @@ -19,18 +19,16 @@ #ifndef __DATABASE_H_ #define __DATABASE_H_ +#include +#include +#include +#include +#include -#include "DatabaseInterfaces.h" -#include "DNPConstants.h" - -#include -#include -#include - +#include +#include #include #include -#include -#include #ifdef max #undef max diff --git a/DNP3/DatabaseInterfaces.h b/opendnp3/DNP3/DatabaseInterfaces.h similarity index 92% rename from DNP3/DatabaseInterfaces.h rename to opendnp3/DNP3/DatabaseInterfaces.h index 102cccca..07c1f6f0 100644 --- a/DNP3/DatabaseInterfaces.h +++ b/opendnp3/DNP3/DatabaseInterfaces.h @@ -19,10 +19,9 @@ #ifndef __DATABASE_INTERFACES_H_ #define __DATABASE_INTERFACES_H_ - -#include "DNPDatabaseTypes.h" -#include "VtoData.h" -#include "IVtoEventAcceptor.h" +#include +#include +#include namespace apl { diff --git a/DNP3/DeviceTemplate.cpp b/opendnp3/DNP3/DeviceTemplate.cpp similarity index 98% rename from DNP3/DeviceTemplate.cpp rename to opendnp3/DNP3/DeviceTemplate.cpp index 5ae3509b..0ab6c14a 100644 --- a/DNP3/DeviceTemplate.cpp +++ b/opendnp3/DNP3/DeviceTemplate.cpp @@ -16,7 +16,7 @@ // specific language governing permissions and limitations // under the License. // -#include "DeviceTemplate.h" +#include namespace apl { diff --git a/DNP3/DeviceTemplate.h b/opendnp3/DNP3/DeviceTemplate.h similarity index 96% rename from DNP3/DeviceTemplate.h rename to opendnp3/DNP3/DeviceTemplate.h index 7f5d2d96..5b7e933f 100644 --- a/DNP3/DeviceTemplate.h +++ b/opendnp3/DNP3/DeviceTemplate.h @@ -19,12 +19,12 @@ #ifndef __DEVICE_TEMPLATE_H_ #define __DEVICE_TEMPLATE_H_ +#include +#include + #include #include -#include -#include "DeviceTemplateTypes.h" - namespace apl { namespace dnp diff --git a/DNP3/DeviceTemplateTypes.h b/opendnp3/DNP3/DeviceTemplateTypes.h similarity index 95% rename from DNP3/DeviceTemplateTypes.h rename to opendnp3/DNP3/DeviceTemplateTypes.h index 45ceafd7..56a42f71 100644 --- a/DNP3/DeviceTemplateTypes.h +++ b/opendnp3/DNP3/DeviceTemplateTypes.h @@ -19,11 +19,11 @@ #ifndef __DEVICE_TEMPLATE_TYPES_H_ #define __DEVICE_TEMPLATE_TYPES_H_ -#include +#include +#include +#include -#include -#include -#include "PointClass.h" +#include namespace apl { diff --git a/DNP3/EnhancedVto.cpp b/opendnp3/DNP3/EnhancedVto.cpp similarity index 92% rename from DNP3/EnhancedVto.cpp rename to opendnp3/DNP3/EnhancedVto.cpp index f67c677c..0fdfb567 100644 --- a/DNP3/EnhancedVto.cpp +++ b/opendnp3/DNP3/EnhancedVto.cpp @@ -15,12 +15,10 @@ // under the License. // -#include "EnhancedVto.h" - -#include "VtoData.h" - -#include -#include +#include +#include +#include +#include #include diff --git a/DNP3/EnhancedVto.h b/opendnp3/DNP3/EnhancedVto.h similarity index 97% rename from DNP3/EnhancedVto.h rename to opendnp3/DNP3/EnhancedVto.h index 50657fe5..87097c5d 100644 --- a/DNP3/EnhancedVto.h +++ b/opendnp3/DNP3/EnhancedVto.h @@ -18,7 +18,7 @@ #ifndef __ENHANCED_VTO_H_ #define __ENHANCED_VTO_H_ -#include +#include namespace apl { diff --git a/DNP3/EnhancedVtoRouter.cpp b/opendnp3/DNP3/EnhancedVtoRouter.cpp similarity index 98% rename from DNP3/EnhancedVtoRouter.cpp rename to opendnp3/DNP3/EnhancedVtoRouter.cpp index df6f71f6..63ef9a99 100644 --- a/DNP3/EnhancedVtoRouter.cpp +++ b/opendnp3/DNP3/EnhancedVtoRouter.cpp @@ -15,10 +15,9 @@ * under the License. */ -#include "EnhancedVtoRouter.h" - -#include -#include +#include +#include +#include namespace apl { diff --git a/DNP3/EnhancedVtoRouter.h b/opendnp3/DNP3/EnhancedVtoRouter.h similarity index 99% rename from DNP3/EnhancedVtoRouter.h rename to opendnp3/DNP3/EnhancedVtoRouter.h index db2e251b..3f9a6d8a 100644 --- a/DNP3/EnhancedVtoRouter.h +++ b/opendnp3/DNP3/EnhancedVtoRouter.h @@ -18,7 +18,7 @@ #ifndef __ENHANCED_VTO_ROUTER_H_ #define __ENHANCED_VTO_ROUTER_H_ -#include "VtoRouter.h" +#include namespace apl { diff --git a/DNP3/EventBufferBase.h b/opendnp3/DNP3/EventBufferBase.h similarity index 99% rename from DNP3/EventBufferBase.h rename to opendnp3/DNP3/EventBufferBase.h index b9d0cfc9..9d7c09f2 100644 --- a/DNP3/EventBufferBase.h +++ b/opendnp3/DNP3/EventBufferBase.h @@ -19,9 +19,8 @@ #ifndef __EVENT_BUFFER_BASE_H_ #define __EVENT_BUFFER_BASE_H_ - -#include "ClassCounter.h" -#include "EventTypes.h" +#include +#include namespace apl { diff --git a/DNP3/EventBuffers.h b/opendnp3/DNP3/EventBuffers.h similarity index 97% rename from DNP3/EventBuffers.h rename to opendnp3/DNP3/EventBuffers.h index aa78521e..f81cc29f 100644 --- a/DNP3/EventBuffers.h +++ b/opendnp3/DNP3/EventBuffers.h @@ -19,15 +19,14 @@ #ifndef __EVENT_BUFFERS_H_ #define __EVENT_BUFFERS_H_ +#include +#include -#include "BufferSetTypes.h" -#include "EventBufferBase.h" - +#include +#include #include #include #include -#include -#include namespace apl { diff --git a/DNP3/EventTypes.h b/opendnp3/DNP3/EventTypes.h similarity index 96% rename from DNP3/EventTypes.h rename to opendnp3/DNP3/EventTypes.h index 0c4d6adc..8463592b 100644 --- a/DNP3/EventTypes.h +++ b/opendnp3/DNP3/EventTypes.h @@ -19,8 +19,8 @@ #ifndef __EVENT_TYPES_H_ #define __EVENT_TYPES_H_ -#include "DNPDatabaseTypes.h" -#include "VtoData.h" +#include +#include //using namespace dnp; namespace apl diff --git a/DNP3/HeaderReadIterator.cpp b/opendnp3/DNP3/HeaderReadIterator.cpp similarity index 92% rename from DNP3/HeaderReadIterator.cpp rename to opendnp3/DNP3/HeaderReadIterator.cpp index 6797c118..2b104822 100644 --- a/DNP3/HeaderReadIterator.cpp +++ b/opendnp3/DNP3/HeaderReadIterator.cpp @@ -16,9 +16,8 @@ // specific language governing permissions and limitations // under the License. // -#include "HeaderReadIterator.h" -#include "ObjectReadIterator.h" - +#include +#include namespace apl { @@ -34,7 +33,6 @@ HeaderReadIterator::HeaderReadIterator(const std::vector* apHeaders, } - ObjectReadIterator HeaderReadIterator::BeginRead() { return ObjectReadIterator((*mpHeaders)[mIndex], mpBuffer, mHasData); diff --git a/DNP3/HeaderReadIterator.h b/opendnp3/DNP3/HeaderReadIterator.h similarity index 94% rename from DNP3/HeaderReadIterator.h rename to opendnp3/DNP3/HeaderReadIterator.h index c282f081..6e5495b8 100644 --- a/DNP3/HeaderReadIterator.h +++ b/opendnp3/DNP3/HeaderReadIterator.h @@ -19,23 +19,22 @@ #ifndef __HEADER_READ_ITERATOR_H_ #define __HEADER_READ_ITERATOR_H_ -#include -#include -#include +#include +#include +#include +#include +#include +#include -#include "APDUConstants.h" -#include "ObjectHeader.h" -#include "ObjectInterfaces.h" -#include "DNPConstants.h" -#include - -class IObjectHeader; +#include +#include namespace apl { namespace dnp { +class IObjectHeader; class ObjectReadIterator; /** diff --git a/DNP3/IFrameSink.h b/opendnp3/DNP3/IFrameSink.h similarity index 98% rename from DNP3/IFrameSink.h rename to opendnp3/DNP3/IFrameSink.h index 629f7766..2710f871 100644 --- a/DNP3/IFrameSink.h +++ b/opendnp3/DNP3/IFrameSink.h @@ -19,7 +19,8 @@ #ifndef __I_FRAME_SINK_H_ #define __I_FRAME_SINK_H_ -#include +#include + #include namespace apl diff --git a/DNP3/ILinkContext.h b/opendnp3/DNP3/ILinkContext.h similarity index 96% rename from DNP3/ILinkContext.h rename to opendnp3/DNP3/ILinkContext.h index 0d7c77e2..df2bdac6 100644 --- a/DNP3/ILinkContext.h +++ b/opendnp3/DNP3/ILinkContext.h @@ -19,7 +19,7 @@ #ifndef __I_LINK_CONTEXT_H_ #define __I_LINK_CONTEXT_H_ -#include "IFrameSink.h" +#include namespace apl { diff --git a/DNP3/ILinkRouter.h b/opendnp3/DNP3/ILinkRouter.h similarity index 100% rename from DNP3/ILinkRouter.h rename to opendnp3/DNP3/ILinkRouter.h diff --git a/DNP3/IStackObserver.cpp b/opendnp3/DNP3/IStackObserver.cpp similarity index 96% rename from DNP3/IStackObserver.cpp rename to opendnp3/DNP3/IStackObserver.cpp index 41ca62db..8339ebe4 100644 --- a/DNP3/IStackObserver.cpp +++ b/opendnp3/DNP3/IStackObserver.cpp @@ -17,7 +17,7 @@ // under the License. // -#include "IStackObserver.h" +#include namespace apl { diff --git a/DNP3/IStackObserver.h b/opendnp3/DNP3/IStackObserver.h similarity index 100% rename from DNP3/IStackObserver.h rename to opendnp3/DNP3/IStackObserver.h diff --git a/DNP3/IVtoEventAcceptor.h b/opendnp3/DNP3/IVtoEventAcceptor.h old mode 100755 new mode 100644 similarity index 96% rename from DNP3/IVtoEventAcceptor.h rename to opendnp3/DNP3/IVtoEventAcceptor.h index 7ff104be..aa84f17e --- a/DNP3/IVtoEventAcceptor.h +++ b/opendnp3/DNP3/IVtoEventAcceptor.h @@ -19,7 +19,7 @@ #ifndef __I_VTO_EVENT_ACCEPTOR_H_ #define __I_VTO_EVENT_ACCEPTOR_H_ -#include "VtoData.h" +#include namespace apl { diff --git a/DNP3/IndexedWriteIterator.cpp b/opendnp3/DNP3/IndexedWriteIterator.cpp similarity index 94% rename from DNP3/IndexedWriteIterator.cpp rename to opendnp3/DNP3/IndexedWriteIterator.cpp index 6780eb26..a0f64c8a 100644 --- a/DNP3/IndexedWriteIterator.cpp +++ b/opendnp3/DNP3/IndexedWriteIterator.cpp @@ -16,13 +16,10 @@ // specific language governing permissions and limitations // under the License. // -#include "IndexedWriteIterator.h" - - -#include "ObjectHeader.h" - -#include -#include +#include +#include +#include +#include namespace apl { diff --git a/DNP3/IndexedWriteIterator.h b/opendnp3/DNP3/IndexedWriteIterator.h similarity index 93% rename from DNP3/IndexedWriteIterator.h rename to opendnp3/DNP3/IndexedWriteIterator.h index b56fb20d..3ca714c3 100644 --- a/DNP3/IndexedWriteIterator.h +++ b/opendnp3/DNP3/IndexedWriteIterator.h @@ -19,9 +19,10 @@ #ifndef __INDEXED_WRITE_ITERATOR_H_ #define __INDEXED_WRITE_ITERATOR_H_ -#include -#include "APDUConstants.h" -#include "ObjectHeader.h" +#include +#include +#include + #include #include diff --git a/DNP3/LinkChannel.cpp b/opendnp3/DNP3/LinkChannel.cpp old mode 100755 new mode 100644 similarity index 90% rename from DNP3/LinkChannel.cpp rename to opendnp3/DNP3/LinkChannel.cpp index dfe79d21..4315f10f --- a/DNP3/LinkChannel.cpp +++ b/opendnp3/DNP3/LinkChannel.cpp @@ -16,16 +16,15 @@ // specific language governing permissions and limitations // under the License. // -#include "LinkChannel.h" +#include +#include +#include +#include +#include +#include -#include "Stack.h" -#include #include - -#include -#include -#include -#include +#include namespace apl { diff --git a/DNP3/LinkChannel.h b/opendnp3/DNP3/LinkChannel.h old mode 100755 new mode 100644 similarity index 96% rename from DNP3/LinkChannel.h rename to opendnp3/DNP3/LinkChannel.h index 97672b68..16ebad5c --- a/DNP3/LinkChannel.h +++ b/opendnp3/DNP3/LinkChannel.h @@ -19,9 +19,8 @@ #ifndef __LINK_CHANNEL_H_ #define __LINK_CHANNEL_H_ -#include "LinkLayerRouter.h" - -#include +#include +#include #include diff --git a/DNP3/LinkConfig.h b/opendnp3/DNP3/LinkConfig.h similarity index 98% rename from DNP3/LinkConfig.h rename to opendnp3/DNP3/LinkConfig.h index e4bb5159..89cc540f 100644 --- a/DNP3/LinkConfig.h +++ b/opendnp3/DNP3/LinkConfig.h @@ -19,7 +19,7 @@ #ifndef __LINK_CONFIG_H_ #define __LINK_CONFIG_H_ -#include +#include namespace apl { diff --git a/DNP3/LinkFrame.cpp b/opendnp3/DNP3/LinkFrame.cpp similarity index 98% rename from DNP3/LinkFrame.cpp rename to opendnp3/DNP3/LinkFrame.cpp index d7215975..5d7372dc 100644 --- a/DNP3/LinkFrame.cpp +++ b/opendnp3/DNP3/LinkFrame.cpp @@ -16,13 +16,12 @@ // specific language governing permissions and limitations // under the License. // -#include "LinkFrame.h" - -#include "DNPCrc.h" +#include +#include +#include #include #include -#include using namespace std; diff --git a/DNP3/LinkFrame.h b/opendnp3/DNP3/LinkFrame.h similarity index 97% rename from DNP3/LinkFrame.h rename to opendnp3/DNP3/LinkFrame.h index 63a49b21..f28bf694 100644 --- a/DNP3/LinkFrame.h +++ b/opendnp3/DNP3/LinkFrame.h @@ -19,10 +19,9 @@ #ifndef __LINK_FRAME_H_ #define __LINK_FRAME_H_ - -#include "LinkLayerConstants.h" -#include -#include "LinkHeader.h" +#include +#include +#include #include diff --git a/DNP3/LinkHeader.cpp b/opendnp3/DNP3/LinkHeader.cpp similarity index 95% rename from DNP3/LinkHeader.cpp rename to opendnp3/DNP3/LinkHeader.cpp index 55309c8b..030204b6 100644 --- a/DNP3/LinkHeader.cpp +++ b/opendnp3/DNP3/LinkHeader.cpp @@ -16,10 +16,9 @@ // specific language governing permissions and limitations // under the License. // -#include "LinkHeader.h" - -#include -#include "DNPCrc.h" +#include +#include +#include #include diff --git a/DNP3/LinkHeader.h b/opendnp3/DNP3/LinkHeader.h similarity index 98% rename from DNP3/LinkHeader.h rename to opendnp3/DNP3/LinkHeader.h index 8f212e82..356f02c3 100644 --- a/DNP3/LinkHeader.h +++ b/opendnp3/DNP3/LinkHeader.h @@ -19,8 +19,7 @@ #ifndef __LINK_HEADER_H_ #define __LINK_HEADER_H_ - -#include "LinkLayerConstants.h" +#include namespace apl { diff --git a/DNP3/LinkLayer.cpp b/opendnp3/DNP3/LinkLayer.cpp similarity index 95% rename from DNP3/LinkLayer.cpp rename to opendnp3/DNP3/LinkLayer.cpp index 2ee1c347..69f30a2f 100644 --- a/DNP3/LinkLayer.cpp +++ b/opendnp3/DNP3/LinkLayer.cpp @@ -16,18 +16,16 @@ // specific language governing permissions and limitations // under the License. // -#include "LinkLayer.h" - +#include +#include +#include +#include +#include +#include +#include #include #include -#include -#include - -#include "ILinkRouter.h" -#include "PriLinkLayerStates.h" -#include "SecLinkLayerStates.h" -#include "DNPConstants.h" using namespace boost; diff --git a/DNP3/LinkLayer.h b/opendnp3/DNP3/LinkLayer.h similarity index 95% rename from DNP3/LinkLayer.h rename to opendnp3/DNP3/LinkLayer.h index 910c25c9..885335f5 100644 --- a/DNP3/LinkLayer.h +++ b/opendnp3/DNP3/LinkLayer.h @@ -19,14 +19,13 @@ #ifndef __LINK_LAYER_H_ #define __LINK_LAYER_H_ +#include +#include +#include +#include +#include #include -#include -#include - -#include "ILinkContext.h" -#include "LinkFrame.h" -#include "LinkConfig.h" namespace apl { diff --git a/DNP3/LinkLayerConstants.cpp b/opendnp3/DNP3/LinkLayerConstants.cpp similarity index 97% rename from DNP3/LinkLayerConstants.cpp rename to opendnp3/DNP3/LinkLayerConstants.cpp index b4519cde..b8379cac 100644 --- a/DNP3/LinkLayerConstants.cpp +++ b/opendnp3/DNP3/LinkLayerConstants.cpp @@ -16,8 +16,7 @@ // specific language governing permissions and limitations // under the License. // -#include "LinkLayerConstants.h" - +#include namespace apl { diff --git a/DNP3/LinkLayerConstants.h b/opendnp3/DNP3/LinkLayerConstants.h similarity index 98% rename from DNP3/LinkLayerConstants.h rename to opendnp3/DNP3/LinkLayerConstants.h index 813cfa4f..fff91c9b 100644 --- a/DNP3/LinkLayerConstants.h +++ b/opendnp3/DNP3/LinkLayerConstants.h @@ -19,7 +19,7 @@ #ifndef __LINK_LAYER_CONSTANTS_ #define __LINK_LAYER_CONSTANTS_ -#include +#include #include diff --git a/DNP3/LinkLayerReceiver.cpp b/opendnp3/DNP3/LinkLayerReceiver.cpp similarity index 97% rename from DNP3/LinkLayerReceiver.cpp rename to opendnp3/DNP3/LinkLayerReceiver.cpp index 1cad819a..570b1971 100644 --- a/DNP3/LinkLayerReceiver.cpp +++ b/opendnp3/DNP3/LinkLayerReceiver.cpp @@ -16,13 +16,13 @@ // specific language governing permissions and limitations // under the License. // -#include -#include -#include +#include +#include +#include +#include +#include -#include "DNPCrc.h" -#include "LinkReceiverStates.h" -#include "IFrameSink.h" +#include namespace apl { diff --git a/DNP3/LinkLayerReceiver.h b/opendnp3/DNP3/LinkLayerReceiver.h similarity index 92% rename from DNP3/LinkLayerReceiver.h rename to opendnp3/DNP3/LinkLayerReceiver.h index 7522a80f..c818cacc 100644 --- a/DNP3/LinkLayerReceiver.h +++ b/opendnp3/DNP3/LinkLayerReceiver.h @@ -19,13 +19,12 @@ #ifndef __LINK_LAYER_RECEIVER_H_ #define __LINK_LAYER_RECEIVER_H_ -#include -#include -#include - -#include "LinkFrame.h" -#include "DNPConstants.h" -#include "LinkHeader.h" +#include +#include +#include +#include +#include +#include namespace apl { diff --git a/DNP3/LinkLayerRouter.cpp b/opendnp3/DNP3/LinkLayerRouter.cpp similarity index 96% rename from DNP3/LinkLayerRouter.cpp rename to opendnp3/DNP3/LinkLayerRouter.cpp index 65a20f7b..590b2961 100644 --- a/DNP3/LinkLayerRouter.cpp +++ b/opendnp3/DNP3/LinkLayerRouter.cpp @@ -16,18 +16,16 @@ // specific language governing permissions and limitations // under the License. // -#include "LinkLayerRouter.h" +#include +#include +#include +#include +#include +#include - -#include -#include -#include #include #include -#include "ILinkContext.h" -#include "LinkFrame.h" - using namespace std; namespace apl diff --git a/DNP3/LinkLayerRouter.h b/opendnp3/DNP3/LinkLayerRouter.h similarity index 94% rename from DNP3/LinkLayerRouter.h rename to opendnp3/DNP3/LinkLayerRouter.h index f2247830..c4d08df9 100644 --- a/DNP3/LinkLayerRouter.h +++ b/opendnp3/DNP3/LinkLayerRouter.h @@ -19,17 +19,15 @@ #ifndef __LINK_LAYER_ROUTER_H_ #define __LINK_LAYER_ROUTER_H_ +#include +#include +#include +#include +#include #include #include -#include - -#include "LinkLayerReceiver.h" -#include "IFrameSink.h" -#include "ILinkRouter.h" -#include "LinkRoute.h" - namespace apl { class IPhysicalLayerAsync; diff --git a/DNP3/LinkReceiverStates.cpp b/opendnp3/DNP3/LinkReceiverStates.cpp similarity index 89% rename from DNP3/LinkReceiverStates.cpp rename to opendnp3/DNP3/LinkReceiverStates.cpp index 4b56a7a5..81d34913 100644 --- a/DNP3/LinkReceiverStates.cpp +++ b/opendnp3/DNP3/LinkReceiverStates.cpp @@ -16,14 +16,12 @@ // specific language governing permissions and limitations // under the License. // -#include "LinkReceiverStates.h" - -#include -#include "LinkLayerReceiver.h" -#include -#include "DNPCrc.h" -#include - +#include +#include +#include +#include +#include +#include namespace apl { diff --git a/DNP3/LinkReceiverStates.h b/opendnp3/DNP3/LinkReceiverStates.h similarity index 94% rename from DNP3/LinkReceiverStates.h rename to opendnp3/DNP3/LinkReceiverStates.h index fe2f7c67..37e4bda7 100644 --- a/DNP3/LinkReceiverStates.h +++ b/opendnp3/DNP3/LinkReceiverStates.h @@ -19,11 +19,11 @@ #ifndef __LINK_RECEIVER_STATES_H_ #define __LINK_RECEIVER_STATES_H_ +#include +#include +#include #include -#include -#include -#include "LinkLayerReceiver.h" namespace apl { diff --git a/DNP3/LinkRoute.cpp b/opendnp3/DNP3/LinkRoute.cpp similarity index 97% rename from DNP3/LinkRoute.cpp rename to opendnp3/DNP3/LinkRoute.cpp index 2c089807..056f0160 100644 --- a/DNP3/LinkRoute.cpp +++ b/opendnp3/DNP3/LinkRoute.cpp @@ -17,7 +17,7 @@ // under the License. // -#include "LinkRoute.h" +#include #include diff --git a/DNP3/LinkRoute.h b/opendnp3/DNP3/LinkRoute.h similarity index 98% rename from DNP3/LinkRoute.h rename to opendnp3/DNP3/LinkRoute.h index 0600c810..72187a7c 100644 --- a/DNP3/LinkRoute.h +++ b/opendnp3/DNP3/LinkRoute.h @@ -19,7 +19,7 @@ #ifndef __LINK_ROUTE_H_ #define __LINK_ROUTE_H_ -#include +#include #include diff --git a/DNP3/Master.cpp b/opendnp3/DNP3/Master.cpp similarity index 92% rename from DNP3/Master.cpp rename to opendnp3/DNP3/Master.cpp index db8fa757..8d225768 100644 --- a/DNP3/Master.cpp +++ b/opendnp3/DNP3/Master.cpp @@ -17,23 +17,21 @@ // under the License. // -#include "Master.h" - -#include "MasterStates.h" -#include "ObjectReadIterator.h" -#include "ResponseLoader.h" -#include "VtoEventBufferAdapter.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include diff --git a/DNP3/Master.h b/opendnp3/DNP3/Master.h similarity index 88% rename from DNP3/Master.h rename to opendnp3/DNP3/Master.h index 549cf46b..4923bea0 100644 --- a/DNP3/Master.h +++ b/opendnp3/DNP3/Master.h @@ -19,28 +19,25 @@ #ifndef __MASTER_H_ #define __MASTER_H_ -#include -#include -#include -#include -#include -#include - -#include "APDU.h" -#include "AppInterfaces.h" -#include "ObjectReadIterator.h" -#include "MasterConfig.h" -#include "ObjectInterfaces.h" -#include "MasterSchedule.h" -#include "IStackObserver.h" -#include "VtoReader.h" -#include "VtoWriter.h" - -// includes for tasks -#include "StartupTasks.h" -#include "DataPoll.h" -#include "ControlTasks.h" -#include "VtoTransmitTask.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include namespace apl { diff --git a/DNP3/MasterConfig.h b/opendnp3/DNP3/MasterConfig.h similarity index 94% rename from DNP3/MasterConfig.h rename to opendnp3/DNP3/MasterConfig.h index 91bb2d18..daeb8d26 100644 --- a/DNP3/MasterConfig.h +++ b/opendnp3/DNP3/MasterConfig.h @@ -19,10 +19,10 @@ #ifndef __MASTER_CONFIG_H_ #define __MASTER_CONFIG_H_ -#include "DNPConstants.h" -#include "PointClass.h" -#include "MasterConfigTypes.h" -#include "IStackObserver.h" +#include +#include +#include +#include #include diff --git a/DNP3/MasterConfigTypes.h b/opendnp3/DNP3/MasterConfigTypes.h similarity index 90% rename from DNP3/MasterConfigTypes.h rename to opendnp3/DNP3/MasterConfigTypes.h index 414a2628..040c63fa 100644 --- a/DNP3/MasterConfigTypes.h +++ b/opendnp3/DNP3/MasterConfigTypes.h @@ -16,10 +16,10 @@ // specific language governing permissions and limitations // under the License. // -#ifndef __EXCEPTION_SCAN_H_ -#define __EXCEPTION_SCAN_H_ +#ifndef __MASTER_CONFIG_TYPES_H_ +#define __MASTER_CONFIG_TYPES_H_ -#include +#include namespace apl { diff --git a/DNP3/MasterSchedule.cpp b/opendnp3/DNP3/MasterSchedule.cpp similarity index 95% rename from DNP3/MasterSchedule.cpp rename to opendnp3/DNP3/MasterSchedule.cpp index 0159cc39..f009d6d5 100644 --- a/DNP3/MasterSchedule.cpp +++ b/opendnp3/DNP3/MasterSchedule.cpp @@ -15,12 +15,11 @@ * under the License. */ -#include "MasterSchedule.h" -#include "Master.h" - -#include -#include -#include +#include +#include +#include +#include +#include #include diff --git a/DNP3/MasterSchedule.h b/opendnp3/DNP3/MasterSchedule.h similarity index 96% rename from DNP3/MasterSchedule.h rename to opendnp3/DNP3/MasterSchedule.h index 508b3a63..7c8a53aa 100644 --- a/DNP3/MasterSchedule.h +++ b/opendnp3/DNP3/MasterSchedule.h @@ -20,9 +20,8 @@ #ifndef __MASTER_SCHEDULE_H_ #define __MASTER_SCHEDULE_H_ -#include "MasterConfig.h" - -#include +#include +#include namespace apl { diff --git a/DNP3/MasterStack.cpp b/opendnp3/DNP3/MasterStack.cpp similarity index 94% rename from DNP3/MasterStack.cpp rename to opendnp3/DNP3/MasterStack.cpp index 7dacabf9..56bf644e 100644 --- a/DNP3/MasterStack.cpp +++ b/opendnp3/DNP3/MasterStack.cpp @@ -16,9 +16,8 @@ // specific language governing permissions and limitations // under the License. // -#include "MasterStack.h" - -#include +#include +#include namespace apl { @@ -44,4 +43,4 @@ IVtoReader* MasterStack::GetVtoReader() } -} \ No newline at end of file +} diff --git a/DNP3/MasterStack.h b/opendnp3/DNP3/MasterStack.h similarity index 91% rename from DNP3/MasterStack.h rename to opendnp3/DNP3/MasterStack.h index ccbf4121..886a7195 100644 --- a/DNP3/MasterStack.h +++ b/opendnp3/DNP3/MasterStack.h @@ -19,9 +19,9 @@ #ifndef __MASTER_STACK_H_ #define __MASTER_STACK_H_ -#include "Stack.h" -#include "Master.h" -#include "MasterStackConfig.h" +#include +#include +#include namespace apl { diff --git a/DNP3/MasterStackConfig.h b/opendnp3/DNP3/MasterStackConfig.h similarity index 89% rename from DNP3/MasterStackConfig.h rename to opendnp3/DNP3/MasterStackConfig.h index 05aaed1c..903d4737 100644 --- a/DNP3/MasterStackConfig.h +++ b/opendnp3/DNP3/MasterStackConfig.h @@ -19,10 +19,10 @@ #ifndef __MASTER_STACK_CONFIG_H_ #define __MASTER_STACK_CONFIG_H_ -#include "MasterConfig.h" -#include "AppConfig.h" -#include "LinkConfig.h" -#include "VtoConfig.h" +#include +#include +#include +#include namespace apl { diff --git a/DNP3/MasterStates.cpp b/opendnp3/DNP3/MasterStates.cpp similarity index 93% rename from DNP3/MasterStates.cpp rename to opendnp3/DNP3/MasterStates.cpp index 3a5a9007..ae5ccc7e 100644 --- a/DNP3/MasterStates.cpp +++ b/opendnp3/DNP3/MasterStates.cpp @@ -16,15 +16,14 @@ // specific language governing permissions and limitations // under the License. // -#include "MasterStates.h" +#include +#include +#include +#include +#include +#include +#include -#include -#include -#include -#include -#include - -#include "Master.h" #include diff --git a/DNP3/MasterStates.h b/opendnp3/DNP3/MasterStates.h similarity index 95% rename from DNP3/MasterStates.h rename to opendnp3/DNP3/MasterStates.h index 3d43484c..1bacb847 100644 --- a/DNP3/MasterStates.h +++ b/opendnp3/DNP3/MasterStates.h @@ -19,12 +19,11 @@ #ifndef __MASTER_STATES_H_ #define __MASTER_STATES_H_ +#include +#include +#include #include -#include -#include - -#include "ObjectInterfaces.h" namespace apl { diff --git a/DNP3/MasterTaskBase.cpp b/opendnp3/DNP3/MasterTaskBase.cpp similarity index 92% rename from DNP3/MasterTaskBase.cpp rename to opendnp3/DNP3/MasterTaskBase.cpp index 74a3eb3c..d1e7e6cd 100644 --- a/DNP3/MasterTaskBase.cpp +++ b/opendnp3/DNP3/MasterTaskBase.cpp @@ -17,10 +17,10 @@ // under the License. // -#include "MasterTaskBase.h" -#include "APDU.h" -#include -#include +#include +#include +#include +#include namespace apl { diff --git a/DNP3/MasterTaskBase.h b/opendnp3/DNP3/MasterTaskBase.h similarity index 99% rename from DNP3/MasterTaskBase.h rename to opendnp3/DNP3/MasterTaskBase.h index ea144a9e..64c71b5f 100644 --- a/DNP3/MasterTaskBase.h +++ b/opendnp3/DNP3/MasterTaskBase.h @@ -19,8 +19,9 @@ #ifndef __MASTER_TASK_BASE_H_ #define __MASTER_TASK_BASE_H_ +#include + #include -#include namespace apl { diff --git a/DNP3/ObjectHeader.cpp b/opendnp3/DNP3/ObjectHeader.cpp similarity index 98% rename from DNP3/ObjectHeader.cpp rename to opendnp3/DNP3/ObjectHeader.cpp index f14d739a..d0a08133 100644 --- a/DNP3/ObjectHeader.cpp +++ b/opendnp3/DNP3/ObjectHeader.cpp @@ -16,8 +16,7 @@ // specific language governing permissions and limitations // under the License. // -#include "ObjectHeader.h" - +#include #include diff --git a/DNP3/ObjectHeader.h b/opendnp3/DNP3/ObjectHeader.h similarity index 96% rename from DNP3/ObjectHeader.h rename to opendnp3/DNP3/ObjectHeader.h index 7515e50b..807cdd97 100644 --- a/DNP3/ObjectHeader.h +++ b/opendnp3/DNP3/ObjectHeader.h @@ -19,22 +19,19 @@ #ifndef __OBJECT_HEADER_H_ #define __OBJECT_HEADER_H_ +#include +#include +#include +#include +#include -#include -#include -#include -#include +#include #include #include -#include - //irratating windows macro interferes with the numeric_limits::max() #undef max - -#include "APDUConstants.h" - namespace apl { namespace dnp @@ -192,7 +189,7 @@ class CountHeader : public ICountHeader virtual std::string ToString(const boost::uint8_t* apStart) const { - std::ostringstream oss; + std::ostringstream oss; oss << "Count: " << this->GetCount(apStart); return oss.str(); } diff --git a/DNP3/ObjectInterfaces.cpp b/opendnp3/DNP3/ObjectInterfaces.cpp similarity index 97% rename from DNP3/ObjectInterfaces.cpp rename to opendnp3/DNP3/ObjectInterfaces.cpp index 69f72698..3e7e1a6d 100644 --- a/DNP3/ObjectInterfaces.cpp +++ b/opendnp3/DNP3/ObjectInterfaces.cpp @@ -14,10 +14,9 @@ // License for the specific language governing permissions and limitations // under the License. // -#include "ObjectInterfaces.h" - -#include "Objects.h" -#include +#include +#include +#include #include diff --git a/DNP3/ObjectInterfaces.h b/opendnp3/DNP3/ObjectInterfaces.h similarity index 99% rename from DNP3/ObjectInterfaces.h rename to opendnp3/DNP3/ObjectInterfaces.h index cddbeff8..92e663de 100644 --- a/DNP3/ObjectInterfaces.h +++ b/opendnp3/DNP3/ObjectInterfaces.h @@ -18,11 +18,11 @@ #ifndef __OBJECT_INTERFACES_H_ #define __OBJECT_INTERFACES_H_ -#include +#include #include -#include #include +#include #include namespace apl diff --git a/DNP3/ObjectReadIterator.cpp b/opendnp3/DNP3/ObjectReadIterator.cpp similarity index 96% rename from DNP3/ObjectReadIterator.cpp rename to opendnp3/DNP3/ObjectReadIterator.cpp index 38b277eb..0f7d4bd7 100644 --- a/DNP3/ObjectReadIterator.cpp +++ b/opendnp3/DNP3/ObjectReadIterator.cpp @@ -16,11 +16,10 @@ // specific language governing permissions and limitations // under the License. // -#include "ObjectReadIterator.h" -#include "ObjectHeader.h" -#include -#include "Objects.h" - +#include +#include +#include +#include namespace apl { diff --git a/DNP3/ObjectReadIterator.h b/opendnp3/DNP3/ObjectReadIterator.h similarity index 95% rename from DNP3/ObjectReadIterator.h rename to opendnp3/DNP3/ObjectReadIterator.h index 93355c58..b1f16c05 100644 --- a/DNP3/ObjectReadIterator.h +++ b/opendnp3/DNP3/ObjectReadIterator.h @@ -19,13 +19,12 @@ #ifndef __OBJECT_READ_ITERATOR_H_ #define __OBJECT_READ_ITERATOR_H_ -#include - -#include +#include +#include +#include +#include -#include "HeaderReadIterator.h" -#include "ObjectHeader.h" -#include "ObjectInterfaces.h" +#include class IObjectHeader; diff --git a/DNP3/ObjectWriteIterator.cpp b/opendnp3/DNP3/ObjectWriteIterator.cpp similarity index 89% rename from DNP3/ObjectWriteIterator.cpp rename to opendnp3/DNP3/ObjectWriteIterator.cpp index b2b15b41..c6e10abf 100644 --- a/DNP3/ObjectWriteIterator.cpp +++ b/opendnp3/DNP3/ObjectWriteIterator.cpp @@ -16,14 +16,10 @@ // specific language governing permissions and limitations // under the License. // -#include "ObjectWriteIterator.h" -#include - - - -#include "ObjectHeader.h" -#include - +#include +#include +#include +#include namespace apl { diff --git a/DNP3/ObjectWriteIterator.h b/opendnp3/DNP3/ObjectWriteIterator.h similarity index 91% rename from DNP3/ObjectWriteIterator.h rename to opendnp3/DNP3/ObjectWriteIterator.h index de3ed96a..87b5ca14 100644 --- a/DNP3/ObjectWriteIterator.h +++ b/opendnp3/DNP3/ObjectWriteIterator.h @@ -19,12 +19,11 @@ #ifndef __OBJECT_WRITE_ITERATOR_H_ #define __OBJECT_WRITE_ITERATOR_H_ +#include +#include +#include +#include -#include -#include - -#include "APDUConstants.h" -#include "ObjectHeader.h" #include #include diff --git a/DNP3/Objects.cpp b/opendnp3/DNP3/Objects.cpp similarity index 98% rename from DNP3/Objects.cpp rename to opendnp3/DNP3/Objects.cpp index 8886001c..52505346 100644 --- a/DNP3/Objects.cpp +++ b/opendnp3/DNP3/Objects.cpp @@ -16,14 +16,12 @@ // specific language governing permissions and limitations // under the License. // -#include "Objects.h" - -#include -#include -#include - -#include "DNPToStream.h" -#include "DNPFromStream.h" +#include +#include +#include +#include +#include +#include #define MACRO_STATIC_INSTANCE(group, var) Group##group##Var##var Group##group##Var##var::mInstance; diff --git a/DNP3/Objects.h b/opendnp3/DNP3/Objects.h similarity index 99% rename from DNP3/Objects.h rename to opendnp3/DNP3/Objects.h index 804e43ea..650243ca 100644 --- a/DNP3/Objects.h +++ b/opendnp3/DNP3/Objects.h @@ -20,14 +20,11 @@ #ifndef __OBJECTS_H_ #define __OBJECTS_H_ - -#include "ObjectInterfaces.h" - -#include -#include -#include -#include - +#include +#include +#include +#include +#include #define MACRO_GROUP_VAR_SIZE_FUNC_WITHOUT_EVENTS(group, var, size)\ MACRO_GROUP_VAR_FUNC(group, var)\ diff --git a/DNP3/PointClass.cpp b/opendnp3/DNP3/PointClass.cpp similarity index 96% rename from DNP3/PointClass.cpp rename to opendnp3/DNP3/PointClass.cpp index f0ef3411..d4abfb7a 100644 --- a/DNP3/PointClass.cpp +++ b/opendnp3/DNP3/PointClass.cpp @@ -16,7 +16,7 @@ // specific language governing permissions and limitations // under the License. // -#include "PointClass.h" +#include namespace apl { diff --git a/DNP3/PointClass.h b/opendnp3/DNP3/PointClass.h similarity index 100% rename from DNP3/PointClass.h rename to opendnp3/DNP3/PointClass.h diff --git a/DNP3/PriLinkLayerStates.cpp b/opendnp3/DNP3/PriLinkLayerStates.cpp similarity index 96% rename from DNP3/PriLinkLayerStates.cpp rename to opendnp3/DNP3/PriLinkLayerStates.cpp index 1a0d8618..1142ec67 100644 --- a/DNP3/PriLinkLayerStates.cpp +++ b/opendnp3/DNP3/PriLinkLayerStates.cpp @@ -16,14 +16,12 @@ // specific language governing permissions and limitations // under the License. // -#include "PriLinkLayerStates.h" - -#include -#include -#include - -#include "DNPConstants.h" -#include "LinkLayer.h" +#include +#include +#include +#include +#include +#include namespace apl { diff --git a/DNP3/PriLinkLayerStates.h b/opendnp3/DNP3/PriLinkLayerStates.h similarity index 96% rename from DNP3/PriLinkLayerStates.h rename to opendnp3/DNP3/PriLinkLayerStates.h index 9029e33e..502b6336 100644 --- a/DNP3/PriLinkLayerStates.h +++ b/opendnp3/DNP3/PriLinkLayerStates.h @@ -19,11 +19,11 @@ #ifndef __PRI_LINK_LAYER_STATES_H_ #define __PRI_LINK_LAYER_STATES_H_ -#include -#include -#include +#include +#include +#include -#include "LinkLayer.h" +#include namespace apl { diff --git a/DNP3/ResponseContext.cpp b/opendnp3/DNP3/ResponseContext.cpp similarity index 97% rename from DNP3/ResponseContext.cpp rename to opendnp3/DNP3/ResponseContext.cpp index 3dfd7b2b..4e42912b 100644 --- a/DNP3/ResponseContext.cpp +++ b/opendnp3/DNP3/ResponseContext.cpp @@ -15,15 +15,14 @@ // under the License. // -#include - -#include -#include +#include +#include +#include +#include +#include +#include -#include "DNPConstants.h" -#include "Objects.h" -#include "ResponseContext.h" -#include "SlaveResponseTypes.h" +#include using namespace boost; @@ -42,7 +41,7 @@ ResponseContext::ResponseKey::ResponseKey(ResponseContext::RequestType aType, si bool ResponseContext::ResponseKey::operator()(const ResponseContext::ResponseKey& a, const ResponseContext::ResponseKey& b) const { if(a.mType < b.mType) return true; else if(a.mType > b.mType) return false; - else { + else { return a.mOrder < b.mOrder; } } @@ -133,7 +132,7 @@ IINField ResponseContext::Configure(const APDU& arRequest) /* Handle all of the objects that have a Group/Variation tuple */ switch (MACRO_DNP_RADIX(hdr->GetGroup(), hdr->GetVariation())) { - + case(MACRO_DNP_RADIX(1, 0)): this->RecordStaticObjects(mpRspTypes->mpStaticBinary, hdr); break; @@ -163,7 +162,7 @@ IINField ResponseContext::Configure(const APDU& arRequest) break; case(MACRO_DNP_RADIX(20, 5)): this->RecordStaticObjects(Group20Var5::Inst(), hdr); - break; + break; case(MACRO_DNP_RADIX(20, 6)): this->RecordStaticObjects(Group20Var6::Inst(), hdr); break; @@ -295,7 +294,7 @@ size_t ResponseContext::SelectVtoEvents(PointClass aClass, const SizeByVariation void ResponseContext::LoadResponse(APDU& arAPDU) { //delay the setting of FIR/FIN until we know if it will be multifragmented or not - arAPDU.Set(FC_RESPONSE); + arAPDU.Set(FC_RESPONSE); bool wrote_all = this->LoadEventData(arAPDU); @@ -326,8 +325,8 @@ void ResponseContext::LoadUnsol(APDU& arAPDU, const IINField& arIIN, ClassMask m { this->SelectUnsol(m); - arAPDU.Set(FC_UNSOLICITED_RESPONSE, true, true, true, true); - this->LoadEventData(arAPDU); + arAPDU.Set(FC_UNSOLICITED_RESPONSE, true, true, true, true); + this->LoadEventData(arAPDU); } bool ResponseContext::LoadEventData(APDU& arAPDU) diff --git a/DNP3/ResponseContext.h b/opendnp3/DNP3/ResponseContext.h similarity index 94% rename from DNP3/ResponseContext.h rename to opendnp3/DNP3/ResponseContext.h index 3157ea14..fed91eae 100644 --- a/DNP3/ResponseContext.h +++ b/opendnp3/DNP3/ResponseContext.h @@ -18,18 +18,17 @@ #ifndef __RESPONSE_CONTEXT_H_ #define __RESPONSE_CONTEXT_H_ -#include +#include +#include +#include +#include +#include +#include + #include +#include #include -#include - -#include "APDU.h" -#include "ClassMask.h" -#include "Database.h" -#include "DNPDatabaseTypes.h" -#include "SlaveEventBuffer.h" - namespace apl { namespace dnp @@ -63,7 +62,7 @@ class ResponseContext : public Loggable //used as a key that decides in what order response headers are packed into APDUs struct ResponseKey { - ResponseKey(); + ResponseKey(); ResponseKey(RequestType aType, size_t aOrder); @@ -73,13 +72,13 @@ class ResponseContext : public Loggable // custom less than function used by STL bool operator()(const ResponseKey& a, const ResponseKey& b) const; }; - + /** * This function takes an APDU, writes some data to it, and modifies the current state of the - * ResponseContext class. It returns true if all of the data was written before the APDU was full, + * ResponseContext class. It returns true if all of the data was written before the APDU was full, * and false otherwise. - */ + */ typedef boost::function WriteFunction; public: @@ -147,7 +146,7 @@ class ResponseContext : public Loggable bool IsEmpty(); bool IsStaticEmpty(); - bool IsEventEmpty(); + bool IsEventEmpty(); Database* mpDB; // Pointer to the database for static data bool mFIR; @@ -156,7 +155,7 @@ class ResponseContext : public Loggable IINField mTempIIN; bool mLoadedEventData; - + template struct EventRequest { EventRequest(const StreamObject* apObj, size_t aCount = std::numeric_limits::max()) : @@ -176,7 +175,7 @@ class ResponseContext : public Loggable const SizeByVariationObject* pObj; // Type to use to write size_t count; // Number of events to read - }; + }; typedef std::map WriteMap; @@ -192,12 +191,12 @@ class ResponseContext : public Loggable BinaryEventQueue mBinaryEvents; AnalogEventQueue mAnalogEvents; CounterEventQueue mCounterEvents; - VtoEventQueue mVtoEvents; + VtoEventQueue mVtoEvents; template bool LoadEvents(APDU& arAPDU, std::deque< EventRequest >& arQueue); - bool LoadVtoEvents(APDU& arAPDU); + bool LoadVtoEvents(APDU& arAPDU); //wrappers that select the event buffer and add to the event queues void SelectEvents(PointClass aClass, size_t aNum = std::numeric_limits::max()); @@ -248,27 +247,27 @@ size_t ResponseContext::SelectEvents(PointClass aClass, const StreamObject* a template void ResponseContext::RecordStaticObjects(StreamObject* apObject, const HeaderReadIterator& arIter) -{ - size_t num = mpDB->NumType(T::MeasType::MeasEnum); - +{ + size_t num = mpDB->NumType(T::MeasType::MeasEnum); + //figure out what type of read request this is switch(arIter->GetHeaderType()) { case(OHT_ALL_OBJECTS): - { + { if(num > 0) this->RecordStaticObjectsByRange(apObject, 0, num - 1); } break; - - case(OHT_RANGED_2_OCTET): - case(OHT_RANGED_4_OCTET): + + case(OHT_RANGED_2_OCTET): + case(OHT_RANGED_4_OCTET): case(OHT_RANGED_8_OCTET): { if(num > 0) { size_t max = num - 1; RangeInfo ri; const IRangeHeader* pHeader = reinterpret_cast(arIter->GetHeader()); - pHeader->GetRange(*arIter, ri); + pHeader->GetRange(*arIter, ri); if(ri.Start > max || ri.Stop > max || ri.Start > ri.Stop) this->mTempIIN.SetParameterError(true); else this->RecordStaticObjectsByRange(apObject, ri.Start, ri.Stop); @@ -287,7 +286,7 @@ void ResponseContext::RecordStaticObjects(StreamObject* ap if(count > 0) { size_t start = 0; size_t stop = count - 1; - + if(start > max || stop > max || start > stop) this->mTempIIN.SetParameterError(true); else this->RecordStaticObjectsByRange(apObject, start, stop); } @@ -296,7 +295,7 @@ void ResponseContext::RecordStaticObjects(StreamObject* ap else this->mTempIIN.SetParameterError(true); } break; - } + } } template @@ -306,9 +305,9 @@ void ResponseContext::RecordStaticObjectsByRange(StreamObject::Type last; mpDB->Begin(first); last = first + aStop; - first = first + aStart; + first = first + aStart; ResponseKey key(RT_STATIC, this->mStaticWriteMap.size()); - WriteFunction func = boost::bind(&ResponseContext::WriteStaticObjects, this, apObject, first, last, key, _1); + WriteFunction func = boost::bind(&ResponseContext::WriteStaticObjects, this, apObject, first, last, key, _1); this->mStaticWriteMap[key] = func; } @@ -316,20 +315,20 @@ template bool ResponseContext::WriteStaticObjects(StreamObject* apObject, typename StaticIter::Type& arStart, typename StaticIter::Type& arStop, const ResponseKey& arKey, APDU& arAPDU) { size_t start = arStart->mIndex; - size_t stop = arStop->mIndex; + size_t stop = arStop->mIndex; ObjectWriteIterator owi = arAPDU.WriteContiguous(apObject, start, stop); for(size_t i = start; i <= stop; ++i) { if(owi.IsEnd()) { // out of space in the fragment this->mStaticWriteMap[arKey] = boost::bind(&ResponseContext::WriteStaticObjects, this, apObject, arStart, arStop, arKey, _1); - return false; + return false; } apObject->Write(*owi, arStart->mValue); ++arStart; //increment the iterators ++owi; } - return true; + return true; } template diff --git a/DNP3/ResponseLoader.cpp b/opendnp3/DNP3/ResponseLoader.cpp similarity index 97% rename from DNP3/ResponseLoader.cpp rename to opendnp3/DNP3/ResponseLoader.cpp index a547afed..1f2ce42e 100644 --- a/DNP3/ResponseLoader.cpp +++ b/opendnp3/DNP3/ResponseLoader.cpp @@ -16,12 +16,10 @@ // specific language governing permissions and limitations // under the License. // -#include "ResponseLoader.h" - -#include - -#include "HeaderReadIterator.h" -#include "Objects.h" +#include +#include +#include +#include namespace apl { diff --git a/DNP3/ResponseLoader.h b/opendnp3/DNP3/ResponseLoader.h similarity index 94% rename from DNP3/ResponseLoader.h rename to opendnp3/DNP3/ResponseLoader.h index 0058856a..3f97e43a 100644 --- a/DNP3/ResponseLoader.h +++ b/opendnp3/DNP3/ResponseLoader.h @@ -18,16 +18,14 @@ #ifndef __RESPONSE_LOADER_H_ #define __RESPONSE_LOADER_H_ - -#include -#include -#include -#include - -#include "CTOHistory.h" -#include "ObjectInterfaces.h" -#include "ObjectReadIterator.h" -#include "VtoReader.h" +#include +#include +#include +#include +#include +#include +#include +#include namespace apl { diff --git a/DNP3/SecLinkLayerStates.cpp b/opendnp3/DNP3/SecLinkLayerStates.cpp similarity index 92% rename from DNP3/SecLinkLayerStates.cpp rename to opendnp3/DNP3/SecLinkLayerStates.cpp index 4c0ca77e..260cfe7d 100644 --- a/DNP3/SecLinkLayerStates.cpp +++ b/opendnp3/DNP3/SecLinkLayerStates.cpp @@ -16,14 +16,12 @@ // specific language governing permissions and limitations // under the License. // -#include "SecLinkLayerStates.h" - -#include -#include -#include - -#include "DNPConstants.h" -#include "LinkLayer.h" +#include +#include +#include +#include +#include +#include namespace apl { diff --git a/DNP3/SecLinkLayerStates.h b/opendnp3/DNP3/SecLinkLayerStates.h similarity index 95% rename from DNP3/SecLinkLayerStates.h rename to opendnp3/DNP3/SecLinkLayerStates.h index e61961f9..d3ebf3e7 100644 --- a/DNP3/SecLinkLayerStates.h +++ b/opendnp3/DNP3/SecLinkLayerStates.h @@ -19,11 +19,11 @@ #ifndef __SEC_LINK_LAYER_STATES_H_ #define __SEC_LINK_LAYER_STATES_H_ -#include -#include -#include +#include +#include +#include -#include "LinkLayer.h" +#include namespace apl { diff --git a/DNP3/Slave.cpp b/opendnp3/DNP3/Slave.cpp similarity index 97% rename from DNP3/Slave.cpp rename to opendnp3/DNP3/Slave.cpp index dd789027..3e51bde1 100644 --- a/DNP3/Slave.cpp +++ b/opendnp3/DNP3/Slave.cpp @@ -15,18 +15,15 @@ // under the License. // -#include "Slave.h" - - -#include "SlaveStates.h" -#include "Database.h" -#include "DNPExceptions.h" -#include "ObjectReadIterator.h" - -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include @@ -407,7 +404,7 @@ void Slave::HandleVtoTransfer(const APDU& arRequest) } void Slave::HandleWrite(const APDU& arRequest) -{ +{ for (HeaderReadIterator hdr = arRequest.BeginRead(); !hdr.IsEnd(); ++hdr) { switch (hdr->GetGroup()) { case 112: diff --git a/DNP3/Slave.h b/opendnp3/DNP3/Slave.h similarity index 93% rename from DNP3/Slave.h rename to opendnp3/DNP3/Slave.h index ca58c86e..db0dff1c 100644 --- a/DNP3/Slave.h +++ b/opendnp3/DNP3/Slave.h @@ -18,27 +18,26 @@ #ifndef __SLAVE_H_ #define __SLAVE_H_ -#include -#include -#include -#include -#include -#include -#include -#include - -#include "APDU.h" -#include "AppInterfaces.h" -#include "DNPCommandMaster.h" -#include "EventBuffers.h" -#include "ObjectReadIterator.h" -#include "ResponseContext.h" -#include "SlaveConfig.h" -#include "SlaveEventBuffer.h" -#include "SlaveResponseTypes.h" -#include "VtoReader.h" -#include "VtoWriter.h" -#include "IStackObserver.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include namespace apl { diff --git a/DNP3/SlaveConfig.cpp b/opendnp3/DNP3/SlaveConfig.cpp similarity index 96% rename from DNP3/SlaveConfig.cpp rename to opendnp3/DNP3/SlaveConfig.cpp index 1b497a68..fd49fcbf 100644 --- a/DNP3/SlaveConfig.cpp +++ b/opendnp3/DNP3/SlaveConfig.cpp @@ -17,8 +17,8 @@ // under the License. // -#include "DNPConstants.h" -#include "SlaveConfig.h" +#include +#include namespace apl { diff --git a/DNP3/SlaveConfig.h b/opendnp3/DNP3/SlaveConfig.h similarity index 97% rename from DNP3/SlaveConfig.h rename to opendnp3/DNP3/SlaveConfig.h index 023877ed..8672e602 100644 --- a/DNP3/SlaveConfig.h +++ b/opendnp3/DNP3/SlaveConfig.h @@ -19,12 +19,11 @@ #ifndef __SLAVE_CONFIG_H_ #define __SLAVE_CONFIG_H_ -#include - -#include +#include +#include +#include -#include "ClassMask.h" -#include "ObjectInterfaces.h" +#include namespace apl { diff --git a/DNP3/SlaveEventBuffer.cpp b/opendnp3/DNP3/SlaveEventBuffer.cpp similarity index 98% rename from DNP3/SlaveEventBuffer.cpp rename to opendnp3/DNP3/SlaveEventBuffer.cpp index 3c9874e9..2d146d41 100644 --- a/DNP3/SlaveEventBuffer.cpp +++ b/opendnp3/DNP3/SlaveEventBuffer.cpp @@ -15,9 +15,8 @@ // under the License. // -#include "SlaveEventBuffer.h" - -#include +#include +#include namespace apl { diff --git a/DNP3/SlaveEventBuffer.h b/opendnp3/DNP3/SlaveEventBuffer.h similarity index 96% rename from DNP3/SlaveEventBuffer.h rename to opendnp3/DNP3/SlaveEventBuffer.h index f2bccdc1..65c6e92c 100644 --- a/DNP3/SlaveEventBuffer.h +++ b/opendnp3/DNP3/SlaveEventBuffer.h @@ -18,13 +18,12 @@ #ifndef __SLAVE_EVENT_BUFFER_H_ #define __SLAVE_EVENT_BUFFER_H_ -#include - -#include "BufferTypes.h" -#include "DatabaseInterfaces.h" -#include "DNPDatabaseTypes.h" -#include "EventBuffers.h" -#include "SlaveConfig.h" +#include +#include +#include +#include +#include +#include namespace apl { diff --git a/DNP3/SlaveResponseTypes.cpp b/opendnp3/DNP3/SlaveResponseTypes.cpp similarity index 96% rename from DNP3/SlaveResponseTypes.cpp rename to opendnp3/DNP3/SlaveResponseTypes.cpp index 5ce9f241..8c125e22 100644 --- a/DNP3/SlaveResponseTypes.cpp +++ b/opendnp3/DNP3/SlaveResponseTypes.cpp @@ -16,12 +16,10 @@ // specific language governing permissions and limitations // under the License. // -#include "SlaveResponseTypes.h" - -#include "SlaveConfig.h" -#include "Objects.h" - -#include +#include +#include +#include +#include namespace apl { diff --git a/DNP3/SlaveResponseTypes.h b/opendnp3/DNP3/SlaveResponseTypes.h similarity index 96% rename from DNP3/SlaveResponseTypes.h rename to opendnp3/DNP3/SlaveResponseTypes.h index 780749d5..a43164be 100644 --- a/DNP3/SlaveResponseTypes.h +++ b/opendnp3/DNP3/SlaveResponseTypes.h @@ -19,8 +19,8 @@ #ifndef __SLAVE_RESPONSE_TYPES_H_ #define __SLAVE_RESPONSE_TYPES_H_ -#include "ObjectInterfaces.h" -#include +#include +#include namespace apl { diff --git a/DNP3/SlaveStack.cpp b/opendnp3/DNP3/SlaveStack.cpp similarity index 97% rename from DNP3/SlaveStack.cpp rename to opendnp3/DNP3/SlaveStack.cpp index 9b4a93d6..627d1ce4 100644 --- a/DNP3/SlaveStack.cpp +++ b/opendnp3/DNP3/SlaveStack.cpp @@ -16,7 +16,7 @@ // specific language governing permissions and limitations // under the License. // -#include "SlaveStack.h" +#include namespace apl { @@ -45,4 +45,4 @@ IVtoReader* SlaveStack::GetVtoReader() } } -} \ No newline at end of file +} diff --git a/DNP3/SlaveStack.h b/opendnp3/DNP3/SlaveStack.h similarity index 88% rename from DNP3/SlaveStack.h rename to opendnp3/DNP3/SlaveStack.h index ff842479..61fe4f72 100644 --- a/DNP3/SlaveStack.h +++ b/opendnp3/DNP3/SlaveStack.h @@ -19,12 +19,12 @@ #ifndef __SLAVE_STACK_H_ #define __SLAVE_STACK_H_ -#include "Stack.h" -#include "Slave.h" -#include "Database.h" -#include "DNPCommandMaster.h" -#include "SlaveStackConfig.h" -#include +#include +#include +#include +#include +#include +#include namespace apl { diff --git a/DNP3/SlaveStackConfig.h b/opendnp3/DNP3/SlaveStackConfig.h similarity index 87% rename from DNP3/SlaveStackConfig.h rename to opendnp3/DNP3/SlaveStackConfig.h index 03d3fa22..a7fb68a8 100644 --- a/DNP3/SlaveStackConfig.h +++ b/opendnp3/DNP3/SlaveStackConfig.h @@ -19,11 +19,11 @@ #ifndef __SLAVE_STACK_CONFIG_H_ #define __SLAVE_STACK_CONFIG_H_ -#include "SlaveConfig.h" -#include "DeviceTemplate.h" -#include "AppConfig.h" -#include "LinkConfig.h" -#include "VtoConfig.h" +#include +#include +#include +#include +#include namespace apl { diff --git a/DNP3/SlaveStates.cpp b/opendnp3/DNP3/SlaveStates.cpp similarity index 97% rename from DNP3/SlaveStates.cpp rename to opendnp3/DNP3/SlaveStates.cpp index 2a923d4f..ec0702d4 100644 --- a/DNP3/SlaveStates.cpp +++ b/opendnp3/DNP3/SlaveStates.cpp @@ -15,14 +15,12 @@ // under the License. // -#include "SlaveStates.h" - -#include "Slave.h" -#include "DNPExceptions.h" - -#include -#include -#include +#include +#include +#include +#include +#include +#include #include diff --git a/DNP3/SlaveStates.h b/opendnp3/DNP3/SlaveStates.h similarity index 97% rename from DNP3/SlaveStates.h rename to opendnp3/DNP3/SlaveStates.h index cbfc295e..e3d62683 100644 --- a/DNP3/SlaveStates.h +++ b/opendnp3/DNP3/SlaveStates.h @@ -18,10 +18,11 @@ #ifndef __SLAVE_STATES_H_ #define __SLAVE_STATES_H_ +#include +#include +#include + #include -#include -#include -#include namespace apl { diff --git a/DNP3/SolicitedChannel.cpp b/opendnp3/DNP3/SolicitedChannel.cpp similarity index 92% rename from DNP3/SolicitedChannel.cpp rename to opendnp3/DNP3/SolicitedChannel.cpp index f5e53ef7..335e53b1 100644 --- a/DNP3/SolicitedChannel.cpp +++ b/opendnp3/DNP3/SolicitedChannel.cpp @@ -16,11 +16,10 @@ // specific language governing permissions and limitations // under the License. // -#include "SolicitedChannel.h" - -#include "AppLayer.h" -#include "AppChannelStates.h" -#include +#include +#include +#include +#include namespace apl { diff --git a/DNP3/SolicitedChannel.h b/opendnp3/DNP3/SolicitedChannel.h similarity index 97% rename from DNP3/SolicitedChannel.h rename to opendnp3/DNP3/SolicitedChannel.h index d023ca96..2bfc6d57 100644 --- a/DNP3/SolicitedChannel.h +++ b/opendnp3/DNP3/SolicitedChannel.h @@ -19,7 +19,7 @@ #ifndef __SOLICITED_CHANNEL_H_ #define __SOLICITED_CHANNEL_H_ -#include "AppLayerChannel.h" +#include namespace apl { diff --git a/DNP3/Stack.cpp b/opendnp3/DNP3/Stack.cpp similarity index 94% rename from DNP3/Stack.cpp rename to opendnp3/DNP3/Stack.cpp index 0f8c346d..5c56bccf 100644 --- a/DNP3/Stack.cpp +++ b/opendnp3/DNP3/Stack.cpp @@ -16,9 +16,8 @@ // specific language governing permissions and limitations // under the License. // -#include "Stack.h" - -#include +#include +#include namespace apl { diff --git a/DNP3/Stack.h b/opendnp3/DNP3/Stack.h similarity index 88% rename from DNP3/Stack.h rename to opendnp3/DNP3/Stack.h index 951a5f35..c8f7fbfb 100644 --- a/DNP3/Stack.h +++ b/opendnp3/DNP3/Stack.h @@ -19,11 +19,11 @@ #ifndef __STACK_H_ #define __STACK_H_ -#include "LinkLayer.h" -#include "TransportLayer.h" -#include "AppLayer.h" -#include "VtoDataInterface.h" -#include "VtoReader.h" +#include +#include +#include +#include +#include namespace apl { diff --git a/opendnp3/DNP3/StackManager.cpp b/opendnp3/DNP3/StackManager.cpp new file mode 100644 index 00000000..2dffd3cb --- /dev/null +++ b/opendnp3/DNP3/StackManager.cpp @@ -0,0 +1,147 @@ +// +// Licensed to Green Energy Corp (www.greenenergycorp.com) under one or +// more contributor license agreements. See the NOTICE file distributed +// with this work for additional information regarding copyright +// ownership. Green Enery Corp licenses this file to you under the +// Apache License, Version 2.0 (the "License"); you may not use this +// file except in compliance with the License. You may obtain a copy of +// the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +// implied. See the License for the specific language governing +// permissions and limitations under the License. +// +#include +#include +#include + +namespace apl +{ +namespace dnp +{ + +StackManager::StackManager() + : mpLog ( new EventLog() ) + , mpImpl ( new AsyncStackManager(mpLog->GetLogger(LEV_WARNING, "dnp")) ) +{} + +void StackManager::AddLogHook(ILogBase* apHook) +{ + mpLog->AddLogSubscriber(apHook); +} + +StackManager::~StackManager() +{ + delete mpImpl; + delete mpLog; +} + +//used for defining ports +void StackManager::AddTCPClient(const std::string& arName, PhysLayerSettings s, const std::string& arAddr, boost::uint16_t aPort) +{ + AddTCPv4Client(arName, s, arAddr, aPort); +} + +void StackManager::AddTCPv4Client(const std::string& arName, PhysLayerSettings s, const std::string& arAddr, boost::uint16_t aPort) +{ + mpImpl->AddTCPv4Client(arName, s, arAddr, aPort); +} + +void StackManager::AddTCPServer(const std::string& arName, PhysLayerSettings s, const std::string& arEndpoint, boost::uint16_t aPort) +{ + AddTCPv4Server(arName, s, arEndpoint, aPort); +} + +void StackManager::AddTCPv4Server(const std::string& arName, PhysLayerSettings s, const std::string& arEndpoint, boost::uint16_t aPort) +{ + mpImpl->AddTCPv4Server(arName, s, arEndpoint, aPort); +} + +void StackManager::AddTCPv6Client(const std::string& arName, PhysLayerSettings s, const std::string& arAddr, boost::uint16_t aPort) +{ + mpImpl->AddTCPv6Client(arName, s, arAddr, aPort); +} + +void StackManager::AddTCPv6Server(const std::string& arName, PhysLayerSettings s, const std::string& arEndpoint, boost::uint16_t aPort) +{ + mpImpl->AddTCPv6Server(arName, s, arEndpoint, aPort); +} + +void StackManager::AddSerial(const std::string& arName, PhysLayerSettings s, SerialSettings aSerial) +{ + mpImpl->AddSerial(arName, s, aSerial); +} + +ICommandAcceptor* StackManager::AddMaster(const std::string& arPortName, const std::string& arStackName, FilterLevel aLevel, + IDataObserver* apPublisher, const MasterStackConfig& arCfg) +{ + return mpImpl->AddMaster(arPortName, arStackName, aLevel, apPublisher, arCfg); +} + +IDataObserver* StackManager::AddSlave(const std::string& arPortName, const std::string& arStackName, FilterLevel aLevel, + ICommandAcceptor* apCmdAcceptor, const SlaveStackConfig& arCfg) +{ + return mpImpl->AddSlave(arPortName, arStackName, aLevel, apCmdAcceptor, arCfg); +} + +void StackManager::Shutdown() +{ + mpImpl->Shutdown(); +} + +void StackManager::RemovePort(const std::string& arPortName) +{ + mpImpl->RemovePort(arPortName); +} +void StackManager::RemoveStack(const std::string& arStackName) +{ + mpImpl->RemoveStack(arStackName); +} +std::vector StackManager::GetStackNames() +{ + return mpImpl->GetStackNames(); +} +std::vector StackManager::GetPortNames() +{ + return mpImpl->GetPortNames(); +} + +void StackManager::AddVtoChannel(const std::string& arStackName, IVtoCallbacks* apOnDataCallback) +{ + return mpImpl->AddVtoChannel(arStackName, apOnDataCallback); +} + +void StackManager::RemoveVtoChannel(const std::string& arStackName, IVtoCallbacks* apOnDataCallback) +{ + mpImpl->RemoveVtoChannel(arStackName, apOnDataCallback); +} + +void StackManager::StartVtoRouter(const std::string& arPortName, const std::string& arStackName, const VtoRouterSettings& arSettings) +{ + mpImpl->StartVtoRouter(arPortName, arStackName, arSettings); +} + +void StackManager::StopVtoRouter(const std::string& arStackName, boost::uint8_t aVtoChannelId) +{ + mpImpl->StopVtoRouter(arStackName, aVtoChannelId); +} + +void StackManager::StopAllRoutersOnStack(const std::string& arStackName) +{ + mpImpl->StopAllRoutersOnStack(arStackName); +} + +IVtoWriter* StackManager::GetVtoWriter(const std::string& arStackName) +{ + return mpImpl->GetVtoWriter(arStackName); +} + +} +} + +/* vim: set ts=4 sw=4 noexpandtab: */ + diff --git a/opendnp3/DNP3/StackManager.h b/opendnp3/DNP3/StackManager.h new file mode 100644 index 00000000..5f7680b2 --- /dev/null +++ b/opendnp3/DNP3/StackManager.h @@ -0,0 +1,143 @@ +// +// Licensed to Green Energy Corp (www.greenenergycorp.com) under one or +// more contributor license agreements. See the NOTICE file distributed +// with this work for additional information regarding copyright +// ownership. Green Enery Corp licenses this file to you under the +// Apache License, Version 2.0 (the "License"); you may not use this +// file except in compliance with the License. You may obtain a copy of +// the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +// implied. See the License for the specific language governing +// permissions and limitations under the License. +// +#ifndef __STACK_MANAGER_H_ +#define __STACK_MANAGER_H_ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +namespace apl +{ +class EventLog; +class ILogBase; +} + +namespace apl +{ +namespace dnp +{ + +class AsyncStackManager; + +/** + * Wraps the AyncStackManger using the impl pattern. This makes it + * suiteable for wrapping with swig or for creating a header-only + * distribution. The functions do the exact same thing as their impl + * counterparts. + */ +class StackManager +{ +public: + StackManager(); + ~StackManager(); + + void AddTCPClient(const std::string& arName, + PhysLayerSettings aPhys, + const std::string& arAddr, + boost::uint16_t aPort); + + void AddTCPv4Client(const std::string& arName, + PhysLayerSettings aPhys, + const std::string& arAddr, + boost::uint16_t aPort); + + void AddTCPServer(const std::string& arName, + PhysLayerSettings aPhys, + const std::string& arEndpoint, + boost::uint16_t aPort); + + void AddTCPv4Server(const std::string& arName, + PhysLayerSettings aPhys, + const std::string& arEndpoint, + boost::uint16_t aPort); + + void AddTCPv6Client(const std::string& arName, + PhysLayerSettings aPhys, + const std::string& arAddr, + boost::uint16_t aPort); + + void AddTCPv6Server(const std::string& arName, + PhysLayerSettings aPhys, + const std::string& arEndpoint, + boost::uint16_t aPort); + + void AddSerial(const std::string& arName, + PhysLayerSettings aPhys, + SerialSettings aSerial); + + ICommandAcceptor* AddMaster(const std::string& arPortName, + const std::string& arStackName, + FilterLevel aLevel, + IDataObserver* apPublisher, + const MasterStackConfig& arCfg); + + IDataObserver* AddSlave(const std::string& arPortName, + const std::string& arStackName, + FilterLevel aLevel, + ICommandAcceptor* apCmdAcceptor, + const SlaveStackConfig& arCfg); + + void AddVtoChannel(const std::string& arStackName, + IVtoCallbacks* apOnDataCallback); + + void RemoveVtoChannel(const std::string& arStackName, + IVtoCallbacks* apOnDataCallback); + + void StartVtoRouter(const std::string& arPortName, + const std::string& arStackName, + const VtoRouterSettings& arSettings); + + void StopVtoRouter(const std::string& arStackName, + boost::uint8_t aVtoChannelId); + + void StopAllRoutersOnStack(const std::string& arStackName); + + IVtoWriter* GetVtoWriter(const std::string& arStackName); + + void RemovePort(const std::string& arPortName); + + void RemoveStack(const std::string& arStackName); + + void AddLogHook(ILogBase*); + + std::vector GetStackNames(); + + std::vector GetPortNames(); + + void Shutdown(); + +private: + EventLog* mpLog; + AsyncStackManager* mpImpl; +}; + +} +} + +/* vim: set ts=4 sw=4 noexpandtab: */ + +#endif + diff --git a/DNP3/StartupTasks.cpp b/opendnp3/DNP3/StartupTasks.cpp similarity index 80% rename from DNP3/StartupTasks.cpp rename to opendnp3/DNP3/StartupTasks.cpp index cb438f0b..0b648480 100644 --- a/DNP3/StartupTasks.cpp +++ b/opendnp3/DNP3/StartupTasks.cpp @@ -16,13 +16,12 @@ // specific language governing permissions and limitations // under the License. // -#include "StartupTasks.h" - -#include "APDU.h" -#include "ObjectReadIterator.h" -#include "PointClass.h" -#include -#include +#include +#include +#include +#include +#include +#include namespace apl { @@ -59,10 +58,20 @@ void ConfigureUnsol::Set(bool aIsEnable, int aClassMask) void ConfigureUnsol::ConfigureRequest(APDU& arAPDU) { - arAPDU.Set(mIsEnable ? FC_ENABLE_UNSOLICITED : FC_DISABLE_UNSOLICITED); - if(mClassMask & PC_CLASS_1) arAPDU.DoPlaceholderWrite(Group60Var2::Inst()); - if(mClassMask & PC_CLASS_2) arAPDU.DoPlaceholderWrite(Group60Var3::Inst()); - if(mClassMask & PC_CLASS_3) arAPDU.DoPlaceholderWrite(Group60Var4::Inst()); + if (mClassMask == 0 || !mIsEnable) { + arAPDU.Set(FC_DISABLE_UNSOLICITED); + arAPDU.DoPlaceholderWrite(Group60Var2::Inst()); + arAPDU.DoPlaceholderWrite(Group60Var3::Inst()); + arAPDU.DoPlaceholderWrite(Group60Var4::Inst()); + } else { + arAPDU.Set(FC_ENABLE_UNSOLICITED); + if (mClassMask & PC_CLASS_1) + arAPDU.DoPlaceholderWrite(Group60Var2::Inst()); + if (mClassMask & PC_CLASS_2) + arAPDU.DoPlaceholderWrite(Group60Var3::Inst()); + if (mClassMask & PC_CLASS_3) + arAPDU.DoPlaceholderWrite(Group60Var4::Inst()); + } } diff --git a/DNP3/StartupTasks.h b/opendnp3/DNP3/StartupTasks.h similarity index 96% rename from DNP3/StartupTasks.h rename to opendnp3/DNP3/StartupTasks.h index 190ca88e..e7ce3e3c 100644 --- a/DNP3/StartupTasks.h +++ b/opendnp3/DNP3/StartupTasks.h @@ -19,8 +19,9 @@ #ifndef __STARTUP_TASKS_H_ #define __STARTUP_TASKS_H_ -#include -#include "MasterTaskBase.h" +#include +#include + #include namespace apl diff --git a/DNP3/TLS_Base.cpp b/opendnp3/DNP3/TLS_Base.cpp similarity index 93% rename from DNP3/TLS_Base.cpp rename to opendnp3/DNP3/TLS_Base.cpp index 3e36d490..1c888ccb 100644 --- a/DNP3/TLS_Base.cpp +++ b/opendnp3/DNP3/TLS_Base.cpp @@ -16,12 +16,9 @@ // specific language governing permissions and limitations // under the License. // -#include "TLS_Base.h" - - - -#include "TransportLayer.h" -#include +#include +#include +#include namespace apl { diff --git a/DNP3/TLS_Base.h b/opendnp3/DNP3/TLS_Base.h similarity index 95% rename from DNP3/TLS_Base.h rename to opendnp3/DNP3/TLS_Base.h index 8538701f..f270287b 100644 --- a/DNP3/TLS_Base.h +++ b/opendnp3/DNP3/TLS_Base.h @@ -19,9 +19,8 @@ #ifndef __TLS_BASE_H_ #define __TLS_BASE_H_ - -#include -#include +#include +#include #include diff --git a/DNP3/TransportConstants.h b/opendnp3/DNP3/TransportConstants.h similarity index 96% rename from DNP3/TransportConstants.h rename to opendnp3/DNP3/TransportConstants.h index d40007cf..ad1f80dc 100644 --- a/DNP3/TransportConstants.h +++ b/opendnp3/DNP3/TransportConstants.h @@ -19,8 +19,7 @@ #ifndef __TRANSPORT_CONSTANTS_H_ #define __TRANSPORT_CONSTANTS_H_ - -#include "DNPConstants.h" +#include namespace apl { diff --git a/DNP3/TransportLayer.cpp b/opendnp3/DNP3/TransportLayer.cpp similarity index 95% rename from DNP3/TransportLayer.cpp rename to opendnp3/DNP3/TransportLayer.cpp index 04db3ca0..fab607c8 100644 --- a/DNP3/TransportLayer.cpp +++ b/opendnp3/DNP3/TransportLayer.cpp @@ -16,20 +16,15 @@ // specific language governing permissions and limitations // under the License. // -#include "TransportLayer.h" - -#include -#include - - -#include "TransportConstants.h" +#include +#include +#include +#include +#include #include #include - -#include "TransportStates.h" - using namespace std; namespace apl diff --git a/DNP3/TransportLayer.h b/opendnp3/DNP3/TransportLayer.h similarity index 93% rename from DNP3/TransportLayer.h rename to opendnp3/DNP3/TransportLayer.h index 2f8e523b..591a1cce 100644 --- a/DNP3/TransportLayer.h +++ b/opendnp3/DNP3/TransportLayer.h @@ -19,14 +19,10 @@ #ifndef __TRANSPORT_LAYER_H_ #define __TRANSPORT_LAYER_H_ - - -#include "TransportRx.h" -#include "TransportTx.h" - -#include "DNPConstants.h" - -#include +#include +#include +#include +#include namespace apl { diff --git a/DNP3/TransportRx.cpp b/opendnp3/DNP3/TransportRx.cpp similarity index 94% rename from DNP3/TransportRx.cpp rename to opendnp3/DNP3/TransportRx.cpp index be373e01..fb95a98f 100644 --- a/DNP3/TransportRx.cpp +++ b/opendnp3/DNP3/TransportRx.cpp @@ -16,15 +16,14 @@ // specific language governing permissions and limitations // under the License. // -#include "TransportRx.h" +#include +#include +#include +#include +#include -#include "TransportLayer.h" -#include "TransportConstants.h" -#include -#include - -#include #include +#include using namespace std; diff --git a/DNP3/TransportRx.h b/opendnp3/DNP3/TransportRx.h similarity index 90% rename from DNP3/TransportRx.h rename to opendnp3/DNP3/TransportRx.h index e47c3008..d050ccd4 100644 --- a/DNP3/TransportRx.h +++ b/opendnp3/DNP3/TransportRx.h @@ -19,12 +19,10 @@ #ifndef __TRANSPORT_RX_H_ #define __TRANSPORT_RX_H_ - -#include -#include -#include - -#include "TransportConstants.h" +#include +#include +#include +#include namespace apl { diff --git a/DNP3/TransportStates.cpp b/opendnp3/DNP3/TransportStates.cpp similarity index 96% rename from DNP3/TransportStates.cpp rename to opendnp3/DNP3/TransportStates.cpp index 39ef1474..57791226 100644 --- a/DNP3/TransportStates.cpp +++ b/opendnp3/DNP3/TransportStates.cpp @@ -16,9 +16,8 @@ // specific language governing permissions and limitations // under the License. // -#include "TransportStates.h" - -#include "TransportLayer.h" +#include +#include namespace apl { diff --git a/DNP3/TransportStates.h b/opendnp3/DNP3/TransportStates.h similarity index 95% rename from DNP3/TransportStates.h rename to opendnp3/DNP3/TransportStates.h index 29c525e0..a2bc58dd 100644 --- a/DNP3/TransportStates.h +++ b/opendnp3/DNP3/TransportStates.h @@ -19,9 +19,8 @@ #ifndef __TRANSPORT_STATES_H_ #define __TRANSPORT_STATES_H_ - -#include "TLS_Base.h" -#include +#include +#include namespace apl { diff --git a/DNP3/TransportTx.cpp b/opendnp3/DNP3/TransportTx.cpp similarity index 94% rename from DNP3/TransportTx.cpp rename to opendnp3/DNP3/TransportTx.cpp index bc94070b..626c817c 100644 --- a/DNP3/TransportTx.cpp +++ b/opendnp3/DNP3/TransportTx.cpp @@ -16,16 +16,14 @@ // specific language governing permissions and limitations // under the License. // -#include "TransportTx.h" - - -#include "TransportLayer.h" -#include -#include +#include +#include +#include +#include #include -#include #include +#include using namespace std; diff --git a/DNP3/TransportTx.h b/opendnp3/DNP3/TransportTx.h similarity index 90% rename from DNP3/TransportTx.h rename to opendnp3/DNP3/TransportTx.h index ac6c569f..99985f99 100644 --- a/DNP3/TransportTx.h +++ b/opendnp3/DNP3/TransportTx.h @@ -19,12 +19,10 @@ #ifndef __TRANSPORT_TX_H_ #define __TRANSPORT_TX_H_ - -#include -#include -#include - -#include "TransportConstants.h" +#include +#include +#include +#include namespace apl { diff --git a/DNP3/UnsolicitedChannel.cpp b/opendnp3/DNP3/UnsolicitedChannel.cpp similarity index 93% rename from DNP3/UnsolicitedChannel.cpp rename to opendnp3/DNP3/UnsolicitedChannel.cpp index c6041c05..586a61e7 100644 --- a/DNP3/UnsolicitedChannel.cpp +++ b/opendnp3/DNP3/UnsolicitedChannel.cpp @@ -16,10 +16,9 @@ // specific language governing permissions and limitations // under the License. // -#include "UnsolicitedChannel.h" - -#include -#include "AppLayer.h" +#include +#include +#include namespace apl { diff --git a/DNP3/UnsolicitedChannel.h b/opendnp3/DNP3/UnsolicitedChannel.h similarity index 97% rename from DNP3/UnsolicitedChannel.h rename to opendnp3/DNP3/UnsolicitedChannel.h index 2465ad27..33f007f0 100644 --- a/DNP3/UnsolicitedChannel.h +++ b/opendnp3/DNP3/UnsolicitedChannel.h @@ -19,7 +19,7 @@ #ifndef __UNSOLICITED_CHANNEL_H_ #define __UNSOLICITED_CHANNEL_H_ -#include "AppLayerChannel.h" +#include namespace apl { diff --git a/DNP3/VtoConfig.h b/opendnp3/DNP3/VtoConfig.h similarity index 96% rename from DNP3/VtoConfig.h rename to opendnp3/DNP3/VtoConfig.h index cdea2aa8..c8a623be 100644 --- a/DNP3/VtoConfig.h +++ b/opendnp3/DNP3/VtoConfig.h @@ -19,7 +19,7 @@ #ifndef __VTO_CONFIG_H_ #define __VTO_CONFIG_H_ -#include "VtoRouterSettings.h" +#include namespace apl { diff --git a/DNP3/VtoData.cpp b/opendnp3/DNP3/VtoData.cpp similarity index 95% rename from DNP3/VtoData.cpp rename to opendnp3/DNP3/VtoData.cpp index 46489c36..e73216f7 100644 --- a/DNP3/VtoData.cpp +++ b/opendnp3/DNP3/VtoData.cpp @@ -15,7 +15,7 @@ // under the License. // -#include "VtoData.h" +#include #include #include @@ -26,7 +26,7 @@ namespace apl namespace dnp { -std::string ToString(VtoDataType aType) +std::string VtoDataTypeToString(VtoDataType aType) { switch(aType) { case(VTODT_DATA): return "DATA"; diff --git a/DNP3/VtoData.h b/opendnp3/DNP3/VtoData.h similarity index 91% rename from DNP3/VtoData.h rename to opendnp3/DNP3/VtoData.h index e17fe5e1..c5b236e5 100644 --- a/DNP3/VtoData.h +++ b/opendnp3/DNP3/VtoData.h @@ -18,7 +18,7 @@ #ifndef __VTO_DATA_H_ #define __VTO_DATA_H_ -#include +#include #include @@ -34,13 +34,13 @@ enum VtoDataType { VTODT_DATA }; -std::string ToString(VtoDataType aType); +std::string VtoDataTypeToString(VtoDataType aType); class VtoData { public: - const static size_t MAX_SIZE = 255; + static const size_t MAX_SIZE = 255; VtoData(); diff --git a/DNP3/VtoDataInterface.h b/opendnp3/DNP3/VtoDataInterface.h similarity index 71% rename from DNP3/VtoDataInterface.h rename to opendnp3/DNP3/VtoDataInterface.h index f2519b6a..a9ba8de9 100644 --- a/DNP3/VtoDataInterface.h +++ b/opendnp3/DNP3/VtoDataInterface.h @@ -18,12 +18,11 @@ #ifndef __VTO_DATA_INTERFACE_H_ #define __VTO_DATA_INTERFACE_H_ -#include - -#include +#include +#include +#include -#include "EventTypes.h" -#include "ObjectInterfaces.h" +#include namespace apl { @@ -58,7 +57,6 @@ class IVtoChannel } private: - /** * A hidden default constructor. * @@ -72,17 +70,29 @@ class IVtoChannel boost::uint8_t mChannelId; }; -/** -* Callback that notifies when space is available to write vto objects. -*/ -class IVtoBufferHandler +class IVtoCallbacks : public IVtoChannel { public: + /** + * Creates a new IVtoCallbacks instance configured for Virtual + * Terminal channel id matching aChannelId. + * + * @param aChannelId the DNP3 Virtual Terminal port (channel + * id) + * + * @return the new IVtoCallbacks instance + */ + IVtoCallbacks(boost::uint8_t aChannelId) : IVtoChannel(aChannelId) {} + + /** + * Called when an IVtoWriter has space available for writing. + */ + virtual void OnBufferAvailable() {} /** - * Called when an IVtoWriter has space available for writing + * Called when an IVtoReader has received some data. */ - virtual void OnBufferAvailable() = 0; + virtual void OnVtoDataReceived(const VtoData& arData) {} }; /** @@ -133,47 +143,13 @@ class IVtoWriter * Registers an IVtoCallbacks to receive OnBufferAvailable() notifications * @param apHandler The interface to invoke when space is made available */ - virtual void AddVtoCallback(IVtoBufferHandler* apHandler) = 0; + virtual void AddVtoCallback(IVtoCallbacks* apHandler) = 0; /** * Stops an IVtoCallbacks from receiving OnBufferAvailable() notifications * @param apHandler The interface to stop calling when space is available */ - virtual void RemoveVtoCallback(IVtoBufferHandler* apHandler) = 0; -}; - -/** - * Receives data from the stack for a particular channel and is notified - * when buffer space becomes available. Applications that wish to use - * the AsyncStackManager::AddVtoChannel() hook must implement a concrete - * subclass of this class and register an instance of that subclass - * during the function call. - */ -class IVtoDataHandler : public IVtoChannel -{ -public: - - /** - * Creates a new IVtoCallbacks instance configured for Virtual - * Terminal channel id matching aChannelId. - * - * @param aChannelId the DNP3 Virtual Terminal port (channel - * id) - * - * @return the new IVtoCallbacks instance - */ - IVtoDataHandler(boost::uint8_t aChannelId) : IVtoChannel(aChannelId) {} - - /** - * Called when data arrives from stack and needs to be handled. - * - * @param arData The data received from the VTO stream, also includes - * a VtoDataType flag that the router should look at to - * decide if they should open/close the local half of the - * connection. - */ - virtual void OnVtoDataReceived(const VtoData& arData) = 0; - + virtual void RemoveVtoCallback(IVtoCallbacks* apHandler) = 0; }; class IVtoReader @@ -191,7 +167,7 @@ class IVtoReader *registered * with this reader */ - virtual void AddVtoChannel(IVtoDataHandler* apCallbacks) = 0; + virtual void AddVtoChannel(IVtoCallbacks* apCallbacks) = 0; /** * Unregister an IVtoCallbacks instance with the VtoReader @@ -202,27 +178,12 @@ class IVtoReader * @throw ArgumentException if the channel id is not registered * with this reader */ - virtual void RemoveVtoChannel(IVtoDataHandler* apCallbacks) = 0; -}; - -class IVtoCallbacks : public IVtoDataHandler, public IVtoBufferHandler -{ -public: - /** - * Creates a new IVtoCallbacks instance configured for Virtual - * Terminal channel id matching aChannelId. - * - * @param aChannelId the DNP3 Virtual Terminal port (channel - * id) - * - * @return the new IVtoCallbacks instance - */ - IVtoCallbacks(boost::uint8_t aChannelId) : IVtoDataHandler(aChannelId) {} + virtual void RemoveVtoChannel(IVtoCallbacks* apCallbacks) = 0; }; } } -/* vim: set ts=4 sw=4: */ +/* vim: set ts=4 sw=4 noexpandtab: */ #endif diff --git a/DNP3/VtoEventBufferAdapter.h b/opendnp3/DNP3/VtoEventBufferAdapter.h old mode 100755 new mode 100644 similarity index 93% rename from DNP3/VtoEventBufferAdapter.h rename to opendnp3/DNP3/VtoEventBufferAdapter.h index 6ed4530b..f953c2e5 --- a/DNP3/VtoEventBufferAdapter.h +++ b/opendnp3/DNP3/VtoEventBufferAdapter.h @@ -18,8 +18,8 @@ #ifndef __VTO_EVENT_BUFFER_ADAPTER_H_ #define __VTO_EVENT_BUFFER_ADAPTER_H_ -#include "EventBufferBase.h" -#include "IVtoEventAcceptor.h" +#include +#include namespace apl { diff --git a/DNP3/VtoReader.cpp b/opendnp3/DNP3/VtoReader.cpp similarity index 91% rename from DNP3/VtoReader.cpp rename to opendnp3/DNP3/VtoReader.cpp index 6d9bc85f..14f68440 100644 --- a/DNP3/VtoReader.cpp +++ b/opendnp3/DNP3/VtoReader.cpp @@ -15,13 +15,11 @@ * under the License. */ -#include "VtoReader.h" - -#include "DNPConstants.h" -#include "EnhancedVto.h" - -#include -#include +#include +#include +#include +#include +#include #include @@ -30,7 +28,7 @@ namespace apl namespace dnp { -void VtoReader::AddVtoChannel(IVtoDataHandler* apCallbacks) +void VtoReader::AddVtoChannel(IVtoCallbacks* apCallbacks) { /* * The whole function is thread-safe, from start to finish. @@ -54,7 +52,7 @@ void VtoReader::AddVtoChannel(IVtoDataHandler* apCallbacks) mChannelMap[id] = apCallbacks; } -void VtoReader::RemoveVtoChannel(IVtoDataHandler* apCallbacks) +void VtoReader::RemoveVtoChannel(IVtoCallbacks* apCallbacks) { /* * The whole function is thread-safe, from start to finish. diff --git a/DNP3/VtoReader.h b/opendnp3/DNP3/VtoReader.h similarity index 88% rename from DNP3/VtoReader.h rename to opendnp3/DNP3/VtoReader.h index e258b700..ecf52638 100644 --- a/DNP3/VtoReader.h +++ b/opendnp3/DNP3/VtoReader.h @@ -18,15 +18,14 @@ #ifndef __VTO_READER_H_ #define __VTO_READER_H_ -#include - -#include -#include -#include +#include +#include +#include +#include +#include +#include -#include "VtoDataInterface.h" -#include "VtoData.h" -#include "IStackObserver.h" +#include namespace apl { @@ -63,7 +62,7 @@ class VtoReader : private Loggable, public ITransactable, public IVtoReader *registered * with this reader */ - void AddVtoChannel(IVtoDataHandler* apCallbacks); + void AddVtoChannel(IVtoCallbacks* apCallbacks); /** * Unregister an IVtoCallbacks instance with the VtoReader @@ -74,7 +73,7 @@ class VtoReader : private Loggable, public ITransactable, public IVtoReader * @throw ArgumentException if the channel id is not registered * with this reader */ - void RemoveVtoChannel(IVtoDataHandler* apCallbacks); + void RemoveVtoChannel(IVtoCallbacks* apCallbacks); /** * Adds a VtoEvent object to be delivered back to user code. @@ -115,7 +114,7 @@ class VtoReader : private Loggable, public ITransactable, public IVtoReader */ void _End(); - typedef std::map ChannelMap; + typedef std::map ChannelMap; ChannelMap mChannelMap; }; diff --git a/DNP3/VtoRouter.cpp b/opendnp3/DNP3/VtoRouter.cpp similarity index 94% rename from DNP3/VtoRouter.cpp rename to opendnp3/DNP3/VtoRouter.cpp index 1063147d..1c6003f9 100644 --- a/DNP3/VtoRouter.cpp +++ b/opendnp3/DNP3/VtoRouter.cpp @@ -15,18 +15,16 @@ * under the License. */ -#include "VtoRouter.h" +#include +#include +#include +#include +#include +#include +#include #include -#include -#include -#include -#include - -#include "VtoReader.h" -#include "VtoRouterSettings.h" - namespace apl { namespace dnp @@ -48,7 +46,7 @@ VtoRouter::VtoRouter(const VtoRouterSettings& arSettings, Logger* apLogger, IVto void VtoRouter::OnVtoDataReceived(const VtoData& arData) { - LOG_BLOCK(LEV_DEBUG, "GotRemoteData: " << arData.GetSize() << " Type: " << ToString(arData.GetType())); + LOG_BLOCK(LEV_DEBUG, "GotRemoteData: " << arData.GetSize() << " Type: " << VtoDataTypeToString(arData.GetType())); if(this->CheckIncomingVtoData(arData)) { /* diff --git a/DNP3/VtoRouter.h b/opendnp3/DNP3/VtoRouter.h similarity index 97% rename from DNP3/VtoRouter.h rename to opendnp3/DNP3/VtoRouter.h index 3aee1cd7..d0d031a6 100644 --- a/DNP3/VtoRouter.h +++ b/opendnp3/DNP3/VtoRouter.h @@ -18,15 +18,14 @@ #ifndef __VTO_ROUTER_H_ #define __VTO_ROUTER_H_ +#include +#include +#include +#include + #include #include -#include -#include -#include - -#include "VtoDataInterface.h" - namespace apl { diff --git a/DNP3/VtoRouterManager.cpp b/opendnp3/DNP3/VtoRouterManager.cpp similarity index 93% rename from DNP3/VtoRouterManager.cpp rename to opendnp3/DNP3/VtoRouterManager.cpp index a07fb42a..c8f69769 100644 --- a/DNP3/VtoRouterManager.cpp +++ b/opendnp3/DNP3/VtoRouterManager.cpp @@ -15,20 +15,17 @@ * under the License. */ -#include "VtoRouterManager.h" - -#include "AlwaysOpeningVtoRouter.h" -#include "EnhancedVtoRouter.h" -#include "VtoRouterSettings.h" - -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include -#include #include namespace apl diff --git a/DNP3/VtoRouterManager.h b/opendnp3/DNP3/VtoRouterManager.h similarity index 94% rename from DNP3/VtoRouterManager.h rename to opendnp3/DNP3/VtoRouterManager.h index ae68da86..96635bba 100644 --- a/DNP3/VtoRouterManager.h +++ b/opendnp3/DNP3/VtoRouterManager.h @@ -18,13 +18,13 @@ #ifndef __VTO_ROUTER_MANAGER_H_ #define __VTO_ROUTER_MANAGER_H_ -#include -#include +#include +#include +#include +#include -#include -#include -#include -#include +#include +#include namespace apl { diff --git a/DNP3/VtoRouterSettings.cpp b/opendnp3/DNP3/VtoRouterSettings.cpp similarity index 96% rename from DNP3/VtoRouterSettings.cpp rename to opendnp3/DNP3/VtoRouterSettings.cpp index 9df4e62b..34b9c4ca 100644 --- a/DNP3/VtoRouterSettings.cpp +++ b/opendnp3/DNP3/VtoRouterSettings.cpp @@ -15,7 +15,7 @@ * under the License. */ -#include "VtoRouterSettings.h" +#include namespace apl { diff --git a/DNP3/VtoRouterSettings.h b/opendnp3/DNP3/VtoRouterSettings.h similarity index 98% rename from DNP3/VtoRouterSettings.h rename to opendnp3/DNP3/VtoRouterSettings.h index 5f76295d..e0b92298 100644 --- a/DNP3/VtoRouterSettings.h +++ b/opendnp3/DNP3/VtoRouterSettings.h @@ -18,7 +18,7 @@ #ifndef __VTO_ROUTER_SETTINGS_H_ #define __VTO_ROUTER_SETTINGS_H_ -#include +#include namespace apl { diff --git a/DNP3/VtoTransmitTask.cpp b/opendnp3/DNP3/VtoTransmitTask.cpp similarity index 96% rename from DNP3/VtoTransmitTask.cpp rename to opendnp3/DNP3/VtoTransmitTask.cpp index 02becf0e..ba8a9647 100644 --- a/DNP3/VtoTransmitTask.cpp +++ b/opendnp3/DNP3/VtoTransmitTask.cpp @@ -15,10 +15,9 @@ * under the License. */ -#include - -#include "APDU.h" -#include "VtoTransmitTask.h" +#include +#include +#include using namespace apl; using namespace apl::dnp; diff --git a/DNP3/VtoTransmitTask.h b/opendnp3/DNP3/VtoTransmitTask.h similarity index 96% rename from DNP3/VtoTransmitTask.h rename to opendnp3/DNP3/VtoTransmitTask.h index 96a5d8df..971b92d4 100644 --- a/DNP3/VtoTransmitTask.h +++ b/opendnp3/DNP3/VtoTransmitTask.h @@ -18,10 +18,10 @@ #ifndef __VTO_WRITER_TO_BUFFER_TASK_H_ #define __VTO_WRITER_TO_BUFFER_TASK_H_ -#include +#include +#include -#include "EventBuffers.h" -#include "MasterTaskBase.h" +#include using namespace apl; @@ -100,7 +100,7 @@ class VtoTransmitTask : public MasterTaskBase protected: - /** FC_WRITE can't be retried so, another code is needed to + /** FC_WRITE can't be retried so, another code is needed to * make a reliable stream in the MASTER -> SLAVE direction */ bool mUseNonStandardCode; diff --git a/DNP3/VtoWriter.cpp b/opendnp3/DNP3/VtoWriter.cpp similarity index 94% rename from DNP3/VtoWriter.cpp rename to opendnp3/DNP3/VtoWriter.cpp index fb8049a7..efab341d 100644 --- a/DNP3/VtoWriter.cpp +++ b/opendnp3/DNP3/VtoWriter.cpp @@ -15,11 +15,10 @@ * under the License. */ -#include "VtoWriter.h" -#include "EnhancedVto.h" - -#include -#include +#include +#include +#include +#include namespace apl { @@ -137,14 +136,14 @@ size_t VtoWriter::Flush(IVtoEventAcceptor* apAcceptor, size_t aMaxEvents) return numUpdates; } -void VtoWriter::AddVtoCallback(IVtoBufferHandler* apHandler) +void VtoWriter::AddVtoCallback(IVtoCallbacks* apHandler) { assert(apHandler != NULL); CriticalSection cs(&mLock); this->mCallbacks.insert(apHandler); } -void VtoWriter::RemoveVtoCallback(IVtoBufferHandler* apHandler) +void VtoWriter::RemoveVtoCallback(IVtoCallbacks* apHandler) { assert(apHandler != NULL); CriticalSection cs(&mLock); diff --git a/DNP3/VtoWriter.h b/opendnp3/DNP3/VtoWriter.h similarity index 89% rename from DNP3/VtoWriter.h rename to opendnp3/DNP3/VtoWriter.h index b08a0e6e..7c775d0d 100644 --- a/DNP3/VtoWriter.h +++ b/opendnp3/DNP3/VtoWriter.h @@ -18,19 +18,18 @@ #ifndef __VTO_WRITER_H_ #define __VTO_WRITER_H_ +#include +#include +#include +#include +#include +#include +#include +#include + #include #include -#include -#include -#include -#include - -#include "EventTypes.h" -#include "VtoDataInterface.h" -#include "VtoData.h" -#include "IVtoEventAcceptor.h" - namespace apl { namespace dnp @@ -63,13 +62,13 @@ class VtoWriter : public IVtoWriter, public SubjectBase, private Logga * Registers an IVtoCallbacks to receive OnBufferAvailable() notifications * @param apHandler The interface to invoke when space is made available */ - void AddVtoCallback(IVtoBufferHandler* apHandler); + void AddVtoCallback(IVtoCallbacks* apHandler); /** * Stops an IVtoCallbacks from receiving OnBufferAvailable() notifications * @param apHandler The interface to stop calling when space is available */ - void RemoveVtoCallback(IVtoBufferHandler* apHandler); + void RemoveVtoCallback(IVtoCallbacks* apHandler); /** * Implements IVtoWriter::Write(). @@ -145,7 +144,7 @@ class VtoWriter : public IVtoWriter, public SubjectBase, private Logga const size_t mMaxVtoChunks; - typedef std::set CallbackSet; + typedef std::set CallbackSet; CallbackSet mCallbacks; }; } diff --git a/DNP3/rake.project.rb b/opendnp3/DNP3/rake.project.rb similarity index 100% rename from DNP3/rake.project.rb rename to opendnp3/DNP3/rake.project.rb diff --git a/version.hpp b/opendnp3/version.hpp similarity index 100% rename from version.hpp rename to opendnp3/version.hpp