Beispiel #1
0
namespace Gd { namespace App {

class RandomImpl : public Random {
public:
    virtual uint32_t generate(uint32_t max) { return cpe_rand_dft(max); }
};

Random & Random::instance(Application & app, cpe_hash_string_t name) {
    Random * r =
        dynamic_cast<Random *>(
            &app.nmManager().object(name));
    if (r == NULL) {
        APP_CTX_THROW_EXCEPTION(app, ::std::runtime_error, "Random cast fail!");
    }

    return *r;
}

static cpe_hash_string_buf s_Event_DEFAULT_NAME_buf = CPE_HS_BUF_MAKE("AppRandom");
cpe_hash_string_t Random::DEFAULT_NAME = (cpe_hash_string_t)s_Event_DEFAULT_NAME_buf;

}}
Beispiel #2
0
#include <assert.h>
#include "cpe/pal/pal_external.h"
#include "cpe/cfg/cfg_read.h"
#include "cpe/nm/nm_manage.h"
#include "cpe/nm/nm_read.h"
#include "gd/app/app_context.h"
#include "gd/app/app_module.h"
#include "weibo/data/weibo_manage.h"
#include "weibo_internal_ops.h"

static void weibo_manage_clear(nm_node_t node);

static cpe_hash_string_buf s_weibo_manage_default_name = CPE_HS_BUF_MAKE("weibo_manage");

struct nm_node_type s_nm_node_type_weibo_manage = {
    "weibo_manage",
    weibo_manage_clear
};

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);