Serveur OPCUA générique
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Définitions de type Macros
cta_ua_server.h
Aller à la documentation de ce fichier.
1 #ifndef SERVER_H
2 #define SERVER_H
3 
4 #include "serverconfig.h"
5 #include "nodemanager.h"
6 #include "string"
7 
8 class OpcServerPrivate;
10 class UaServer;
11 class NodeManager;
12 class CTA_Slc_NodeManager;
13 
14 namespace CTA_UA {
15 class Server {
16 public:
17  // construction / destruction
18  Server();
19  ~Server();
20 
21  // Methods used to initialize the server
22  int setServerConfig(const std::string& configurationFile,
23  const std::string& applicationPath);
24  int setServerConfig(ServerConfig* pServerConfig);
25  int setCallback(OpcServerCallback* pOpcServerCallback);
26  ServerManager* getServerManager();
27  // Methods used to start and stop the server
28  int start();
29  void getUrl(std::string *sUrl);
30  int stop(OpcUa_Int32 secondsTillShutdown,
31  const UaLocalizedText& shutdownReason);
32 
33 private:
34 
36 };
37 
38 } // end namespace
39 
44 public:
47  }
49  virtual ~OpcServerCallback() {
50  }
58  virtual Session* createSession(OpcUa_Int32 sessionID,
59  const UaNodeId &authenticationToken) = 0;
65  virtual UaStatus logonSessionUser(Session* pSession,
66  UaUserIdentityToken* pUserIdentityToken) = 0;
71  virtual UaServer* createUaServer() {
72  return NULL;
73  }
74 };
75 #endif // SERVER_H