OTX-Runtime for C++  
OtxDiagFactory.h
1 #ifndef OpenTestSystem_OtxDiagManager_OtxDiagApi_OtxDiagFactory_H
2 #define OpenTestSystem_OtxDiagManager_OtxDiagApi_OtxDiagFactory_H
3 
4 #include "ApiDefs.h"
5 #include "TypeDefs.h"
6 
7 #include <string>
8 #include <memory>
9 
10 namespace OpenTestSystem { namespace Otx { namespace DiagManager { namespace Client {
11  class Client;
12 }}}}
13 
14 namespace OpenTestSystem { namespace Otx { namespace DiagManager { namespace Common {
15  class ICommandProcessor;
16  class IDiagRuntimeSystem;
17 }}}}
18 
19 namespace OpenTestSystem {
23  namespace Otx {
27  namespace DiagManager {
31  namespace OtxDiagApi {
32  class IOtxDiag;
37  {
38  public:
39  API_EXPORTS OtxDiagFactory();
40  API_EXPORTS virtual ~OtxDiagFactory();
41 
49  API_EXPORTS std::shared_ptr<IOtxDiag> CreateOtxDiag(std::shared_ptr<OpenTestSystem::Otx::DiagManager::Client::Client> client);
50 
58  API_EXPORTS std::shared_ptr<IOtxDiag> CreateSocketOtxDiag(unsigned short port);
59 
65  API_EXPORTS std::shared_ptr<IOtxDiag> CreatePipeOtxDiag(const std::string & pipeName);
66 
75  API_EXPORTS std::shared_ptr<IOtxDiag> CreateRawOtxDiag(OpenTestSystem::Otx::DiagManager::Common::ICommandProcessor *commandProcessor);
76 
77  private:
78  class impl;
79  std::unique_ptr<impl> pimpl;
80  };
81  }
82  }
83  }
84 }
85 
86 #endif // OpenTestSystem_OtxDiagManager_OtxDiagApi_OtxDiagFactory_H
Factory class for creating the DiagOtxApi
Definition: OtxDiagFactory.h:37
API_EXPORTS std::shared_ptr< IOtxDiag > CreatePipeOtxDiag(const std::string &pipeName)
Creates a DiagManager instance inside a separate process with inter process communication via NamedPi...
API_EXPORTS std::shared_ptr< IOtxDiag > CreateRawOtxDiag(OpenTestSystem::Otx::DiagManager::Common::ICommandProcessor *commandProcessor)
Creates a DiagManager instance inside the same process
API_EXPORTS std::shared_ptr< IOtxDiag > CreateSocketOtxDiag(unsigned short port)
Creates a DiagManager instance inside a separate process with inter process communication via Sockets
API_EXPORTS std::shared_ptr< IOtxDiag > CreateOtxDiag(std::shared_ptr< OpenTestSystem::Otx::DiagManager::Client::Client > client)
Creates a DiagManager instance using an existing client instance
Namespace containing all objects related to testing inside automotive industry