INT32 CJksjcx::Execute()
{
	Return_Info retInfo;
	INT32 retcode = 0;
	INT8 tmpbuf[64];

	XmlParse(m_pXmlParse);
	CheckYWXmlPara(retInfo.m_retMsg);

	g_globalArgLib->m_invKind->m_fplxdm = m_ywxml_gy.m_fplxdm;
	retcode = CJSKManageProc::JKSJCX_Proc(g_globalArgLib->m_invKind, retInfo.m_retMsg);
	if(retcode != JSK_SUCCESS)
	{
		memset(tmpbuf, 0, sizeof(tmpbuf));
		sprintf(tmpbuf, "%d", retcode);
		retInfo.m_retCode = tmpbuf;
	}

	DBG_PRINT(("m_maxSign = %lld", g_globalArgLib->m_invKind->m_maxSign));
	DBG_PRINT(("m_Lxkjsj = %u", g_globalArgLib->m_invKind->m_Lxkjsj));
	DBG_PRINT(("m_Lxssr = %u", g_globalArgLib->m_invKind->m_Lxssr));
	DBG_PRINT(("m_maxSum = %lld", g_globalArgLib->m_invKind->m_maxSum));
	DBG_PRINT(("m_bsqsrq = %s", g_globalArgLib->m_invKind->m_bsqsrq.c_str()));
	DBG_PRINT(("m_bszzrq = %s", g_globalArgLib->m_invKind->m_bszzrq.c_str()));

	XmlBuild(m_pXmlConstruct, g_globalArgLib->m_invKind, &retInfo);

	return SUCCESS;
}
INT32 CTjxxcx::Execute()
{
	Return_Info retInfo;	//	返回信息类对象
	CTjxxhz tjxxhz[TJXXCX_MONTHMAX];		//统计信息汇总类
	INT32 retcode = 0;
	INT8 tmpbuf[64];
	INT32 MonthCount = TJXXCX_MONTHMAX;//支持的最大查询月数

	XmlParse(m_pXmlParse, tjxxhz);	//调用XML解析函数
	CheckYWXmlPara(retInfo.m_retMsg);

	DBG_PRINT(("YWXML_TJXXCX: fplxdm = %s", m_ywxml_gy.m_fplxdm.c_str()));
	retcode = CJSKInvManageProc::TJXXCX_Proc(m_ywxml_gy.m_fplxdm, MonthCount, tjxxhz, retInfo.m_retMsg);
	if(retcode != JSK_SUCCESS)
	{
		memset(tmpbuf, 0, sizeof(tmpbuf));
		sprintf(tmpbuf, "%d", retcode);
		retInfo.m_retCode = tmpbuf;
		MonthCount = 0;
	}

	XmlBuild(m_pXmlConstruct, &retInfo, tjxxhz, MonthCount);	//调用XML组装函数

	return SUCCESS;
}
INT32 CBspfpcx::Execute()
{
	CInvVol invVol[MAX_INV_VOL_NUM];	//发票领用信息表
	string lgry("");	//领购人员
	Return_Info retInfo;//返回信息
	INT32 retcode = 0;
	INT8 tmpbuf[64];
	UINT32 invNum = BSPFPCX_INVNUM;

	XmlParse(m_pXmlParse);	//调用XML解析函数
	CheckYWXmlPara(retInfo.m_retMsg);

	retcode = CJSKInvManageProc::BSPFPCX_Proc(m_ywxml_gy.m_fplxdm, invNum, invVol, retInfo.m_retMsg);
	if(retcode != JSK_SUCCESS)
	{
		memset(tmpbuf, 0, sizeof(tmpbuf));
		sprintf(tmpbuf, "%d", retcode);
		retInfo.m_retCode = tmpbuf;
		invNum = 0;
	}
	
	XmlBuild(m_pXmlConstruct, invNum, invVol, lgry, &retInfo);	//调用XML组装函数

	return SUCCESS;
}
INT32 CFpzf::Execute()
{
	Return_Info retInfo;
	INT32 retcode = 0;
	INT8 tmpbuf[64];
	CInvHead invHead;
	UINT8 zflx = 0;
	
	XmlParse(m_pXmlParse, &invHead, zflx);
	CheckYWXmlPara(retInfo.m_retMsg);

	invHead.m_jqbh = m_ywxml_gy.m_jqbh;
	invHead.m_xfsh = m_ywxml_gy.m_nsrsbh;
	invHead.m_sksbbh = m_ywxml_gy.m_sksbbh;

	retcode = CJSKMakeInvoice::FPZF_Proc(&invHead, zflx, retInfo.m_retMsg);
	if(retcode != JSK_SUCCESS)
	{
		memset(tmpbuf, 0, sizeof(tmpbuf));
		sprintf(tmpbuf, "%d", retcode);
		retInfo.m_retCode = tmpbuf;
	}
	
	XmlBuild(m_pXmlConstruct, &invHead, &retInfo);
	
	return SUCCESS;
}
Exemple #5
0
void Xmller:: createwithxmlfile(std::string xmlfile){

    copyFileToPath(xmlfile);    //拷贝xml文件到沙盒
    XmlParse(xmlfile);          //解析xml文件
    

}
Long
CBLScriptParser::
Parse(
    PVoid          pScript,
    SizeT          ScriptSize,
    SBLScriptBase *pScriptInfo,
    SizeT          BufferSize
)
{
    Long      Result;
    SXmlInfo  XmlInfo;
    SXmlNode *pNode;

    if (pScript == NULL || pScriptInfo == NULL)
        return BL_ERROR_INVALID_PARAMETER;

    pScriptInfo->ScriptType = BL_SCRIPT_TYPE_UNKNOWN;

    if (!XmlParse(pScript, &XmlInfo))
        return BL_ERROR_INVALID_FORMAT;

    pNode = XmlInfo.pNode;
    if (pNode == NULL)
        return BL_ERROR_INVALID_FORMAT;

    if (!StrCompare(pNode->pszNodeName, BL_SCRIPT_CONFIG_ROOT_TAG))
    {
        Result = ParseScriptConfig(&XmlInfo, (SBLScriptConfig *)pScriptInfo, BufferSize);
    }
    else if (!StrCompare(pNode->pszNodeName, BL_SCRIPT_LIST_ROOT_TAG))
    {
        Result = ParseScriptGameList(&XmlInfo, (SBLScriptGameList *)pScriptInfo, BufferSize);
    }
    else if (!StrCompare(pNode->pszNodeName, BL_SCRIPT_PLUGIN_ROOT_TAG))
    {
        Result = ParseScriptPlugin(&XmlInfo, (SBLScriptPlugin *)pScriptInfo, BufferSize);
    }
    else
    {
        Result = BL_ERROR_INVALID_FORMAT;
    }

    XmlDestroy(&XmlInfo);
    if (BL_FAILED(Result))
        FreeScriptInfo(pScriptInfo);

    return Result;
}
INT32 CYWXmlBase::ParseProc()
{
	DBG_PRINT(("ParseProc Begin"));
	m_pXmlParse.XMLParseBegin(KJ_XML_RESPONSE_FILE);
	m_ywlx = m_pXmlParse.m_RootElement->Attribute(XML_BUSINESS_ID);
	DBG_PRINT(("m_ywlx = %s", m_ywlx.c_str()));

	INT32 retcode = 0;
	retcode = XmlParse();
	if(retcode != XML_SUCCESS)
	{
		return retcode;
	}

	m_pXmlParse.XMLParseEnd();

	return XML_SUCCESS;
}
INT32 CGpxxxp::Execute()
{
	Return_Info retInfo;
	INT32 retcode = 0;
	INT8 tmpbuf[64];
	string gpxxmw;
	
	XmlParse(m_pXmlParse, gpxxmw);
	CheckYWXmlPara(retInfo.m_retMsg);
	
	retcode = CJSKInvManageProc::GPXXXP_Proc(m_ywxml_gy.m_fplxdm, gpxxmw, retInfo.m_retMsg);
	if(retcode != JSK_SUCCESS)
	{
		memset(tmpbuf, 0, sizeof(tmpbuf));
		sprintf(tmpbuf, "%d", retcode);
		retInfo.m_retCode = tmpbuf;
	}
	
	XmlBuild(m_pXmlConstruct, &retInfo);
	return SUCCESS;
}
INT32 CFpdr::Execute()
{
	UINT8 jzlx=0;		//介质类型
	Return_Info retInfo;//返回信息
	INT32 retcode = 0;
	INT8 tmpbuf[64];
	
	XmlParse(m_pXmlParse, jzlx);	//调用XML解析函数
	CheckYWXmlPara(retInfo.m_retMsg);
	
	retcode = CJSKInvManageProc::FPDR_Proc(jzlx, m_ywxml_gy.m_fplxdm, retInfo.m_retMsg);
	if(retcode != JSK_SUCCESS)
	{
		memset(tmpbuf, 0, sizeof(tmpbuf));
		sprintf(tmpbuf, "%d", retcode);
		retInfo.m_retCode = tmpbuf;
	}
	
	XmlBuild(m_pXmlConstruct, &retInfo);	//调用XML组装函数
	
	return SUCCESS;
}
INT32 CGpxxcx::Execute()
{
	Return_Info retInfo;
	INT32 retcode = 0;
	INT8 tmpbuf[64];
	CInvVol invVol;
	
	XmlParse(m_pXmlParse);
	CheckYWXmlPara(retInfo.m_retMsg);
	
	retcode = CJSKMakeInvoice::GPXXCX_Proc(&invVol, retInfo.m_retMsg);
	if(retcode != JSK_SUCCESS)
	{
		memset(tmpbuf, 0, sizeof(tmpbuf));
		sprintf(tmpbuf, "%d", retcode);
		retInfo.m_retCode = tmpbuf;
	}
	
	XmlBuild(m_pXmlConstruct, &invVol, &retInfo);
	
	return SUCCESS;
}
INT32 CFpkj::Execute()
{
	Return_Info retInfo;
	INT32 retcode = 0;
	INT8 tmpbuf[64];
	CInvHead invHead;

	XmlParse(m_pXmlParse, &invHead);
	CheckYWXmlPara(retInfo.m_retMsg);

	retcode = CJSKMakeInvoice::FPKJ_Proc(&invHead, retInfo.m_retMsg);
	DBG_PRINT(("retcode = %d", retcode));
	if(retcode != JSK_SUCCESS)
	{
		memset(tmpbuf, 0, sizeof(tmpbuf));
		sprintf(tmpbuf, "%d", retcode);
		retInfo.m_retCode = tmpbuf;
	}
	
	XmlBuild(m_pXmlConstruct, &invHead, &retInfo);
	
	return SUCCESS;
}
INT32 CSkpBsp::Execute()
{
	Return_Info retInfo;
	INT32 retcode = 0;
	INT8 tmpbuf[64];
	UINT8 czlx = 0;
	string strHzxx("");
	string strQtxx("");

	XmlParse(m_pXmlParse, czlx, strHzxx, strQtxx);
	CheckYWXmlPara(retInfo.m_retMsg);

	retcode = CJSKDeclareProc::SKPBSP_Proc(m_ywxml_gy.m_fplxdm, czlx, strQtxx,retInfo.m_retMsg);
	if(retcode != JSK_SUCCESS)
	{
		memset(tmpbuf, 0, sizeof(tmpbuf));
		sprintf(tmpbuf, "%d", retcode);
		retInfo.m_retCode = tmpbuf;
	}
	
	XmlBuild(m_pXmlConstruct, &retInfo);

	return SUCCESS;
}
int CMp4DownloadClient::HeaderRequest(const char* url, 
									  CString& mainfilename,
									  ProgressCallBack hotvr_processcb, 
									  ProgressCallBack cdn_processcb, 
									  ProgressCallBack header_processcb,
									  void* customparam)
{
	if (url == NULL || m_sequence_ptr == NULL || m_info_ptr == NULL || m_cdnInfolist_ptr == NULL)
		return -1;

	m_customparam = customparam;

	bool bresult = false;

	if(!hotvrs_string_ptr)
		hotvrs_string_ptr = new string[1];

	printf("hotvrs request...\n");

	NPT_LOG_FATAL("hotvrs request...\n");

	CMultiRequest hotvrs_client(Response_Whole_DataType);
	//使用手动重置为无信号状态,初始化时无信号状态
	bresult = hotvrs_client.AddRequest(url, 0, HotVrsResponseCallBackFunc, hotvr_processcb, NULL, this);
	if (!bresult)
		return -1;

	CURLcode resultcode = hotvrs_client.Perform();
	if (resultcode > CURLE_OK)
		return -1;

	bresult = JsonParse(hotvrs_string_ptr[0].c_str(), hotvrs_string_ptr[0].size(), *m_info_ptr);
	if (!bresult)
		return -1;

	switch (m_info_ptr->version)
	{
	case VER_ORIGINAL:
		mainfilename = m_info_ptr->name + L"[原画版]";
		break;
	case VER_SUPER:
		mainfilename = m_info_ptr->name + L"[超清版]";
		break;
	case VER_HIGH:
		mainfilename = m_info_ptr->name + L"[高清版]";
		break;
	case VER_NORMAL:
		mainfilename = m_info_ptr->name + L"[普清版]";
		break;
	default:
		mainfilename = m_info_ptr->name;
		break;
	}

	mainfilename += ".mp4";

	size_t section_count = m_info_ptr->sections.size();

	printf("%d section cdn request...\n", section_count);

	NPT_LOG_FATAL_1("%d section cdn request...\n", section_count);

	if (!cdn_string_ptr)
		cdn_string_ptr = new string[section_count];

	CMultiRequest cdn_client(Response_Whole_DataType);
	/* Allocate one CURL handle per transfer */
	for (size_t i=0; i < section_count; i++)
	{
		//请求调度
		wostringstream stream;
		stream<<L"http://"<<(LPCTSTR)m_info_ptr->allot<<L"/p2p?file="<<(LPCTSTR)m_info_ptr->sections[i].url<<L"&new="<<(LPCTSTR)m_info_ptr->sections[i].newAddress;
		stream<<L"&num="<<1<<L"&idc="<<m_info_ptr->tn<<L"&key="<<(LPCTSTR)m_info_ptr->sections[i].key;

		wstring wstream = stream.str();

		{
			//wprintf(L"[CDN %d]%s\n", i, wstream.c_str());
		}

		USES_CONVERSION;

		bresult = cdn_client.AddRequest(W2A(wstream.c_str()), 0, CdnResponseCallBackFunc, cdn_processcb, NULL, this);
		if (!bresult)
			return -1;
	}

	resultcode = cdn_client.Perform();
	if (resultcode > CURLE_OK)
		return -1;

	printf("%d section header request...\n", section_count);

	NPT_LOG_FATAL_1("%d section header request...\n", section_count);

	if (!header_string_ptr)
		header_string_ptr = new string[section_count];

	CMultiRequest header_client(Response_Whole_DataType);
	for (size_t idx = 0; idx < section_count; idx++)
	{
		SHCDNInfo cdninfo;
		memset(&cdninfo, 0, sizeof(SHCDNInfo));
		XmlParse(cdn_string_ptr[idx].c_str(), cdn_string_ptr[idx].size(), cdninfo);
		m_cdnInfolist_ptr->push_back(cdninfo);

		wostringstream cdnstream;
		cdnstream<<L"http://"<<(LPCTSTR)cdninfo.ip.c_str()<<(LPCTSTR)cdninfo.url.c_str()<<"?key="<<(LPCTSTR)cdninfo.key.c_str()<<"plat=ifox"<<
			"&ch="<<(LPCTSTR)m_info_ptr->ch<<"&catcode="<<(LPCTSTR)m_info_ptr->catcode<<"&start="<<0<<"&startpos="<<0<<"&headeronly";

		wstring wstream = cdnstream.str();

		{
			//wprintf(L"[Header %d]%s\n", idx, wstream.c_str());
		}

		USES_CONVERSION;
		bresult = header_client.AddRequest(W2A(wstream.c_str()), 0, HeaderResponseCallBackFunc, header_processcb, NULL, this);
		if (!bresult)
			return -1;
	}

	resultcode = header_client.Perform();
	if (resultcode > CURLE_OK)
		return -1;

	SequenceInfo sequenceinfo;
	sequenceinfo.nSectionCount = section_count;
	sequenceinfo.pSectioninfo = new SectionInfo[section_count];

	for (unsigned int i = 0; i < section_count; i++)
	{
		sequenceinfo.pSectioninfo[i].pSectionInfoBuffer = (_pbyte_t)malloc(header_string_ptr[i].size());
		memcpy(sequenceinfo.pSectioninfo[i].pSectionInfoBuffer, header_string_ptr[i].c_str(), header_string_ptr[i].size());
		sequenceinfo.pSectioninfo[i].ui32SectionInfoBufferSize = header_string_ptr[i].size();
	}

	m_sequence_ptr->Fill(&sequenceinfo);

	for (unsigned int i = 0; i < section_count; i++)
	{
		if (sequenceinfo.pSectioninfo[i].pSectionInfoBuffer)
		{
			free(sequenceinfo.pSectioninfo[i].pSectionInfoBuffer);
			sequenceinfo.pSectioninfo[i].pSectionInfoBuffer = NULL;
		}

		sequenceinfo.pSectioninfo[i].ui32SectionInfoBufferSize = 0;
	}

	if (sequenceinfo.pSectioninfo)
	{
		delete [] sequenceinfo.pSectioninfo;
		sequenceinfo.pSectioninfo = NULL;
	}

	sequenceinfo.nSectionCount = 0;

	if (hotvrs_string_ptr)
	{
		delete [] hotvrs_string_ptr;
		hotvrs_string_ptr = NULL;
	}

	if (cdn_string_ptr)
	{
		delete [] cdn_string_ptr;
		cdn_string_ptr = NULL;
	}

	if (header_string_ptr)
	{
		delete [] header_string_ptr;
		header_string_ptr = NULL;
	}

	return 0;
}