#define FREE_AND_CLEAR_STR_IF(xyz)
void asset_destroy(GeneralMessage *item)
#define FREE_AND_COPY_IF(sv, nv)
virtual void added(GeneralMessage *asset) override
virtual void replace(GeneralMessage *existing, GeneralMessage *update) override
GeneralMessage * random()
sstring add_string(const char *str)
GeneralMessage * asset_create(const std::string &name)
std::unordered_map< std::string, GeneralMessage * > m_assets