TestDeamon_client_g.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #ifndef __TESTDEAMON_CLIENT_G_H
  2. #define __TESTDEAMON_CLIENT_G_H
  3. #pragma once
  4. // This code is generated by spgen tool!
  5. #include "TestDeamon_def_g.h"
  6. namespace TestDeamon {
  7. class validityVertifierSrv_ClientBase : public CClientSessionBase {
  8. public:
  9. explicit validityVertifierSrv_ClientBase(CEntityBase *pEntity) : m_pEntityBase(pEntity), m_bSysManaged(false) {}
  10. validityVertifierSrv_ClientBase* operator () (const linkContext &curLink)
  11. {
  12. m_context = curLink;
  13. return this;
  14. }
  15. protected:
  16. virtual ~validityVertifierSrv_ClientBase()
  17. {
  18. /// override by user
  19. }
  20. public:
  21. void OnConnectSucceed()
  22. {
  23. bSessionClosed = false;
  24. }
  25. void OnClose(ErrorCodeEnum)
  26. {
  27. Dbg("session closed.");
  28. bSessionClosed = true;
  29. }
  30. bool QuerySessionClosed()
  31. {
  32. return bSessionClosed;
  33. }
  34. ErrorCodeEnum Connect(CSmartPointer<IAsynWaitSp> &spAsyncWait)
  35. {
  36. CSmartPointer<IEntityFunction> pFunc = m_pEntityBase->GetFunction();
  37. ErrorCodeEnum Error = pFunc->ConnectRemoteEntity(this, "TestDeamon", "validityVertifierSrv", spAsyncWait);
  38. if (Error == Error_Succeed) {
  39. m_bSysManaged = true;
  40. bSessionClosed = false;
  41. }
  42. return Error;
  43. }
  44. ErrorCodeEnum Connect()
  45. {
  46. CSmartPointer<IAsynWaitSp> spAsyncWait;
  47. ErrorCodeEnum Error = Connect(spAsyncWait);
  48. if (Error == Error_Succeed) {
  49. Error = spAsyncWait->WaitAnswer();
  50. }
  51. return Error;
  52. }
  53. bool SafeDelete()
  54. {
  55. if (!m_bSysManaged) {
  56. delete this;
  57. }
  58. return m_bSysManaged;
  59. }
  60. protected:
  61. bool m_bSysManaged;
  62. CEntityBase *m_pEntityBase;
  63. linkContext m_context;
  64. bool bSessionClosed;
  65. };
  66. ///////////////////////////
  67. } // namespace TestDeamon
  68. #endif // __TESTDEAMON_CLIENT_G_H