本文整理汇总了C++中soap_lookup_plugin函数的典型用法代码示例。如果您正苦于以下问题:C++ soap_lookup_plugin函数的具体用法?C++ soap_lookup_plugin怎么用?C++ soap_lookup_plugin使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了soap_lookup_plugin函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: http_da_prepareinit
static int http_da_prepareinit(struct soap *soap)
{
struct http_da_data *data = (struct http_da_data*)soap_lookup_plugin(soap, http_da_id);
if (!data)
return SOAP_PLUGIN_ERROR;
if ((soap->mode & SOAP_IO) != SOAP_IO_STORE && (soap->mode & (SOAP_ENC_DIME | SOAP_ENC_MIME)))
{ /* TODO: handle attachments automatically, does not work yet */
soap->mode &= ~SOAP_IO;
soap->mode |= SOAP_IO_STORE;
}
else
{
if (soap->fpreparerecv == http_da_preparerecv)
soap->fpreparerecv = data->fpreparerecv;
if (soap->fdisconnect == http_da_disconnect)
soap->fdisconnect = data->fdisconnect;
if (soap->userid && soap->passwd)
{
md5_handler(soap, &data->context, MD5_INIT, NULL, 0);
if (soap->fpreparesend != http_da_preparesend)
{
data->fpreparesend = soap->fpreparesend;
soap->fpreparesend = http_da_preparesend;
}
}
if (data->fprepareinit)
return data->fprepareinit(soap);
}
return SOAP_OK;
}
示例2: http_da_parse
static int http_da_parse(struct soap *soap)
{
struct http_da_data *data = (struct http_da_data*)soap_lookup_plugin(soap, http_da_id);
if (!data)
return SOAP_PLUGIN_ERROR;
data->qop = NULL;
/* HTTP GET w/o body with qop=auth-int still requires a digest */
md5_handler(soap, &data->context, MD5_INIT, NULL, 0);
md5_handler(soap, &data->context, MD5_FINAL, data->digest, 0);
if ((soap->error = data->fparse(soap)))
return soap->error;
if (data->qop && !soap_tag_cmp(data->qop, "auth-int"))
{
if (soap->fpreparerecv != http_da_preparerecv)
{
data->fpreparerecv = soap->fpreparerecv;
soap->fpreparerecv = http_da_preparerecv;
}
if (soap->fpreparefinalrecv != http_da_preparefinalrecv)
{
data->fpreparefinalrecv = soap->fpreparefinalrecv;
soap->fpreparefinalrecv = http_da_preparefinalrecv;
}
md5_handler(soap, &data->context, MD5_INIT, NULL, 0);
}
return SOAP_OK;
}
示例3: soap_wsa_fault_subcode_action
SOAP_FMAC5 int SOAP_FMAC6 soap_wsa_fault_subcode_action(struct soap *soap,
int flag, const char *faultsubcode, const char *faultstring,
const char *faultdetail, const char *action) {
struct soap_wsa_data *data = (struct soap_wsa_data*) soap_lookup_plugin(
soap, soap_wsa_id);
struct SOAP_ENV__Header *oldheader, *newheader;
DBGFUN2("soap_wsa_fault_subcode", "faultsubcode=%s",
faultsubcode ? faultsubcode : "(null)", "faultstring=%s",
faultstring ? faultstring : "(null)");
if (!data)
return soap->error = SOAP_PLUGIN_ERROR;
oldheader = soap->header;
/* no FaultTo: use ReplyTo */
if (oldheader && oldheader->SOAP_WSA(ReplyTo)
&& (!oldheader->SOAP_WSA(FaultTo)
|| soap_tagsearch(soap_wsa_allAnonymousURI,
oldheader->SOAP_WSA(FaultTo)->Address))) {
if (!oldheader->SOAP_WSA(FaultTo)) {
oldheader->SOAP_WSA(FaultTo) = (SOAP_WSA_(,FaultTo)*) my_soap_malloc(
soap, sizeof(SOAP_WSA_(,FaultTo)));
SOAP_WSA_(soap_default,EndpointReferenceType)(soap,
soap->header->SOAP_WSA(FaultTo));
}
oldheader->SOAP_WSA(FaultTo)->Address =
oldheader->SOAP_WSA(ReplyTo)->Address;
}
示例4: http_md5_delete
static void http_md5_delete(struct soap *soap, struct soap_plugin *p)
{ struct http_md5_data *data = (struct http_md5_data*)soap_lookup_plugin(soap, http_md5_id);
if (data)
{ md5_handler(soap, &data->context, MD5_DELETE, NULL, 0);
SOAP_FREE(soap, data);
}
}
示例5: http_da_parse
static int http_da_parse(struct soap *soap)
{
struct http_da_data *data = (struct http_da_data*)soap_lookup_plugin(soap, http_da_id);
if (!data)
return SOAP_PLUGIN_ERROR;
data->qop = NULL;
/* HTTP GET w/o body with qop=auth-int still requires a digest */
if (soap_smd_init(soap, &data->smd_data, SOAP_SMD_DGST_MD5, NULL, 0)
|| soap_smd_final(soap, &data->smd_data, data->digest, NULL))
return soap->error;
if ((soap->error = data->fparse(soap)))
return soap->error;
if (data->qop && !soap_tag_cmp(data->qop, "auth-int"))
{
if (soap->fpreparerecv != http_da_preparerecv)
{
data->fpreparerecv = soap->fpreparerecv;
soap->fpreparerecv = http_da_preparerecv;
}
if (soap->fpreparefinalrecv != http_da_preparefinalrecv)
{
data->fpreparefinalrecv = soap->fpreparefinalrecv;
soap->fpreparefinalrecv = http_da_preparefinalrecv;
}
if (soap_smd_init(soap, &data->smd_data, SOAP_SMD_DGST_MD5, NULL, 0))
return soap->error;
}
return SOAP_OK;
}
示例6: http_connect
static int http_connect(struct soap *soap, const char *endpoint, const char *host, int port, const char *path, const char *action, size_t count)
{ struct http_get_data *data = (struct http_get_data*)soap_lookup_plugin(soap, http_get_id);
if (!data)
return SOAP_PLUGIN_ERROR;
soap->status = SOAP_GET;
soap->fpost = data->fpost;
return soap->fpost(soap, endpoint, host, port, path, action, count);
}
示例7:
int32 LoginRESTService::ContentTypePlugin::OnSetHeader(soap* s, char const* key, char const* value)
{
ContentTypePlugin* self = reinterpret_cast<ContentTypePlugin*>(soap_lookup_plugin(s, PluginId));
if (key && !strcmp("Content-Type", key))
value = self->ContentType;
return self->fposthdr(s, key, value);
}
示例8: logging_send
static int logging_send(struct soap *soap, const char *buf, size_t len)
{ struct logging_data *data = (struct logging_data*)soap_lookup_plugin(soap, logging_id);
/* update should be in mutex, but we don't mind some inaccuracy in the count */
data->stat_sent += len;
if (data->outbound)
fwrite(buf, len, 1, data->outbound);
return data->fsend(soap, buf, len); /* pass data on to old send callback */
}
示例9: logging_recv
static size_t logging_recv(struct soap *soap, char *buf, size_t len)
{ struct logging_data *data = (struct logging_data*)soap_lookup_plugin(soap, logging_id);
size_t res = data->frecv(soap, buf, len); /* get data from old recv callback */
data->stat_recv += res;
/* update should be in mutex, but we don't mind some inaccuracy in the count */
if (data->inbound)
fwrite(buf, res, 1, data->inbound);
return res;
}
示例10: soap_get_connect
int soap_get_connect(struct soap *soap, const char *endpoint, const char *action)
{ struct http_get_data *data = (struct http_get_data*)soap_lookup_plugin(soap, http_get_id);
if (!data)
return soap->error = SOAP_PLUGIN_ERROR;
soap_begin(soap);
data->fpost = soap->fpost;
soap->fpost = http_connect;
return soap_connect(soap, endpoint, action);
}
示例11: http_fdel
static int http_fdel(struct soap *soap)
{ struct http_post_data *data = (struct http_post_data*)soap_lookup_plugin(soap, http_post_id);
if (!data)
return SOAP_PLUGIN_ERROR;
soap->fform = http_lookup_handler(soap, "DELETE", data);
if (soap->fform)
return SOAP_STOP;
return 405;
}
示例12: soap_get_logging_stats
/* get logging sent and recv octet counts */
void soap_get_logging_stats(struct soap *soap, size_t *sent, size_t *recv)
{
struct logging_data *data = (struct logging_data*)soap_lookup_plugin(soap, logging_id);
if (data)
{
*sent = data->stat_sent;
*recv = data->stat_recv;
}
}
示例13: http_md5_preparerecv
static int http_md5_preparerecv(struct soap *soap, const char *buf, size_t len)
{ struct http_md5_data *data = (struct http_md5_data*)soap_lookup_plugin(soap, http_md5_id);
if (!data)
return SOAP_PLUGIN_ERROR;
md5_handler(soap, &data->context, MD5_UPDATE, (char*)buf, len);
if (data->fpreparerecv)
return data->fpreparerecv(soap, buf, len);
return SOAP_OK;
}
示例14: http_fput
static int http_fput(struct soap *soap)
{ struct http_post_data *data = (struct http_post_data*)soap_lookup_plugin(soap, http_post_id);
if (!data)
return SOAP_PLUGIN_ERROR;
soap->fform = http_lookup_handler(soap, "PUT", data);
if (soap->fform)
return SOAP_FORM;
return 405;
}
示例15: grisu_soap_logging
void grisu_soap_logging(gboolean state)
{
struct logging_data *logdata;
/* retrieve data struct */
logdata = (struct logging_data *) soap_lookup_plugin(&soap, logging_id);
if (!logdata)
{
if (soap_register_plugin(&soap, logging))
soap_print_fault(&soap, stderr);
else
{
/* register plugin if not loaded */
printf("Loaded gsoap logging plugin...\n");
logdata = (struct logging_data *) soap_lookup_plugin(&soap, logging_id);
}
}
/* set logging state */
if (logdata)
{
if (state)
{
/* TODO - open and write something to indicate logging on/off switches? */
/* then append rather than overwrite (for clarity) */
// logdata->inbound = stdout;
// logdata->outbound = stdout;
// logdata->inbound = fopen("/home/sean/prog/gdis/RECV.log", "at");
// logdata->outbound = fopen("/home/sean/prog/gdis/SENT.log", "at");
logdata->outbound = fopen(GSOAP_LOGGING_SENT, "wt");
logdata->inbound = fopen(GSOAP_LOGGING_RECV, "wt");
}
else
{
logdata->inbound = NULL;
logdata->outbound = NULL;
}
// process messages
// size_t bytes_in = logdata->stat_recv;
// size_t bytes_out = logdata->stat_sent;
}
else
printf("Gsoap logging plugin not found.\n");
}