KDataManage.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:1k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #ifndef KDATAMANAGER_H
  2. #define KDATAMANAGER_H
  3. #include "SynDataSets.h"
  4. #include "Kengine.h"
  5. #include "KThread.h"
  6. #include "KNode.h"
  7. #include "KList.h"
  8. class TSynData:public KNode
  9. {
  10. public:
  11. long Id;
  12. long index;
  13. };
  14. #define MAXNUM 100
  15. //客户端 调用,锁定、反锁;取值、赋值
  16. class KDataManage  
  17. {
  18. public:
  19. KDataManage();
  20. virtual ~KDataManage();
  21. SynDataSets_ptr m_pCorbaDataSets;
  22. KList m_LockList;
  23. KThread *m_pLockThread;
  24. long Lock(CORBA::Long MapId, CORBA::Long StyleId, long id);
  25. long UnLock(CORBA::Long MapId, CORBA::Long StyleId, long id, long index);
  26. CORBA::Any* GetData(CORBA::Long MapId, CORBA::Long StyleId, long id);
  27. long SetData(CORBA::Long MapId, CORBA::Long StyleId,long id, const CORBA::Any& data) ;
  28. //获得数据,并锁住数据
  29. CORBA::Any* GetDataWithLock(CORBA::Long MapId, CORBA::Long StyleId,long id) ;
  30. CORBA::Long SetDataWithLock(CORBA::Long MapId, CORBA::Long StyleId,CORBA::Long id, const CORBA::Any& data) ;
  31. CORBA::Any* GetDataWithOnce(CORBA::Long MapId, CORBA::Long StyleId,CORBA::Long id);
  32. CORBA::Long SetDataWithOnce(CORBA::Long MapId, CORBA::Long StyleId,CORBA::Long id, const CORBA::Any& data) ;
  33. char m_ServerObjName[30];
  34. void GetReqInfo(){};
  35. };
  36. #endif // KDATAMANAGER_H