AnyConnect Secure Mobility Client  4.10.06090
CLIClientImpl.h
1 /******************************************************************************\
2  * This sample is supplied as is with no implied warranty.
3  * It is designed to assist you in using the Cisco AnyConnect VPN API.
4  * It is assumed that you will build a production application and
5  * refer to this sample as a reference only.
6  \*****************************************************************************/
7 
8 #ifndef _CLICLIENTIMPL_
9 #define _CLICLIENTIMPL_
10 
11 
12 #include <stdio.h>
13 #include <stdlib.h>
14 #include "ClientIfc.h"
15 
16 enum RequestType { REQ_CONNECT, REQ_GROUPLIST, REQ_END };
17 
18 /**
19  * This is an example application demonstrating the implementation of the
20  * AnyConnect API
21  */
22 
23 
24 class CLIClientImpl : public ClientIfc
25 {
26  public:
27 
28  CLIClientImpl();
29  virtual ~CLIClientImpl();
30 
31  // The following methods are for support and not considered part of
32  // the main API interface.
33 
34  void printHostList();
35 
36  void printDefaultHost();
37 
38  void connect(std::string host, std::string user,
39  std::string password, std::string group);
40 
41  void disconnect();
42 
43  void showGroups(std::string host);
44 
45  /**
46  * This method demonstrates accessing the statistics data delivered
47  * via the ClientIfc::StatsCB method.
48  */
49  void getStats();
50 
51  /**
52  * Method with example of parsing ConnectPromptInfo.
53  *
54  * This method is triggered by an API call on the method
55  * UserPromptCB(ConnectPromptInfo &).
56  */
57  void setUserData(ConnectPromptInfo &ConnectPrompt);
58 
59  void printGroupList(ConnectPromptInfo &ConnectPrompt);
60 
61  std::wstring convertMultiByteToWide(const std::string &sInputData);
62 
63  protected:
64 
65  void StatsCB(VPNStats &stats);
66 
67  void StateCB(const VPNState state,
68  const VPNSubState subState,
69  const tstring stateString);
70 
71  void BannerCB(const tstring &banner);
72 
73  void PreConnectReminderCB(const tstring &rtstrPreConnectReminder);
74 
75  void NoticeCB(const tstring &notice,
76  const MessageType type,
77  const bool bSensitive = false);
78 
79  void ExitNoticeCB(const tstring &notice,
80  const int returnCode);
81 
82  void ServiceReadyCB();
83 
84  void UserPromptCB(ConnectPromptInfo &ConnectPrompt);
85 
86  void CertBlockedCB(const tstring &rtstrUntrustedServer);
87  void CertWarningCB(const tstring &rtstrUntrustedServer,
88  const std::list<tstring> &rltstrCertErrors,
89  bool bAllowImport);
90 
91 
92  private:
93 
94  RequestType me_RequestType;
95 
96  tstring ms_user,
97  ms_pswd,
98  ms_group;
99 
100  VPNStats mo_VPNStats;
101 
102 };
103 
104 
105 #endif // _CLICLIENTIMPL_
CLIClientImpl::UserPromptCB
void UserPromptCB(ConnectPromptInfo &ConnectPrompt)
Definition: CLIClientImpl.cpp:240
CLIClientImpl::StatsCB
void StatsCB(VPNStats &stats)
Definition: CLIClientImpl.cpp:395
CLIClientImpl::StateCB
void StateCB(const VPNState state, const VPNSubState subState, const tstring stateString)
Definition: CLIClientImpl.cpp:34
CLIClientImpl::ExitNoticeCB
void ExitNoticeCB(const tstring &notice, const int returnCode)
Definition: CLIClientImpl.cpp:98
CLIClientImpl::CertBlockedCB
void CertBlockedCB(const tstring &rtstrUntrustedServer)
Definition: CLIClientImpl.cpp:401
MessageType
MessageType
Definition: api.h:105
CLIClientImpl::ServiceReadyCB
void ServiceReadyCB()
Definition: CLIClientImpl.cpp:237
VPNState
VPNState
Definition: api.h:136
CLIClientImpl::getStats
void getStats()
Definition: CLIClientImpl.cpp:167
ClientIfc
Definition: ClientIfc.h:43
CLIClientImpl::NoticeCB
void NoticeCB(const tstring &notice, const MessageType type, const bool bSensitive=false)
Definition: CLIClientImpl.cpp:68
VPNSubState
VPNSubState
Definition: api.h:160
CLIClientImpl::BannerCB
void BannerCB(const tstring &banner)
Definition: CLIClientImpl.cpp:47
tstring
#define tstring
Definition: api.h:35
CLIClientImpl::PreConnectReminderCB
void PreConnectReminderCB(const tstring &rtstrPreConnectReminder)
Definition: CLIClientImpl.cpp:54
CLIClientImpl::setUserData
void setUserData(ConnectPromptInfo &ConnectPrompt)
Definition: CLIClientImpl.cpp:267
ConnectPromptInfo
Definition: ConnectPromptInfo.h:38
CLIClientImpl::disconnect
void disconnect()
Definition: CLIClientImpl.cpp:148
VPNStats
Definition: VPNStats.h:36
CLIClientImpl
Definition: CLIClientImpl.h:25
CLIClientImpl::CertWarningCB
void CertWarningCB(const tstring &rtstrUntrustedServer, const std::list< tstring > &rltstrCertErrors, bool bAllowImport)
Definition: CLIClientImpl.cpp:407