IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
LocalNetworkDescription.h
1 // LocalNetworkDescription.h:
3 // --------------------------
4 //
14 
15 #ifndef __IPSDKCORE_LOCALNETWORKDESCRIPTION_H__
16 #define __IPSDKCORE_LOCALNETWORKDESCRIPTION_H__
17 
18 // suppression warnings
19 // warning C4251: 'ipsdk::core::LocalNetworkDescription::_ipAddressType' : class 'ipsdk::tcpip::eIPAddressType' needs to have dll-interface to be used by clients of class 'ipsdk::core::LocalNetworkDescription'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
24 #include <IPSDKCore/Config/Network/NetworkDescriptionTypes.h>
25 #include <IPSDKUtil/BaseTypes.h>
26 #include <IPSDKUtil/Tools/ProcessingResult.h>
27 #include <IPSDKUtil/Dynamic/BaseDynamicObject.h>
28 
29 namespace ipsdk {
30 namespace core {
31 
32 class NetworkDescription;
33 class LocalComputerInfo;
34 
37 
39 {
40  // declare a dynamic object
42 
43 public:
49 
50 // methods
51 public:
53  bool isInit() const;
54 
59  BoolResult init(const NetworkDescription& networkDescription,
60  const LocalComputerInfo& localComputerInfo);
61 
64  ipUInt32 getPortNumber() const;
65 
68  const tcpip::eIPAddressType& getIPAddressType() const;
69 
72  const tcpip::Address& getLocalIPAddress() const;
73 
78  const tcpip::Address& getMasterIPAddress() const;
79 
83  const AddressColl& getRemoteAddressColl() const;
84 
87  const AddressColl& getSlavesAddressColl() const;
88 
90  void clear();
91 
92 // attributes
93 protected:
96 
99 
102 
105 
108 
111 
113  bool _bInit;
114 };
115 
118 
119 inline bool
121 {
122  return _bInit;
123 }
124 
127 
128 } // end of namespace core
129 } // end of namespace ipsdk
130 
131 #pragma warning (pop)
132 
133 #endif // __IPSDKCORE_LOCALNETWORKDESCRIPTION_H__
bool _bInit
object initialization flag
Definition: LocalNetworkDescription.h:113
Base class for dynamic objects.
Definition: BaseDynamicObject.h:28
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
AddressColl _slavesAddressColl
collection of slave ip addresses associated to local computer
Definition: LocalNetworkDescription.h:110
Definition: LocalComputerInfo.h:28
Definition of import/export macro for library.
eIPAddressType
Enumerate TCP/IP ip address type.
Definition: Types.h:66
derived class of asio io address for ipsdk::tcpip namespace integration
Definition: Types.h:86
#define IPSDKCORE_API
Import/Export macro for library IPSDKCore.
Definition: IPSDKCoreExports.h:27
tcpip::eIPAddressType _ipAddressType
type of ip addresses used
Definition: LocalNetworkDescription.h:98
ipUInt32 _portNumber
port number used for connections
Definition: LocalNetworkDescription.h:95
Base types for multiplatform compatibility.
Class encapsulating network description for multi-machine processings has seen by local machine...
Definition: LocalNetworkDescription.h:38
AddressColl _remoteAddressColl
collection of all ip addresses associated to remote network
Definition: LocalNetworkDescription.h:107
bool isInit() const
retrieve object initialization flag
Definition: LocalNetworkDescription.h:120
tcpip::Address _masterIPAddress
master address for local machine
Definition: LocalNetworkDescription.h:104
#define IPSDK_DECLARE_DYNAMIC_WITH_COPY(libraryName, className)
macro enabling dynamic properties on class and copy support
Definition: DynamicHdrMacro.h:83
Class encapsulating network description for multi-machine processings.
Definition: NetworkDescription.h:33
std::set< tcpip::Address > AddressColl
ordered collection of ip address
Definition: NetworkDescriptionTypes.h:25
tcpip::Address _localIPAddress
used ip address for local machine
Definition: LocalNetworkDescription.h:101
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53