DAVID4 SDK  1.8.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
david.h
1 //=============================================================================
2 // See License in Related Pages
3 //=============================================================================
4 
5 #pragma once
6 
7 #ifndef DAVID_SDK_DAVID_H
8 #define DAVID_SDK_DAVID_H
9 
10 #ifdef DAVID_SDK_USE_D4LIB
11 #include "davidSDK/ClientD4Lib.h"
12 #else
13 #include "davidSDK/ClientJsonRpc.h"
14 #endif
15 
16 
17 /// Basic DAVID namespace.
18 namespace david {
19 
20 
21 //*****************************************************************************
22 /// @addtogroup ManagerGroup
23 /// @{
24 /// @defgroup ClientGroup Client switching
25 /// Easy switching between different client implementations.
26 /// @{
27 //*****************************************************************************
28 
29 #ifdef DAVID_SDK_USE_D4LIB
30 
31 typedef ClientD4Lib Client;
32 
33 #else
34 
35 /// The Client class manages all modules and gives access to them via david::IModules interface implementation.
36 /// You can select between two different implementations of david::IModules:
37 /// 1. 'DAVID Enterprise Server' (default):
38 /// - ClientJsonRpc is defined as Client
39 /// - Use ClientJsonRpc::Connect and ClientJsonRpc::Disconnect
40 /// 2. 'DAVID Low Level Library':
41 /// - ClientD4Lib is defined as Client
42 /// - Use ClientD4Lib::InitLibrary and ClientD4Lib::ReleaseLibrary
43 ///
44 /// @note If you want to switch to 'DAVID Low Level Library', just define DAVID_SDK_USE_D4LIB in your project.
46 
47 #endif
48 
49 
50 } // namespace
51 
52 #endif // DAVID_SDK_DAVID_H