Beispiel #1
0
void with_app::t_app_install_random(Cpe::Utils::Random & random, const char * name) {
    if (name == 0) {
        name = cpe_hs_data(Random::DEFAULT_NAME);
    }

    new (gd_app_nm_mgr(t_app()), name) RandomAdapter(random);
}
Beispiel #2
0
weibo_manage_t
weibo_manage_find(
    gd_app_context_t app,
    cpe_hash_string_t name)
{
    nm_node_t node;
    if (name == NULL) name = (cpe_hash_string_t)&s_weibo_manage_default_name;

    node = nm_mgr_find_node(gd_app_nm_mgr(app), name);
    if (node == NULL || nm_node_type(node) != &s_nm_node_type_weibo_manage) return NULL;
    return (weibo_manage_t)nm_node_data(node);
}
Beispiel #3
0
weibo_manage_t
weibo_manage_find_nc(
    gd_app_context_t app,
    const char * name)
{
    nm_node_t node;

    if (name == NULL) return weibo_manage_default(app);

    node = nm_mgr_find_node_nc(gd_app_nm_mgr(app), name);
    if (node == NULL || nm_node_type(node) != &s_nm_node_type_weibo_manage) return NULL;
    return (weibo_manage_t)nm_node_data(node);
}
Beispiel #4
0
weibo_manage_t
weibo_manage_create(
    gd_app_context_t app,
    const char * name,
    mem_allocrator_t alloc,
    error_monitor_t em)
{
    weibo_manage_t mgr;
    nm_node_t mgr_node;

    if (name == 0) name = cpe_hs_data((cpe_hash_string_t)&s_weibo_manage_default_name);

    mgr_node = nm_instance_create(gd_app_nm_mgr(app), name, sizeof(struct weibo_manage));
    if (mgr_node == NULL) return NULL;

    mgr = (weibo_manage_t)nm_node_data(mgr_node);
    mgr->m_alloc = alloc;
    mgr->m_app = app;
    mgr->m_em = em;
    mgr->m_debug = 0;

    mgr->m_pages_count = 0;
    mgr->m_pages_capacity = 0;
    mgr->m_pages_by_id = NULL;
    mgr->m_pages_by_time = NULL;

    TAILQ_INIT(&mgr->m_runing_it_list);
    mgr->m_msg_id_page_free_list = NULL;

    mgr->m_persistent = NULL;
    mgr->m_persistent_ctx = NULL;

    nm_node_set_type(mgr_node, &s_nm_node_type_weibo_manage);

    return mgr;
}