IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
LocalConfiguration.h
1 // LocalConfiguration.h:
3 // ---------------------
4 //
14 
15 #ifndef __IPSDKCORE_LOCALCONFIGURATION_H__
16 #define __IPSDKCORE_LOCALCONFIGURATION_H__
17 
18 // suppression warnings
19 // warning C4251: 'ipsdk::core::LocalConfiguration::_computerType' : class 'ipsdk::core::eComputerType' needs to have dll-interface to be used by clients of class 'ipsdk::core::LocalConfiguration'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
24 #include <IPSDKCore/Config/Local/LocalConfigurationTypes.h>
25 #include <IPSDKCore/Config/Local/LocalProcessingPolicy.h>
26 #include <IPSDKCore/Config/Local/DistributedProcessingPolicy.h>
27 #include <IPSDKSerialization/Engine/BaseSerializationObject.h>
28 
29 namespace ipsdk {
30 namespace core {
31 
34 
36 {
37  // declare serial class
39 
40 public:
46 
47 // methods
48 public:
50  bool isInit() const;
51 
53  void init(const eLocalProcessorType& localProcessorType,
54  const LocalProcessingPolicy& localProcessingPolicy,
55  const DistributedProcessingPolicy& distributedProcessingPolicy,
56  const boost::filesystem::path& logMainDirPath,
57  const std::string& logMainFileName,
58  const boost::filesystem::path& userConfigurationDirPath,
59  const boost::filesystem::path& commonConfigurationDirPath,
60  const boost::filesystem::path& temporaryDirPath,
61  const boost::filesystem::path& productLogoFilePath,
62  const boost::filesystem::path& companyLogoFilePath);
63 
66  const eLocalProcessorType& getLocalProcessorType() const;
67 
71 
75 
79 
82  const boost::filesystem::path& getLogMainDirPath() const;
83 
86  const std::string& getLogMainFileName() const;
87 
90  const boost::filesystem::path& getUserConfigurationDirPath() const;
91 
94  const boost::filesystem::path& getCommonConfigurationDirPath() const;
95 
98  const boost::filesystem::path& getTemporaryDirPath() const;
99 
102  const boost::filesystem::path& getProductLogoFilePath() const;
103 
106  const boost::filesystem::path& getCompanyLogoFilePath() const;
107 
109  void clear();
110 
111 // attributes
112 protected:
115 
118 
121 
123  boost::filesystem::path _logMainDirPath;
124 
126  std::string _logMainFileName;
127 
129  boost::filesystem::path _userConfigurationDirPath;
130 
132  boost::filesystem::path _commonConfigurationDirPath;
133 
135  boost::filesystem::path _temporaryDirPath;
136 
138  boost::filesystem::path _productLogoFilePath;
139 
141  boost::filesystem::path _companyLogoFilePath;
142 
144  bool _bInit;
145 };
146 
149 
150 inline bool
152 {
153  return _bInit;
154 }
155 
158 
159 } // end of namespace core
160 } // end of namespace ipsdk
161 
162 #pragma warning (pop)
163 
164 #endif // __IPSDKCORE_LOCALCONFIGURATION_H__
#define IPSDK_DECLARE_SERIAL_WITH_COPY(libraryName, className)
macro enabling serialization on class
Definition: SerializationHdrMacro.h:73
boost::filesystem::path _companyLogoFilePath
company logo file path
Definition: LocalConfiguration.h:141
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
eLocalProcessorType
Definition: LocalConfigurationTypes.h:32
IPSDKCORE_API const DistributedProcessingPolicy & getDistributedProcessingPolicy()
retrieve used distributed processing policy
boost::filesystem::path _userConfigurationDirPath
library user configuration directory
Definition: LocalConfiguration.h:129
IPSDKCORE_API const LocalProcessingPolicy & getLocalProcessingPolicyConst()
retrieve used local processing policy
IPSDKCORE_API LocalProcessingPolicy & getLocalProcessingPolicy()
retrieve used local processing policy
Definition of import/export macro for library.
Class allowing to describe local computer processing configuration.
Definition: LocalConfiguration.h:35
bool _bInit
object initialization flag
Definition: LocalConfiguration.h:144
LocalProcessingPolicy _localProcessingPolicy
local processing policy associated to object
Definition: LocalConfiguration.h:117
boost::filesystem::path _commonConfigurationDirPath
library common (all users) configuration directory
Definition: LocalConfiguration.h:132
#define IPSDKCORE_API
Import/Export macro for library IPSDKCore.
Definition: IPSDKCoreExports.h:27
boost::filesystem::path _temporaryDirPath
library temporary directory
Definition: LocalConfiguration.h:135
bool isInit() const
retrieve object initialization flag
Definition: LocalConfiguration.h:151
std::string _logMainFileName
library main log file name (name with extension)
Definition: LocalConfiguration.h:126
Class allowing to describe distributed processing policy used on local machine.
Definition: DistributedProcessingPolicy.h:28
Class allowing to describe processing policy for local machine.
Definition: LocalProcessingPolicy.h:32
eLocalProcessorType _localProcessorType
local computer processor type
Definition: LocalConfiguration.h:114
boost::filesystem::path _productLogoFilePath
product logo file path
Definition: LocalConfiguration.h:138
boost::filesystem::path _logMainDirPath
library log main directory
Definition: LocalConfiguration.h:123
Base class for serializable class.
Definition: BaseSerializationObject.h:33
DistributedProcessingPolicy _distributedProcessingPolicy
distributed processing policy associated to object
Definition: LocalConfiguration.h:120