本文整理汇总了C++中HttpRequest::GetDaemonSession方法的典型用法代码示例。如果您正苦于以下问题:C++ HttpRequest::GetDaemonSession方法的具体用法?C++ HttpRequest::GetDaemonSession怎么用?C++ HttpRequest::GetDaemonSession使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HttpRequest
的用法示例。
在下文中一共展示了HttpRequest::GetDaemonSession方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: PListGetValue
/*
* LASIpv6Getter
* This is the Attribute Getter function for IPv6 Addresses.
* LAS_EVAL_FAIL on failure of LAS_EVAL_TRUE on success.
*/
int
LASIpv6Getter(NSErr_t *errp, PList_t subject, PList_t resource, PList_t
auth_info, PList_t global_auth, void *arg)
{
Request *rq = 0;
int rv = PListGetValue(resource, ACL_ATTR_REQUEST_INDEX,
(void **)&rq, NULL);
if (rv < 0) {
ereport(LOG_VERBOSE, "Unable to get request object", rv);
return LAS_EVAL_FAIL;
}
HttpRequest *hrq = GetHrq(rq);
DaemonSession &dsn = hrq->GetDaemonSession();
PRNetAddr *ip = dsn.GetRemoteAddress();
rv = PListInitProp(subject, ACL_ATTR_IP_INDEX, ACL_ATTR_IP,
(void *)ip, NULL);
if (rv < 0) {
ereport(LOG_SECURITY, XP_GetAdminStr(DBT_aclFrameLASIpGetter2), rv);
return LAS_EVAL_FAIL;
}
return LAS_EVAL_TRUE;
}
示例2: return
static inline SessionThreadData *find_thread_data(Session *sn)
{
NSAPISession *nsn = (NSAPISession *)sn;
if (nsn && nsn->thread_data)
return nsn->thread_data;
HttpRequest *hrq = HttpRequest::CurrentRequest();
if (hrq) {
DaemonSession &dsn = hrq->GetDaemonSession();
if (nsn)
nsn->thread_data = &dsn.thread_data;
return &dsn.thread_data;
}
// We're being called from a non-DaemonSession thread
void *data = PR_GetThreadPrivate(_session_thread_key);
if (!data) {
data = PERM_CALLOC(sizeof(SessionThreadData));
PR_SetThreadPrivate(_session_thread_key, data);
}
return (SessionThreadData *)data;
}