1234567891011121314151617181920212223242526272829303132 |
- #pragma once
- #include <map>
- #include <string>
- #include <vector>
- #include "CcosLock.h"
- #include "LogicClient.h"
- #include <tuple>
- using namespace std;
- using ccos_bus_client = std::tuple<unsigned int, unsigned int, string>;
- class ClientManager : public CcosLock
- {
- map<UINT64, LogicClient*> m_ClientMap;
- map<ccos_bus_client, LogicClient*> m_ClientOpenMap;
- public:
- ClientManager();
- virtual ~ClientManager();
- bool RegistClient(UINT64 Addr);
- bool RegistClient(unsigned int proc, unsigned int addr, const char* pszKey, LogicClient* client);
- bool UnRegistClient(UINT64 Addr);
- bool UnRegistClient(unsigned int proc, unsigned int addr);
- bool FindClient(UINT64 Addr);
- LogicClient* GetClient(unsigned int proc, unsigned int addr, const char* pszKey);
- void UnRegistAll();
- };
- extern ClientManager g_ClientManager;
|