lichao
2021-04-26 5bb28835d06e27dbd960916c9fb11a555fc5a9bc
src/defs.cpp
@@ -16,15 +16,47 @@
 * =====================================================================================
 */
#include "defs.h"
#include "msg.h"
#include "shm_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; }
bhome_shm::SharedMemory &BHomeShm()
{
   static bhome_shm::SharedMemory shm("bhome_default_shm_v0", 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 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_;
}