示例#1
0
void XMLCALL xml_startdoctypedeclhandler(void *userdata,
					 const XML_Char *doctypeName,
					 const XML_Char *sysid,
					 const XML_Char *pubid,
					 int has_internal_subset) {
  parser_t *parser = (parser_t *)userdata;
  if( parser && parser->callbacks.start_doctypedecl ) {
    exec_result( parser->callbacks.start_doctypedecl(parser->user, doctypeName, sysid, pubid, has_internal_subset), parser );
  }
}
示例#2
0
void XMLCALL xml_entitydeclhandler(void *userdata, 
				   const XML_Char *entityName, 
				   int is_parameter_entity, 
				   const XML_Char *value, 
				   int value_length, 
				   const XML_Char *base, 
				   const XML_Char *systemId,
				   const XML_Char *publicId, 
				   const XML_Char *notationName) {
  parser_t *parser = (parser_t *)userdata;
  if( parser && parser->callbacks.entitydecl ) {
    exec_result( parser->callbacks.entitydecl(parser->user, entityName, is_parameter_entity, value, value_length, base, systemId, publicId, notationName), parser );
  }
}
示例#3
0
IReader* SNetCacheAPIImpl::GetPartReader(const string& blob_id,
    size_t offset, size_t part_size,
    size_t* blob_size_ptr, CNetCacheAPI::ECachingMode caching_mode)
{
    CNetCacheKey key(blob_id);

    string stripped_blob_id(key.StripKeyExtensions());

    string cmd(offset == 0 && part_size == 0 ?
        "GET2 " + stripped_blob_id :
        "GETPART " + stripped_blob_id + ' ' +
            NStr::UInt8ToString((Uint8) offset) + ' ' +
            NStr::UInt8ToString((Uint8) part_size));

    AppendClientIPSessionIDPassword(&cmd);

    CNetServer::SExecResult exec_result(ExecMirrorAware(key, cmd));

    return new CNetCacheReader(this, blob_id,
        exec_result, blob_size_ptr, caching_mode);
}
示例#4
0
void XMLCALL xml_startelementhandler(void *userdata, const XML_Char *name, const XML_Char **atts) {
  parser_t *parser = (parser_t *)userdata;
  if( parser && parser->callbacks.start_tag ) {
    exec_result( parser->callbacks.start_tag(parser->user, name, atts), parser );
  }
}
示例#5
0
void XMLCALL xml_defaulthandler(void *userdata, const XML_Char *s, int len) {
  parser_t *parser = (parser_t *)userdata;
  if( parser && parser->callbacks.dfault ) {
    exec_result( parser->callbacks.dfault(parser->user, s, (size_t)len), parser );
  }
}
示例#6
0
void XMLCALL xml_enddoctypedeclhandler(void *userdata) {
  parser_t *parser = (parser_t *)userdata;
  if( parser && parser->callbacks.end_doctypedecl ) {
    exec_result( parser->callbacks.end_doctypedecl(parser->user), parser );
  }
}
示例#7
0
void XMLCALL xml_endcdatahandler(void *userdata) {
  parser_t *parser = (parser_t *)userdata;
  if( parser && parser->callbacks.end_cdata ) {
    exec_result( parser->callbacks.end_cdata(parser->user), parser );
  }
}
示例#8
0
void XMLCALL xml_commenthandler(void *userdata, const XML_Char *data) {
  parser_t *parser = (parser_t *)userdata;
  if( parser && parser->callbacks.comment ) {
    exec_result( parser->callbacks.comment(parser->user, data), parser );
  }
}
示例#9
0
void XMLCALL xml_processinginstructionhandler(void *userdata, const XML_Char *target, const XML_Char *data) {
  parser_t *parser = (parser_t *)userdata;
  if( parser && parser->callbacks.pidata ) {
    exec_result( parser->callbacks.pidata(parser->user, target, data), parser );
  }
}
示例#10
0
void XMLCALL xml_endelementhandler(void *userdata, const XML_Char *name) {
  parser_t *parser = (parser_t *)userdata;
  if( parser && parser->callbacks.end_tag ) {
    exec_result( parser->callbacks.end_tag(parser->user, name), parser );
  }
}