| | |
| | | * ===================================================================================== |
| | | */ |
| | | #include "defs.h" |
| | | #include "msg.h" |
| | | #include "shm_msg_queue.h" |
| | | |
| | | namespace |
| | | { |
| | | |
| | | const MQId kBHTopicBus = boost::uuids::string_generator()("01234567-89ab-cdef-8349-1234567890ff"); |
| | | const MQId kBHTopicReqRepCenter = boost::uuids::string_generator()("12345670-89ab-cdef-8349-1234567890ff"); |
| | | const MQId kBHUniCenter = boost::uuids::string_generator()("87654321-89ab-cdef-8349-1234567890ff"); |
| | | struct LastError { |
| | | int ec_ = 0; |
| | | std::string msg_; |
| | | }; |
| | | |
| | | LastError &LastErrorStore() |
| | | { |
| | | thread_local LastError le; |
| | | return le; |
| | | } |
| | | |
| | | } // namespace |
| | | |
| | | const MQId &BHTopicBus() { return kBHTopicBus; } |
| | | const MQId &BHTopicReqRepCenter() { return kBHTopicReqRepCenter; } |
| | | const MQId &BHUniCenter() { return kBHUniCenter; } |
| | | std::string BHomeShmName() |
| | | { |
| | | return "bhome_default_shm_v0"; |
| | | } |
| | | bhome_shm::SharedMemory &BHomeShm() |
| | | { |
| | | static bhome_shm::SharedMemory shm(BHomeShmName(), 1024 * 1024 * 512); |
| | | return shm; |
| | | } |
| | | |
| | | bool GlobalInit(bhome_shm::SharedMemory &shm) |
| | | { |
| | | MsgI::BindShm(shm); |
| | | typedef std::atomic<MQId> IdSrc; |
| | | IdSrc *psrc = shm.FindOrCreate<IdSrc>("shmqIdSrc0", 100000); |
| | | return psrc && ShmMsgQueue::SetData(*psrc); |
| | | } |
| | | |
| | | void SetLastError(const int ec, const std::string &msg) |
| | | { |
| | | LastErrorStore().ec_ = ec; |
| | | LastErrorStore().msg_ = msg; |
| | | } |
| | | |
| | | void GetLastError(int &ec, std::string &msg) |
| | | { |
| | | ec = LastErrorStore().ec_; |
| | | msg = LastErrorStore().msg_; |
| | | } |