\r
#ifdef wxUSE_XML\r
#include <wx/xml/xml.h>\r
-#define CheckSupportedCommand(attr, value) if (node->HasProp(wxT(attr)) || node->HasProp(wxT(attr) wxT("-alt"))) llResult |= value\r
+#define CheckSupportedCommand(attr, value) if (xmlLibrary->HasProp(wxT(attr)) || xmlLibrary->HasProp(wxT(attr) wxT("-alt"))) _fiInfo->llSupportedCommand |= value\r
#define CheckSupportedSwitch(var, value) value = szCmdLine.Find(wxT(var)) != wxNOT_FOUND\r
\r
-inline wxULongLong_t SupportedCommand(wxXmlNode * node)\r
+inline short GetNumValue(wxXmlNode * node, wxString szValue)\r
{\r
- wxULongLong_t llResult = 0;\r
+ long l;\r
+ node->GetPropVal(szValue, wxT("0")).ToLong(& l);\r
+ return (short) l;\r
+}\r
+\r
+inline void MakeFormatInfo(wxString szTPIName, TPI_FORMATINFO * _fiInfo, wxXmlNode * xmlLibrary, wxULongLong llId)\r
+{\r
+ _fiInfo->szTypeName = xmlLibrary->GetPropVal(wxT("typename"),wxEmptyString);\r
+ _fiInfo->szSuffix = xmlLibrary->GetPropVal(wxT("suffix"), wxEmptyString);\r
+ _fiInfo->szEngineName = xmlLibrary->GetPropVal(wxT("name"), wxEmptyString);\r
+ _fiInfo->szTPIName = szTPIName;\r
+ _fiInfo->llTypeId = llId;\r
+\r
+ // \91Î\89\9e\83R\83}\83\93\83h\82ð\92²\8d¸\81B\r
CheckSupportedCommand("add", TPI_COMMAND_ADD);\r
CheckSupportedCommand("extract",TPI_COMMAND_EXTRACT);\r
CheckSupportedCommand("delete", TPI_COMMAND_DELETE);\r
CheckSupportedCommand("move", TPI_COMMAND_MOVE);\r
CheckSupportedCommand("sfx", TPI_COMMAND_SFX);\r
CheckSupportedCommand("unsfx", TPI_COMMAND_UNSFX);\r
- return llResult;\r
-}\r
\r
-inline short GetNumValue(wxXmlNode * node, wxString szValue)\r
-{\r
- long l;\r
- node->GetPropVal(szValue, wxT("0")).ToLong(& l);\r
- return (short) l;\r
-}\r
-\r
-inline void SupportedSwitch(wxXmlNode * node, TPI_FORMATINFO * fiInfo)\r
-{\r
+ // \91Î\89\9e\83X\83C\83b\83`\82ð\92²\8d¸\81B\r
wxString szCmdLine =\r
- node->HasProp(wxT("add")) ? node->GetPropVal(wxT("add"), wxEmptyString) :\r
- node->HasProp(wxT("add-alt")) ? node->GetPropVal(wxT("add-alt"), wxEmptyString) :\r
- node->HasProp(wxT("extract")) ? node->GetPropVal(wxT("extract"), wxEmptyString) :\r
- node->HasProp(wxT("extract-alt")) ? node->GetPropVal(wxT("extract-alt"), wxEmptyString) :\r
+ xmlLibrary->HasProp(wxT("add")) ? xmlLibrary->GetPropVal(wxT("add"), wxEmptyString) :\r
+ xmlLibrary->HasProp(wxT("add-alt")) ? xmlLibrary->GetPropVal(wxT("add-alt"), wxEmptyString) :\r
+ xmlLibrary->HasProp(wxT("extract")) ? xmlLibrary->GetPropVal(wxT("extract"), wxEmptyString) :\r
+ xmlLibrary->HasProp(wxT("extract-alt")) ? xmlLibrary->GetPropVal(wxT("extract-alt"), wxEmptyString) :\r
(wxString) wxEmptyString;\r
- CheckSupportedSwitch("96", fiInfo->fComment);\r
- CheckSupportedSwitch("a1", fiInfo->fSFX);\r
- CheckSupportedSwitch("a2", fiInfo->fSolid);\r
- CheckSupportedSwitch("a3", fiInfo->fMMOptimize);\r
- CheckSupportedSwitch("a4", fiInfo->fEncryptHeader);\r
- CheckSupportedSwitch("a5", fiInfo->fEncryptPassword);\r
- CheckSupportedSwitch("a6", fiInfo->fEncryptKeyFile);\r
- CheckSupportedSwitch("a7", fiInfo->fMultiVolume);\r
+ CheckSupportedSwitch("96", _fiInfo->fComment);\r
+ CheckSupportedSwitch("a1", _fiInfo->fSFX);\r
+ CheckSupportedSwitch("a2", _fiInfo->fSolid);\r
+ CheckSupportedSwitch("a3", _fiInfo->fMMOptimize);\r
+ CheckSupportedSwitch("a4", _fiInfo->fEncryptHeader);\r
+ CheckSupportedSwitch("a5", _fiInfo->fEncryptPassword);\r
+ CheckSupportedSwitch("a6", _fiInfo->fEncryptKeyFile);\r
+ CheckSupportedSwitch("a7", _fiInfo->fMultiVolume);\r
\r
- fiInfo->sCompressLevelMin = GetNumValue(node, wxT("level-min"));\r
- fiInfo->sCompressLevelMax = GetNumValue(node, wxT("level-max"));\r
- fiInfo->sRecoveryRecordMin = GetNumValue(node, wxT("rr-min"));\r
- fiInfo->sRecoveryRecordMax = GetNumValue(node, wxT("rr-max"));\r
- return;\r
+ _fiInfo->sCompressLevelMin = GetNumValue(xmlLibrary, wxT("level-min"));\r
+ _fiInfo->sCompressLevelMax = GetNumValue(xmlLibrary, wxT("level-max"));\r
+ _fiInfo->sRecoveryRecordMin = GetNumValue(xmlLibrary, wxT("rr-min"));\r
+ _fiInfo->sRecoveryRecordMax = GetNumValue(xmlLibrary, wxT("rr-max"));\r
}\r
\r
#endif\r
return TPI_ERROR_UNDEFINED;\r
}\r
\r
- _fiInfo->szTypeName = xmlLibrary->GetPropVal(wxT("typename"),wxEmptyString);\r
- _fiInfo->szSuffix = xmlLibrary->GetPropVal(wxT("suffix"), wxEmptyString);\r
- _fiInfo->szEngineName = xmlLibrary->GetPropVal(wxT("name"), wxEmptyString);\r
- _fiInfo->szTPIName = wxT("calLibrary");\r
- _fiInfo->llSupportedCommand = SupportedCommand(xmlLibrary);\r
- _fiInfo->llTypeId = s_uFileID++;\r
- SupportedSwitch(xmlLibrary, _fiInfo);\r
+ MakeFormatInfo(wxT("calLibrary"), _fiInfo, xmlLibrary, s_uFileID++);\r
\r
return TPI_ERROR_SUCCESS;\r
}\r
_aiInfo->nSFXType = 0;\r
}\r
\r
+ // \8c`\8e®\82É\8aÖ\82·\82é\8fî\95ñ\82ð\8eæ\93¾\81B\r
+ MakeFormatInfo(wxT("calLibrary"), & _aiInfo->fiInfo, & g_LibInfo.node, 0);\r
+\r
return TPI_ERROR_SUCCESS;\r
}\r
\r
return TPI_ERROR_UNDEFINED;\r
}\r
\r
- _fiInfo->szTypeName = xmlLibrary->GetPropVal(wxT("typename"),wxEmptyString);\r
- _fiInfo->szSuffix = xmlLibrary->GetPropVal(wxT("suffix"), wxEmptyString);\r
- _fiInfo->szEngineName = xmlLibrary->GetPropVal(wxT("name"), wxEmptyString);\r
- _fiInfo->szTPIName = wxT("cuiWrapper");\r
- _fiInfo->llSupportedCommand = myExecute(xmlLibrary->GetPropVal(wxT("name"), wxEmptyString), NULL, wxEmptyString, true) == TPI_ERROR_SUCCESS ? SupportedCommand(xmlLibrary) : 0;\r
- _fiInfo->llTypeId = s_uFileID++;\r
- SupportedSwitch(xmlLibrary, _fiInfo);\r
+ MakeFormatInfo(wxT("cuiWrapper"), _fiInfo, xmlLibrary, s_uFileID++);\r
+ if (myExecute(xmlLibrary->GetPropVal(wxT("name"), wxEmptyString), NULL, wxEmptyString, true) != TPI_ERROR_SUCCESS)\r
+ {\r
+ _fiInfo->llSupportedCommand = 0;\r
+ }\r
\r
return TPI_ERROR_SUCCESS;\r
}\r
int __stdcall GetArchiveInformation\r
(\r
void *,\r
- TPI_ARCHIVEINFO *\r
+ TPI_ARCHIVEINFO * _aiInfo\r
)\r
{\r
+ // \8c`\8e®\82É\8aÖ\82·\82é\8fî\95ñ\82ð\8eæ\93¾\81B\r
+ MakeFormatInfo(wxT("calLibrary"), & _aiInfo->fiInfo, & g_LibInfo.node, 0);\r
return TPI_ERROR_SUCCESS;\r
}\r
\r