Exemplo n.º 1
0
static gboolean
duplicate_org_group_name (CcnetGroupManager *mgr,
                          int org_id,
                          const char *group_name)
{
    GList *org_groups = NULL, *ptr;
    CcnetOrgManager *org_mgr = ((CcnetServerSession *)(mgr->session))->org_mgr;

    org_groups = ccnet_org_manager_get_org_groups (org_mgr, org_id, -1, -1);
    if (!org_groups)
        return FALSE;

    for (ptr = org_groups; ptr; ptr = ptr->next) {
        int group_id = (int)(long)ptr->data;
        CcnetGroup *group = ccnet_group_manager_get_group (mgr, group_id,
                            NULL);
        if (!group)
            continue;

        if (g_strcmp0 (group_name, ccnet_group_get_group_name(group)) == 0) {
            g_list_free (org_groups);
            g_object_unref (group);
            return TRUE;
        } else {
            g_object_unref (group);
        }
    }

    g_list_free (org_groups);
    return FALSE;
}
Exemplo n.º 2
0
GObject *
ccnet_rpc_get_group (int group_id, GError **error)
{
    CcnetGroupManager *group_mgr = 
        ((CcnetServerSession *)session)->group_mgr;
    CcnetGroup *group = NULL;

    group = ccnet_group_manager_get_group (group_mgr, group_id, error);
    if (!group) {
        return NULL;
    }

    /* g_object_ref (group); */
    return (GObject *)group;
}
Exemplo n.º 3
0
static GList *
convert_group_list (CcnetGroupManager *mgr, GList *group_ids)
{
    GList *ret = NULL, *ptr;

    for (ptr = group_ids; ptr; ptr = ptr->next) {
        int group_id = (int)(long)ptr->data;
        CcnetGroup *group = ccnet_group_manager_get_group (mgr, group_id,
                                                           NULL);
        if (group != NULL) {
            ret = g_list_prepend (ret, group);
        }
    }
    
    return g_list_reverse (ret);
}
Exemplo n.º 4
0
static gboolean
need_send_bloom (CcnetProcessor *processor, CcnetMessage *msg)
{
    CcnetGroupManager *group_mgr = processor->session->groupMgr;
    CcnetGroup *group;

    /* just pass through relayed message */
    if (g_strcmp0 (processor->session->base.id, msg->from) != 0)
        return TRUE;

    group = ccnet_group_manager_get_group (group_mgr,
                                           msg->to);
    if (!group)
        return FALSE;
    if (!ccnet_group_is_a_maintainer (group, processor->peer->id))
        return FALSE;

    return TRUE;
}