DaemonAPI.cpp
上传用户:surprise9
上传日期:2007-01-04
资源大小:426k
文件大小:2k
源码类别:

Ftp客户端

开发平台:

Visual C++

  1. // This is part of the WAR SOFTWARE SERIES initiated by Jarle Aase
  2. // Copyright 1996 by Jarle Aase. All rights reserved.
  3. // See the "War Software Series License Agreement" for details concerning 
  4. // use and distribution.
  5. // ---
  6. // This source code, executables and programs containing source code or
  7. // binaries or proprietetary technology from the War Software Series are
  8. // NOT alloed used, viewed or tested by any governmental agencies in
  9. // any countries. This includes the government, departments, police, 
  10. // military etc.
  11. // ---
  12. // This file is intended for use with Tab space = 2
  13. // Created and maintained in MSVC Developer Studio
  14. // ---
  15. // NAME : DaemonAPI.cpp
  16. // PURPOSE : Daemon extention dll base class
  17. // PROGRAM : 
  18. // DATE : Febr 16 1997
  19. // AUTHOR : Jarle Aase
  20. // ---
  21. // REVISION HISTORY
  22. // 
  23. #include "stdafx.h"
  24. #include "WarDaemon.h"
  25. #ifdef _DEBUG
  26. #define new DEBUG_NEW
  27. #undef THIS_FILE
  28. static char THIS_FILE[] = __FILE__;
  29. #endif
  30. int CDaemonAPI::m_ModuleCnt = 1000; // Start on 1000
  31. CDaemonAPI::CDaemonAPI()
  32. {
  33. m_ModuleNum = 0;
  34. CAPIHandler::m_pCurrentLoadingModule = this;
  35. }
  36. CDaemonAPI::~CDaemonAPI()
  37. {
  38. ASSERT(CAPIHandler::GetPtr() != NULL);
  39. if (CAPIHandler::GetPtr())
  40. CAPIHandler::GetPtr()->Unload(this);
  41. }
  42. void CDaemonAPI::InitializeCOptions()
  43. {
  44. ;
  45. }
  46. int CDaemonAPI::ApiInitInstance(int Event, WPARAM wParam, LPARAM lParam)
  47. {
  48. return 0;
  49. }
  50. int CDaemonAPI::ApiExitInstance(int Event, WPARAM wParam, LPARAM lParam)
  51. {
  52. if (m_ModuleNum)
  53. SaveAll();
  54. return 0;
  55. }
  56. // Create and register the service
  57. // Return 0 on success
  58. int CDaemonAPI::Register(LPCSTR Name)
  59. {
  60. ASSERT(AfxIsValidString(Name));
  61. if (FindOptionGroup(Name))
  62. return WDAPIE_NAME_EXIST;
  63. // Initialize global variables
  64. m_pLog = CDaemonBase::GetSvr()->m_Log;
  65. m_pBase = CDaemonBase::GetSvr();
  66. InitializeCOptions();
  67. CAPIHandler::m_CurrentLoadingModuleNum = m_ModuleCnt;
  68. Create(NULL, NULL, Name, m_ModuleNum = m_ModuleCnt++);
  69. LoadAll();
  70. return 0;
  71. }
  72. CDaemonAPI *CDaemonAPI::GetPtr()
  73. {
  74. ASSERT(FALSE); // Must be overloaded
  75. return NULL;
  76. }
  77. CDllInfo *CDaemonAPI::GetDLLInfo()
  78. {
  79. CLinkedListItem *Item;
  80. ASSERT(CAPIHandler::GetPtr() != NULL);
  81. CLinkedList *pList = &CAPIHandler::GetPtr()->m_Plugins;
  82. for(Item = pList->First(); Item; Item = pList->Next(Item))
  83. {
  84. CDllInfo *pDLL = (CDllInfo *)pList->Ptr(Item);
  85. if (pDLL->m_pAPI == this)
  86. return pDLL;
  87. }
  88. return NULL;
  89. }