static void DumpData(FILE *trace, const char *name, char *data, u32 dataLength, u32 indent, Bool XMTDump) { u32 i; Bool ASCII_Dump; if (!name && !data) return; if (name) StartAttribute(trace, name, indent, XMTDump); if (!XMTDump) fprintf(trace, "\""); ASCII_Dump = GF_TRUE; for (i=0; i<dataLength; i++) { if ((data[i]<32) || (data[i]>126)) { ASCII_Dump = GF_FALSE; break; } } if (!ASCII_Dump && XMTDump) fprintf(trace, "data:application/octet-string,"); for (i=0; i<dataLength; i++) { if (ASCII_Dump) { fprintf(trace, "%c", (unsigned char) data[i]); } else { fprintf(trace, "%%"); fprintf(trace, "%02X", (unsigned char) data[i]); } } if (!XMTDump) fprintf(trace, "\""); if (name) EndAttribute(trace, indent, XMTDump); }
GF_Err gf_ipmpx_dump_RemoveToolNotificationListener(GF_IPMPX_Data *_p, FILE *trace, u32 indent, Bool XMTDump) { u32 i; GF_IPMPX_RemoveToolNotificationListener*p = (GF_IPMPX_RemoveToolNotificationListener*)_p; StartElement(trace, "IPMP_RemoveToolNotificationListener", indent, XMTDump); indent++; StartAttribute(trace, "eventType", indent, XMTDump); if (!XMTDump) fprintf(trace, "\""); for (i=0; i<p->eventTypeCount; i++) { if (XMTDump) { fprintf(trace, "\'%d\'", p->eventType[i]); if (i+1<p->eventTypeCount) fprintf(trace, " "); } else { fprintf(trace, "%d", p->eventType[i]); if (i+1<p->eventTypeCount) fprintf(trace, ","); } } if (!XMTDump) fprintf(trace, "\""); EndAttribute(trace, indent, XMTDump); EndAttributes(trace, XMTDump, GF_TRUE); gf_ipmpx_dump_BaseData(_p, trace, indent, XMTDump); indent--; EndElement(trace, "IPMP_RemoveToolNotificationListener", indent, XMTDump); return GF_OK; }
static void DumpLargeInt(FILE *trace, char *attName, u64 val, u32 indent, Bool XMTDump) { if (!val) return; StartAttribute(trace, attName, indent, XMTDump); fprintf(trace, LLU, val); EndAttribute(trace, indent, XMTDump); }
static void DumpBool(FILE *trace, char *attName, u32 val, u32 indent, Bool XMTDump) { if (!val) return; StartAttribute(trace, attName, indent, XMTDump); fprintf(trace, "%s", val ? "true" : "false"); EndAttribute(trace, indent, XMTDump); }
static void DumpDate(FILE *trace, char *name, char *data, u32 indent, Bool XMTDump) { u32 i; if (!name ||!data) return; StartAttribute(trace, name, indent, XMTDump); fprintf(trace, "0x"); for (i=0; i<5; i++) fprintf(trace, "%02X", (unsigned char) data[i]); EndAttribute(trace, indent, XMTDump); }
static void DumpBin128(FILE *trace, char *name, char *data, u32 indent, Bool XMTDump) { u32 i; if (!name ||!data) return; StartAttribute(trace, name, indent, XMTDump); fprintf(trace, "0x"); i=0; while (!data[i] && (i<16)) i++; if (i==16) { fprintf(trace, "00"); } else { for (; i<16; i++) fprintf(trace, "%02X", (unsigned char) data[i]); } EndAttribute(trace, indent, XMTDump); }
static void DumpData_16(FILE *trace, char *name, u16 *data, u16 dataLength, u32 indent, Bool XMTDump) { u32 i; if (!name && !data) return; if (name) StartAttribute(trace, name, indent, XMTDump); if (!XMTDump) fprintf(trace, "\""); for (i=0; i<dataLength; i++) { if (XMTDump) { fprintf(trace, "\'%d\'", data[i]); if (i+1<dataLength) fprintf(trace, " "); } else { fprintf(trace, "%d", data[i]); if (i+1<dataLength) fprintf(trace, ", "); } } if (!XMTDump) fprintf(trace, "\""); if (name) EndAttribute(trace, indent, XMTDump); }
GF_Err gf_ipmpx_dump_ConnectTool(GF_IPMPX_Data *_p, FILE *trace, u32 indent, Bool XMTDump) { GF_IPMPX_ConnectTool*p = (GF_IPMPX_ConnectTool*)_p; StartElement(trace, "IPMP_ConnectTool", indent, XMTDump); indent++; EndAttributes(trace, XMTDump, GF_TRUE); gf_ipmpx_dump_BaseData(_p, trace, indent, XMTDump); if (!XMTDump) StartAttribute(trace, "toolDescriptor", indent, GF_FALSE); else { StartElement(trace, "toolDescriptor", indent, XMTDump); EndAttributes(trace, XMTDump, GF_TRUE); } gf_odf_dump_desc((GF_Descriptor *)p->toolDescriptor, trace, indent, XMTDump); if (XMTDump) EndElement(trace, "toolDescriptor", indent, XMTDump); indent--; EndElement(trace, "IPMP_ConnectTool", indent, XMTDump); return GF_OK; }
GF_Err gf_ipmpx_dump_ToolParamCapabilitiesQuery(GF_IPMPX_Data *_p, FILE *trace, u32 indent, Bool XMTDump) { GF_IPMPX_ToolParamCapabilitiesQuery*p = (GF_IPMPX_ToolParamCapabilitiesQuery*)_p; StartElement(trace, "IPMP_ToolParamCapabilitiesQuery", indent, XMTDump); indent++; EndAttributes(trace, XMTDump, GF_TRUE); gf_ipmpx_dump_BaseData(_p, trace, indent, XMTDump); if (!XMTDump) StartAttribute(trace, "description", indent, GF_FALSE); else { StartElement(trace, "description", indent, XMTDump); EndAttributes(trace, XMTDump, GF_TRUE); } gf_ipmpx_dump_data((GF_IPMPX_Data *) p->description, trace, indent, XMTDump); if (XMTDump) EndElement(trace, "description", indent, XMTDump); indent--; EndElement(trace, "IPMP_ToolParamCapabilitiesQuery", indent, XMTDump); return GF_OK; }
GF_Err gf_ipmpx_dump_MutualAuthentication(GF_IPMPX_Data *_p, FILE *trace, u32 indent, Bool XMTDump) { u32 i, count; GF_IPMPX_MutualAuthentication *p = (GF_IPMPX_MutualAuthentication*)_p; StartElement(trace, "IPMP_MutualAuthentication", indent, XMTDump); indent++; DumpBool(trace, "failedNegotiation", p->failedNegotiation, indent, XMTDump); if (gf_list_count(p->certificates)) DumpInt(trace, "certType", p->certType, indent, XMTDump); EndAttributes(trace, XMTDump, GF_TRUE); gf_ipmpx_dump_BaseData(_p, trace, indent, XMTDump); StartList(trace, "candidateAlgorithms", indent, XMTDump); count = gf_list_count(p->candidateAlgorithms); indent++; for (i=0; i<count; i++) { GF_IPMPX_Authentication *ip_auth = (GF_IPMPX_Authentication *)gf_list_get(p->candidateAlgorithms, i); gf_ipmpx_dump_AUTH(ip_auth, trace, indent, XMTDump); } indent--; EndList(trace, "candidateAlgorithms", indent, XMTDump); StartList(trace, "agreedAlgorithms", indent, XMTDump); count = gf_list_count(p->agreedAlgorithms); indent++; for (i=0; i<count; i++) { GF_IPMPX_Authentication *ip_auth = (GF_IPMPX_Authentication *)gf_list_get(p->agreedAlgorithms, i); gf_ipmpx_dump_AUTH(ip_auth, trace, indent, XMTDump); } indent--; EndList(trace, "agreedAlgorithms", indent, XMTDump); if (p->AuthenticationData) gf_ipmpx_dump_ByteArray(p->AuthenticationData, "AuthenticationData", trace, indent, XMTDump); count = gf_list_count(p->certificates); if (count || p->opaque || p->publicKey) { /*type 1*/ if (count) { StartList(trace, "certificates", indent, XMTDump); for (i=0; i<count; i++) { GF_IPMPX_ByteArray *ipd = (GF_IPMPX_ByteArray *)gf_list_get(p->certificates, i); if (XMTDump) { gf_ipmpx_dump_ByteArray(ipd, NULL, trace, indent, XMTDump); } else { StartAttribute(trace, "", indent, GF_FALSE); DumpData(trace, NULL, ipd->data, ipd->length, indent, GF_FALSE); if (i+1<count) fprintf(trace, ","); fprintf(trace, "\n"); } } EndList(trace, "certificates", indent, XMTDump); } /*type 2*/ else if (p->publicKey) { gf_ipmpx_dump_AUTH((GF_IPMPX_Authentication *) p->publicKey, trace, indent, XMTDump); } /*type 0xFE*/ else if (p->opaque) { gf_ipmpx_dump_ByteArray(p->opaque, "opaque", trace, indent, XMTDump); } if (!XMTDump) StartAttribute(trace, "trustData", indent, GF_FALSE); else { StartElement(trace, "trustData", indent, XMTDump); EndAttributes(trace, XMTDump, GF_TRUE); } gf_ipmpx_dump_data((GF_IPMPX_Data *)p->trustData, trace, indent, XMTDump); if (XMTDump) EndElement(trace, "trustData", indent, XMTDump); gf_ipmpx_dump_ByteArray(p->authCodes, "authCodes", trace, indent, XMTDump); } indent--; EndElement(trace, "IPMP_MutualAuthentication", indent, XMTDump); return GF_OK; }
void SkinManager::ExtractSkinInfo(skinitem* Skin) { if (Skin->isCompressed) { // Check to see if Data Path exists string datapath = SETTINGS::getInstance().getDataPath() + "Skins\\"; HRESULT hr; if (!FileExists(datapath)){ DebugMsg("SkinManager", "Creating %s folder", datapath.c_str()); _mkdir(datapath.c_str()); } // Check to see if xmlpath exists "skins\\default.xzp\\" if (!FileExists(Skin->xmlpath)){ DebugMsg("SkinManager", "Creating %s folder", Skin->xmlpath.c_str()); _mkdir(Skin->xmlpath.c_str()); } // Check to see if Settings folder exists string tempcfg = Skin->xmlpath + "Settings\\"; if(!FileExists(tempcfg)){ DebugMsg("SkinManager", "Creating %s folder", tempcfg.c_str()); _mkdir(tempcfg.c_str()); } // Check to see if Menu Settings Exists, if not, extract it string strbuff = Skin->xmlpath + "Settings\\MenuSettings.xml"; if (!FileExists(Skin->xmlpath + "Settings\\MenuSettings.xml")) { DebugMsg("SkinManager", "File %s doesn't exist. Extracting", strbuff.c_str()); hr = XZPManager::getInstance().ExtractXML(Skin->SkinPath, Skin->SkinFileName, "Settings\\MenuSettings.xml"); if (hr == S_OK) { DebugMsg("SkinManager", "Extracted %s Successfully", strbuff.c_str()); } else { DebugMsg("SkinManager", "Failed to extract %s", strbuff.c_str()); } } // Check to see if SkinSettings Exists, if not, extract it strbuff = Skin->xmlpath + "Settings\\SkinSettings.xml"; if (!FileExists(Skin->xmlpath + "Settings\\SkinSettings.xml")) { DebugMsg("SkinManager", "File %s doesn't exist. Extracting", strbuff.c_str()); hr = XZPManager::getInstance().ExtractXML(Skin->SkinPath, Skin->SkinFileName, "Settings\\SkinSettings.xml"); if (hr == S_OK) { DebugMsg("SkinManager", "Extracted %s Successfully", strbuff.c_str()); } else { DebugMsg("SkinManager", "Failed to extract %s", strbuff.c_str()); } } // Check to verify that XML Folder Exists string tempxml = Skin->xmlpath + "XML\\"; if (!FileExists(tempxml)) { DebugMsg("SkinManager", "Creating %s folder", tempxml.c_str()); _mkdir(tempxml.c_str()); } // Look for BkgListA and extract that strbuff = Skin->xmlpath + "XML\\BkgListA.xml"; if (!FileExists(Skin->xmlpath + "XML\\BkgListA.xml")){ DebugMsg("SkinManager", "File %s doesn't exist. Extracting", strbuff.c_str()); hr = XZPManager::getInstance().ExtractXML(Skin->SkinPath, Skin->SkinFileName, "XML\\BkgListA.xml"); if (hr == S_OK) { DebugMsg("SkinManager", "Extracted %s Successfully", strbuff.c_str()); } else { DebugMsg("SkinManager", "Failed to extract %s", strbuff.c_str()); } } // Look for BkgListB and extract that strbuff = Skin->xmlpath + "XML\\BkgListB.xml"; if (!FileExists(Skin->xmlpath + "XML\\BkgListB.xml")){ DebugMsg("SkinManager", "File %s doesn't exist. Extracting", strbuff.c_str()); hr = XZPManager::getInstance().ExtractXML(Skin->SkinPath, Skin->SkinFileName, "XML\\BkgListB.xml"); if (hr == S_OK) { DebugMsg("SkinManager", "Extracted %s Successfully", strbuff.c_str()); } else { DebugMsg("SkinManager", "Failed to extract %s", strbuff.c_str()); } } // Look for VisualList and extract that strbuff = Skin->xmlpath + "XML\\VisualList.xml"; if (!FileExists(Skin->xmlpath + "XML\\VisualList.xml")){ DebugMsg("SkinManager", "File %s doesn't exist. Extracting", strbuff.c_str()); hr = XZPManager::getInstance().ExtractXML(Skin->SkinPath, Skin->SkinFileName, "XML\\VisualList.xml"); if (hr == S_OK) { DebugMsg("SkinManager", "Extracted %s Successfully", strbuff.c_str()); } else { DebugMsg("SkinManager", "Failed to extract %s", strbuff.c_str()); } } XMLReader * xml = LoadConfigFile(strbuff); // Extract the visual files as well DebugMsg("SkinManager","Extracting Visual XML files"); while (xml && xml->read()) { if(StartAttribute(xml, "visual")) { DebugMsg("SkinManager", "Reading VisualList.xml"); strbuff = xml->getAttributeValue("path"); DebugMsg("SkinManager", "Path: %s", strbuff.c_str()); tempxml = Skin->xmlpath + strbuff; DebugMsg("SkinManager", "TempPath: %s", tempxml.c_str()); if (!FileExists(tempxml)){ DebugMsg("SkinManager", "File %s doesn't exist. Extracting", strbuff.c_str()); hr = XZPManager::getInstance().ExtractXML(Skin->SkinPath, Skin->SkinFileName, strbuff); if (hr == S_OK) { DebugMsg("SkinManager", "Extracted %s Successfully", strbuff.c_str()); } else { DebugMsg("SkinManager", "Failed to extract %s", strbuff.c_str()); } } } } } }