1
0
mirror of https://github.com/haiwen/ccnet-server.git synced 2025-04-28 18:43:21 +00:00
ccnet-server/net/common/perm-mgr.h
2016-08-19 13:54:34 +08:00

49 lines
1.3 KiB
C

/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
#ifndef SEAF_PERM_MGR_H
#define SEAF_PERM_MGR_H
#include <glib.h>
enum {
PERM_CHECK_ERROR = -1,
PERM_CHECK_OK = 0,
PERM_CHECK_DELAY = 1,
PERM_CHECK_NOSERVICE = 2,
};
typedef struct _CcnetPermManager CcnetPermManager;
typedef struct _CcnetPermManagerPriv CcnetPermManagerPriv;
struct _CcnetPermManager {
CcnetSession *session;
CcnetPermManagerPriv *priv;
};
CcnetPermManager*
ccnet_perm_manager_new (CcnetSession *session);
int
ccnet_perm_manager_prepare (CcnetPermManager *mgr);
int
ccnet_perm_manager_check_permission (CcnetPermManager *mgr,
CcnetPeer *peer,
const char *req,
int req_id,
int argc, char **argv);
int
ccnet_perm_manager_check_role_permission(CcnetPermManager *mgr,
const char *role,
const char *group);
int
ccnet_perm_manager_register_service (CcnetPermManager *mgr,
const char *svc_name,
const char *group,
CcnetPeer *peer);
#endif