--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<libraries>
+ <library name="0x01" typename="7-zip" suffix="zip" extract='%a5' test=''
+ level-min="0" level-max="9"
+ create ='-mx=%94 %a5 %a7 %a1'
+ add ='-mx=%94 %a5' />
+ <library name="0x02" typename="BZip2" suffix="bz2" extract='%a5' test='' archive="no"
+ level-min="0" level-max="9"
+ create ='-mx=%94' />
+ <library name="0x03" typename="Rar" suffix="rar" extract='%a5 %a1' test='' disable="1" />
+ <library name="0x04" typename="Arj" suffix="arj" extract='%a5 %a1' test='' disable-win="1" />
+ <library name="0x05" typename="Z" suffix="Z" extract='%a5' test='' archive="no" />
+ <library name="0x06" typename="Lzh" suffix="lzh;lha;lzs" extract='%a1' test='' disable-win="1" />
+ <library name="0x07" typename="7z" suffix="7z" extract='' test=''
+ level-min="0" level-max="9"
+ create ='-mx=%94 -ms=%a2{on|off} -mhe=%a4{on|off} %a5 %a7 %a1'
+ add ='-mx=%94 -ms=%a2{on|off} -mhe=%a4{on|off} %a5'
+ delete ='' />
+ <library name="0x08" typename="Cab" suffix="cab" extract='%a1' test='' disable-win="1" />
+ <library name="0x09" typename="NSIS" suffix="exe" extract='%a1' test='' />
+ <library name="0x0a" typename="LZMA" suffix="lzma" extract='' test='' />
+ <library name="0x0b" typename="LZMA86" suffix="lzma" extract='' test='' />
+ <library name="0x0c" typename="XZ" suffix="xz" extract='%5' test='' archive="no"
+ level-min="0" level-max="9"
+ create ='-mx=%94' />
+ <library name="0x0d" typename="PPMd" suffix="pmd" extract='' test='' archive="no" />
+ <library name="0xd2" typename="SquashFS" suffix="squashfs" extract='' test='' />
+ <library name="0xd3" typename="CramFS" suffix="cramfs" extract='' test='' />
+ <library name="0xd4" typename="Apm" extract='' test='' />
+ <library name="0xd5" typename="MSLZ" extract='' test='' archive="no" />
+ <library name="0xd6" typename="FLV" suffix="flv" extract='' test='' />
+ <library name="0xd7" typename="Swf" suffix="swf" extract='' test='' disable="1" />
+ <library name="0xd8" typename="SWFc" suffix="swf" extract='' test='' />
+ <library name="0xd9" typename="NTFS" suffix="ntfs;img" extract='' test='' />
+ <library name="0xda" typename="FAT" suffix="fat;img" extract='' test='' />
+ <library name="0xdb" typename="MBR" suffix="mbr" extract='' test='' />
+ <library name="0xdc" typename="VHD" suffix="vhd" extract='' test='' />
+ <library name="0xdd" typename="PE" suffix="exe" extract='' test='' disable="1" />
+ <library name="0xde" typename="ELF" extract='' test='' disable="1" />
+ <library name="0xdf" typename="Mach-O" extract='' test='' />
+ <library name="0xe0" typename="UDF" suffix="iso;img" extract='' test='' />
+ <library name="0xe1" typename="Xar" suffix="xar" extract='' test='' />
+ <library name="0xe2" typename="Mub" suffix="mub" extract='' test='' />
+ <library name="0xe3" typename="HFS" suffix="hfs" extract='' test='' />
+ <library name="0xe4" typename="DMG" suffix="dmg" extract='' test='' />
+ <library name="0xe5" typename="Compound" suffix="msi;msp" extract='' test='' />
+ <library name="0xe6" typename="WIM" suffix="wim;swm" extract='' test=''
+ create =''
+ add ='' />
+ <library name="0xe7" typename="Iso" suffix="iso;img" extract='' test='' />
+ <library name="0xe8" typename="Bkf" suffix="bkf" extract='' test='' />
+ <library name="0xe9" typename="Chm" suffix="chm;chi;chq;chw;hxs;hxi;hxr;hxq;hxw;lit" extract='' test='' />
+ <library name="0xea" typename="Split" suffix="001" extract='' test='' />
+ <library name="0xeb" typename="RPM" suffix="rpm" extract='' test='' disable-win="1" />
+ <library name="0xec" typename="Deb" suffix="deb" extract='' test='' disable-win="1" />
+ <library name="0xed" typename="Cpio" suffix="cpio" extract='' test='' disable-win="1" />
+ <library name="0xee" typename="TAR" suffix="tar" extract='' test='' disable-win="1"
+ create =''
+ add ='' />
+ <library name="0xef" typename="GZip" suffix="gz" extract='' test='' archive="no"
+ level-min="0" level-max="9"
+ create ='-mx=%94' />
+ <!--
+; 7zArc plug-in. See cuiWrapper.xml for details.
+-->
+</libraries>
<dl>\r
<dt class="file_win">7zArc.dll</dt><dd>7zArcの本体です。</dd>\r
<dt class="file_lin">7zArc.so</dt><dd>7zArcの本体です。</dd>\r
+ <dt><a href="../bin/lib/7zArc.xml" id="bin_lib_7zArc.xml">7zArc.xml</a></dt><dd>7zArcの設定ファイルです。</dd>\r
<dt class="file_win">calLibrary.dll</dt><dd>calLibraryの本体です。</dd>\r
<dt><a href="../bin/lib/calLibrary.xml" id="bin_lib_calLibrary.xml">calLibrary.xml</a></dt><dd>calLibraryの設定ファイルです。</dd>\r
<dt class="file_win">cuiWrapper.dll</dt><dd>cuiWrapperの本体です。</dd>\r
<li class="add">書庫を複製する機能を追加。</li>\r
<li class="add">ツリービューとリストビューでコンテキストメニューを表示する機能を追加。</li>\r
<li class="add">単ファイル格納形式の処理において、書庫ファイル名から格納ファイル名を生成する機能を追加。</li>\r
+ <li class="add">改行文字やタブ文字を名前に含むファイルを含む書庫を開こうとした場合に警告する機能を追加。</li>\r
<li class="chg">ファイルを開く動作でアプリケーションが起動している間も、Lycheeのウインドウを操作できるよう変更。</li>\r
<li class="chg">書庫閲覧時のメモリ使用量を削減。</li>\r
<li class="chg">書庫のアイコンを変更。</li>\r
<dt>7zArc</dt>\r
<dd>\r
<ul>\r
+ <li class="add">対応するファイルの種類を指定する<a href="files.html#bin_lib_7zArc.xml">7zArc.xml</a>を追加。</li>\r
<li class="add">SquashFS,CramFS,PPMdへの対応を追加。</li>\r
<li class="add">ファイルの属性と作成/参照時刻の復元を行う機能を追加。</li>\r
</ul>\r
<h3 class="file">7zArc</h3>\r
<p>7z,zip,NSIS,MSIなど、<a href="http://www.7-zip.org/">7-zip</a>で対応している諸形式の処理に対応するTPIです。</p>\r
<p>動作には<span class="file_win">7z.dll</span>か<span class="file_lin">7z.so</span>が必要です。</p>\r
+ <p>動作の設定については<a href="files.html#bin_lib_7zArc.xml">7zArc.xml</a>を参照してください。また、このファイルに記述することで7zArcで対応する形式を変更することができます。<a href="files.html#bin_lib_cuiWrapper.xml">cuiWrapper.xml</a>には簡単な書式の説明を行っていますので、そちらも参考にしてください。</p>\r
\r
<h3 class="file_win">calLibrary</h3>\r
<p><a href="http://www.madobe.net/archiver/">統合アーカイバライブラリ</a>に対応するTPIです。統合アーカイバ仕様に従う一般的なライブラリに対応しています。</p>\r
# Makefile.\r
# $Id: Makefile 125 2009-11-19 14:17:38Z sirakaba $\r
\r
-OBJS = library.o\r
+OBJS = library.o xmldoc.o\r
DIR_OBJ = ../../tmp\r
include ../Makefile.default\r
#include "../../common/header/plugin.h"\r
#include "../../common/header/plugin-extra.h"\r
#include "../../common/library/library.h"\r
+#include "../../common/library/xmldoc.h"\r
#include <wx/dynlib.h>\r
#include "7zArc.h"\r
\r
#ifdef __LINUX__\r
#define LIB_NAME wxT("7z.so")\r
#else\r
-#define LIB_NAME g_hLib.CanonicalizeName(wxT("7z"))\r
+#define LIB_NAME g_LibInfo.hLib.CanonicalizeName(wxT("7z"))\r
#endif\r
\r
//******************************************************************************\r
// Global varients\r
//******************************************************************************\r
\r
-wxDynamicLibrary g_hLib;\r
-void * g_fpProc;\r
+struct g_LibInfo\r
+{\r
+ wxDynamicLibrary hLib;\r
+ int nLibIndex;\r
+ wxXmlNode node;\r
+ void * fpProc;\r
+} g_LibInfo;\r
+\r
TPI_PROC g_prProc;\r
-wxULongLong_t g_nEngineId;\r
\r
#ifdef __LINUX__\r
extern int global_use_utf16_conversion;\r
return TPI_ERROR_SUCCESS;\r
}\r
\r
-int __stdcall GetFormatInformation2(TPI_FORMATINFO * _fiInfo, wxULongLong_t & nIndex)\r
-{\r
- // Initialization.\r
- _fiInfo->fArchive = true;\r
- _fiInfo->fComment = false;\r
- _fiInfo->fEncryptKeyFile = false;\r
- _fiInfo->fEncryptPassword = false;\r
- _fiInfo->fEncryptHeader = false;\r
- _fiInfo->fCompressHeader = false;\r
- _fiInfo->fMMOptimize = false;\r
- _fiInfo->fMultiVolume = false;\r
- _fiInfo->fSFX = false;\r
- _fiInfo->fSolid = false;\r
- _fiInfo->nCompressLevelMin = 0;\r
- _fiInfo->nCompressLevelMax = 0;\r
- _fiInfo->nRecoveryRecordMin = 0;\r
- _fiInfo->nRecoveryRecordMax = 0;\r
- _fiInfo->szTypeName.Empty();\r
- _fiInfo->szSuffix.Empty();\r
- _fiInfo->szEngineName = LIB_NAME;\r
- _fiInfo->szTPIName = wxT("7zArc");\r
- _fiInfo->eSupportedCommand = TPI_COMMAND_EXTRACT | TPI_COMMAND_TEST;\r
- _fiInfo->nTypeId = nIndex;\r
- _fiInfo->pCustomInfo = NULL;\r
- wxULongLong_t nBase = nIndex++;\r
- if (nBase >= sizeof(guidList) / sizeof(GUID))\r
- {\r
- return TPI_ERROR_S_ENDOFDATA;\r
- }\r
- else if (guidList[nBase] == CLSID_CFormatZip)\r
- {\r
- _fiInfo->szTypeName = wxT("7-zip");\r
- _fiInfo->szSuffix = wxT("zip");\r
- _fiInfo->eSupportedCommand |= TPI_COMMAND_CREATE;// | TPI_COMMAND_ADD;\r
- _fiInfo->fSFX = true;\r
- _fiInfo->fMultiVolume = true;\r
- _fiInfo->fEncryptPassword = true;\r
- _fiInfo->nCompressLevelMin = 0;\r
- _fiInfo->nCompressLevelMax = 9;\r
- }\r
- else if (guidList[nBase] == CLSID_CFormatBZip2)\r
- {\r
- _fiInfo->szTypeName = wxT("BZip2");\r
- _fiInfo->szSuffix = wxT("bz2");\r
- _fiInfo->eSupportedCommand |= TPI_COMMAND_CREATE;\r
- _fiInfo->fArchive = false;\r
- _fiInfo->nCompressLevelMin = 1;\r
- _fiInfo->nCompressLevelMax = 9;\r
- }\r
-// else if (guidList[nBase] == CLSID_CFormatRar) { _fiInfo->szTypeName = wxT("Rar"); _fiInfo->szSuffix = wxT("rar"); }\r
-#ifdef __LINUX__\r
- else if (guidList[nBase] == CLSID_CFormatArj) { _fiInfo->szTypeName = wxT("Arj"); _fiInfo->szSuffix = wxT("arj"); _fiInfo->fEncryptPassword = true; _fiInfo->fSFX = true; }\r
-#endif\r
- else if (guidList[nBase] == CLSID_CFormatZ) { _fiInfo->szTypeName = wxT("Z"); _fiInfo->szSuffix = wxT("Z"); _fiInfo->fArchive = false; }\r
-#ifdef __LINUX__\r
- else if (guidList[nBase] == CLSID_CFormatLzh) { _fiInfo->szTypeName = wxT("Lzh"); _fiInfo->szSuffix = wxT("lzh;lha;lzs"); _fiInfo->fSFX = true; }\r
-#endif\r
- else if (guidList[nBase] == CLSID_CFormat7z)\r
- {\r
- _fiInfo->szTypeName = wxT("7z");\r
- _fiInfo->szSuffix = wxT("7z");\r
- _fiInfo->eSupportedCommand |= TPI_COMMAND_CREATE;// | TPI_COMMAND_ADD;\r
- _fiInfo->fSFX = true;\r
- _fiInfo->fMultiVolume = true;\r
- _fiInfo->fSolid = true;\r
- _fiInfo->fEncryptPassword = true;\r
- _fiInfo->fEncryptHeader = true;\r
- _fiInfo->fCompressHeader = true;\r
- _fiInfo->nCompressLevelMin = 0;\r
- _fiInfo->nCompressLevelMax = 9;\r
- }\r
-#ifdef __LINUX__\r
- else if (guidList[nBase] == CLSID_CFormatCab) { _fiInfo->szTypeName = wxT("Cab"); _fiInfo->szSuffix = wxT("cab"); _fiInfo->fMultiVolume = true; _fiInfo->fSFX = true; }\r
-#endif\r
- else if (guidList[nBase] == CLSID_CFormatNsis) { _fiInfo->szTypeName = wxT("NSIS"); _fiInfo->szSuffix = wxT("exe"); _fiInfo->fSFX = true; }\r
- else if (guidList[nBase] == CLSID_CFormatLzma) { _fiInfo->szTypeName = wxT("LZMA"); _fiInfo->szSuffix = wxT("lzma"); _fiInfo->fArchive = false; }\r
- else if (guidList[nBase] == CLSID_CFormatLzma86){_fiInfo->szTypeName = wxT("LZMA86"); _fiInfo->szSuffix = wxT("lzma"); _fiInfo->fArchive = false; }\r
- else if (guidList[nBase] == CLSID_CFormatXz)\r
- {\r
- _fiInfo->szTypeName = wxT("XZ");\r
- _fiInfo->szSuffix = wxT("xz");\r
- _fiInfo->eSupportedCommand |= TPI_COMMAND_CREATE;\r
- _fiInfo->fArchive = false;\r
- _fiInfo->nCompressLevelMin = 0;\r
- _fiInfo->nCompressLevelMax = 9;\r
- }\r
- else if (guidList[nBase] == CLSID_CFormatPpmd) { _fiInfo->szTypeName = wxT("PPMd"); _fiInfo->szSuffix = wxT("pmd"); }\r
- else if (guidList[nBase] == CLSID_CFormatSquash){_fiInfo->szTypeName = wxT("SquashFS");_fiInfo->szSuffix = wxT("squashfs"); }\r
- else if (guidList[nBase] == CLSID_CFormatCram) { _fiInfo->szTypeName = wxT("CramFS"); _fiInfo->szSuffix = wxT("cramfs"); }\r
- else if (guidList[nBase] == CLSID_CFormatApm) { _fiInfo->szTypeName = wxT("Apm"); }\r
- else if (guidList[nBase] == CLSID_CFormatMslz) { _fiInfo->szTypeName = wxT("MSLZ"); _fiInfo->szSuffix = wxT("xx_"); _fiInfo->fArchive = false; }\r
- else if (guidList[nBase] == CLSID_CFormatFlv) { _fiInfo->szTypeName = wxT("Flv"); _fiInfo->szSuffix = wxT("flv"); }\r
-// else if (guidList[nBase] == CLSID_CFormatSwf) { _fiInfo->szTypeName = wxT("Swf"); _fiInfo->szSuffix = wxT("swf"); }\r
- else if (guidList[nBase] == CLSID_CFormatSwfc) { _fiInfo->szTypeName = wxT("Swfc"); _fiInfo->szSuffix = wxT("swf"); }\r
- else if (guidList[nBase] == CLSID_CFormatNtfs) { _fiInfo->szTypeName = wxT("NTFS"); _fiInfo->szSuffix = wxT("ntfs;img");}\r
- else if (guidList[nBase] == CLSID_CFormatFat) { _fiInfo->szTypeName = wxT("FAT"); _fiInfo->szSuffix = wxT("fat;img"); }\r
- else if (guidList[nBase] == CLSID_CFormatMbr) { _fiInfo->szTypeName = wxT("Mbr"); _fiInfo->szSuffix = wxT("mbr"); }\r
- else if (guidList[nBase] == CLSID_CFormatVhd) { _fiInfo->szTypeName = wxT("Vhd"); _fiInfo->szSuffix = wxT("vhd"); }\r
-// else if (guidList[nBase] == CLSID_CFormatPe) { _fiInfo->szTypeName = wxT("PE"); _fiInfo->szSuffix = wxT("exe"); _fiInfo->fArchive = false; }\r
-// else if (guidList[nBase] == CLSID_CFormatElf) { _fiInfo->szTypeName = wxT("ELF"); _fiInfo->fArchive = false; }\r
- else if (guidList[nBase] == CLSID_CFormatMachO){ _fiInfo->szTypeName = wxT("Mach-O"); }\r
- else if (guidList[nBase] == CLSID_CFormatUdf) { _fiInfo->szTypeName = wxT("Udf"); _fiInfo->szSuffix = wxT("iso;img"); }\r
- else if (guidList[nBase] == CLSID_CFormatXar) { _fiInfo->szTypeName = wxT("Xar"); _fiInfo->szSuffix = wxT("xar"); }\r
- else if (guidList[nBase] == CLSID_CFormatMub) { _fiInfo->szTypeName = wxT("Mub"); }\r
- else if (guidList[nBase] == CLSID_CFormatHfs) { _fiInfo->szTypeName = wxT("HFS"); _fiInfo->szSuffix = wxT("hfs"); }\r
- else if (guidList[nBase] == CLSID_CFormatDmg) { _fiInfo->szTypeName = wxT("DMG"); _fiInfo->szSuffix = wxT("dmg"); }\r
- else if (guidList[nBase] == CLSID_CFormatCom) { _fiInfo->szTypeName = wxT("Compound");_fiInfo->szSuffix = wxT("msi;msp"); _fiInfo->fSFX = true; }\r
- else if (guidList[nBase] == CLSID_CFormatWim)\r
- {\r
- _fiInfo->szTypeName = wxT("WIM");\r
- _fiInfo->szSuffix = wxT("wim;swm");\r
- _fiInfo->eSupportedCommand |= TPI_COMMAND_CREATE;// | TPI_COMMAND_ADD;\r
- }\r
- else if (guidList[nBase] == CLSID_CFormatIso) { _fiInfo->szTypeName = wxT("ISO"); _fiInfo->szSuffix = wxT("iso;img"); }\r
- else if (guidList[nBase] == CLSID_CFormatBkf) { _fiInfo->szTypeName = wxT("Bkf"); _fiInfo->szSuffix = wxT("bkf"); }\r
- else if (guidList[nBase] == CLSID_CFormatChm) { _fiInfo->szTypeName = wxT("Chm"); _fiInfo->szSuffix = wxT("chm;chi;chq;chw;hxs;hxi;hxr;hxq;hxw;lit"); }\r
- else if (guidList[nBase] == CLSID_CFormatSplit){ _fiInfo->szTypeName = wxT("Split"); _fiInfo->szSuffix = wxT("001"); }\r
-#ifdef __LINUX__\r
- else if (guidList[nBase] == CLSID_CFormatRpm) { _fiInfo->szTypeName = wxT("RPM"); _fiInfo->szSuffix = wxT("rpm"); _fiInfo->fArchive = false; }\r
- else if (guidList[nBase] == CLSID_CFormatDeb) { _fiInfo->szTypeName = wxT("Deb"); _fiInfo->szSuffix = wxT("deb"); }\r
- else if (guidList[nBase] == CLSID_CFormatCpio) { _fiInfo->szTypeName = wxT("Cpio"); _fiInfo->szSuffix = wxT("cpio");}\r
- else if (guidList[nBase] == CLSID_CFormatTar)\r
- {\r
- _fiInfo->szTypeName = wxT("TAR");\r
- _fiInfo->szSuffix = wxT("tar");\r
- _fiInfo->fSFX = true;\r
- _fiInfo->eSupportedCommand |= TPI_COMMAND_CREATE;// | TPI_COMMAND_ADD;\r
- }\r
-#endif\r
- else if (guidList[nBase] == CLSID_CFormatGZip)\r
- {\r
- _fiInfo->szTypeName = wxT("GZip");\r
- _fiInfo->szSuffix = wxT("gz");\r
- _fiInfo->eSupportedCommand |= TPI_COMMAND_CREATE;\r
- _fiInfo->fArchive = false;\r
- _fiInfo->nCompressLevelMin = 1;\r
- _fiInfo->nCompressLevelMax = 9;\r
- }\r
- else\r
- {\r
- return GetFormatInformation2(_fiInfo, nIndex);\r
- }\r
- return TPI_ERROR_SUCCESS;\r
-}\r
-\r
//******************************************************************************\r
// Callback Wrapper\r
//******************************************************************************\r
\r
int __stdcall GetFormatInformation(TPI_FORMATINFO * _fiInfo, bool _bFirst)\r
{\r
- static wxULongLong_t s_nTypeId;\r
+ static wxULongLong_t s_nFileId;\r
+ static wxXmlDocument xmlDoc(myMakeXMLName(wxT("7zArc")));\r
+ static wxXmlNode * xmlLibrary;\r
if (_bFirst)\r
{\r
- s_nTypeId = 0;\r
+ // xml解析開始。\r
+ s_nFileId = 0;\r
+ xmlLibrary = myGetFirstLib(& xmlDoc);\r
}\r
- return GetFormatInformation2(_fiInfo, s_nTypeId);\r
+ else\r
+ {\r
+ xmlLibrary = myGetNextLib(xmlLibrary);\r
+ }\r
+ if (xmlLibrary == NULL)\r
+ {\r
+ // データの終端に達した場合。\r
+ return TPI_ERROR_S_ENDOFDATA;\r
+ }\r
+ MakeFormatInfo(xmlLibrary, wxT("7zArc"), _fiInfo, s_nFileId++);\r
+ return TPI_ERROR_SUCCESS;\r
}\r
\r
int __stdcall LoadPlugin\r
#ifdef __LINUX__\r
global_use_utf16_conversion = 1;\r
#endif\r
- g_hLib.Load(LIB_NAME);\r
- if (! g_hLib.IsLoaded())\r
+ g_LibInfo.hLib.Load(LIB_NAME);\r
+ if (! g_LibInfo.hLib.IsLoaded())\r
{\r
- g_hLib.Unload();\r
+ g_LibInfo.hLib.Unload();\r
return TPI_ERROR_U_LOAD_LIBRARY;\r
}\r
\r
- if (! g_hLib.HasSymbol(wxT("CreateObject")))\r
+ if (! g_LibInfo.hLib.HasSymbol(wxT("CreateObject")))\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
- g_fpProc = g_hLib.GetSymbol(wxT("CreateObject"));\r
- if (! g_fpProc)\r
+ g_LibInfo.fpProc = g_LibInfo.hLib.GetSymbol(wxT("CreateObject"));\r
+ if (! g_LibInfo.fpProc)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
\r
+ // 対象が存在しないならば指示されたライブラリをロード。\r
if (! ::wxFileExists(_szArcName))\r
{\r
- g_nEngineId = _nTypeId;\r
+ // xml解析開始。\r
+ wxXmlDocument xmlDoc(myMakeXMLName(wxT("7zArc")));\r
+ wxXmlNode * xmlLibrary = myGetFirstLib(& xmlDoc, _nTypeId);\r
+ if (xmlLibrary == NULL)\r
+ {\r
+ // xml文法エラー。\r
+ return TPI_ERROR_UNDEFINED;\r
+ }\r
+ g_LibInfo.node = * xmlLibrary;\r
+ g_LibInfo.nLibIndex = _nTypeId;\r
+ return TPI_ERROR_SUCCESS;\r
}\r
\r
return TPI_ERROR_SUCCESS;\r
void * // _pReserved\r
)\r
{\r
- g_hLib.Unload();\r
+ g_LibInfo.hLib.Unload();\r
return TPI_ERROR_SUCCESS;\r
}\r
\r
return TPI_ERROR_IO_ARC_OPEN;\r
}\r
\r
- // 書庫形式を認識。\r
+ // xml解析開始。\r
IInArchive * hArc;\r
- for (wxULongLong_t i = 0; i < sizeof(guidList) / sizeof(GUID); )\r
+ wxXmlDocument xmlDoc(myMakeXMLName(wxT("7zArc")));\r
+ wxXmlNode * xmlLibrary = myGetFirstLib(& xmlDoc);\r
+\r
+ // 対応するライブラリを調査。\r
+ // 無限ループに陥らないよう上限を設定。\r
+ for (g_LibInfo.nLibIndex = 0; g_LibInfo.nLibIndex < 300 && xmlLibrary != NULL; g_LibInfo.nLibIndex++)\r
{\r
- if (((unsigned int (__stdcall *)(const GUID *, const GUID *, void * *)) g_fpProc)(& guidList[i], & IID_IInArchive, (void **) & hArc) != S_OK)\r
+ // ライブラリをロード。\r
+ const GUID guid = {0x23170F69, 0x40C1, 0x278A, {0x10, 0x00, 0x00, 0x01, 0x10, myGetAttributeInt(xmlLibrary, wxT("name")), 0x00, 0x00}};\r
+ if (((unsigned int (__stdcall *)(const GUID *, const GUID *, void * *)) g_LibInfo.fpProc)(& guid, & IID_IInArchive, (void **) & hArc) != S_OK)\r
{\r
- i++;\r
+ xmlLibrary = myGetNextLib(xmlLibrary);\r
continue;\r
}\r
+ g_LibInfo.node = * xmlLibrary;\r
\r
// 書庫を開く。\r
CInFileStream * fileSpec = new CInFileStream;\r
}\r
\r
// 形式の情報を取得。\r
- g_nEngineId = i;\r
TPI_FORMATINFO fiInfo;\r
- GetFormatInformation2(& fiInfo, i);\r
+ MakeFormatInfo(xmlLibrary, wxT("7zArc"), & fiInfo, g_LibInfo.nLibIndex);\r
\r
- // æ\9b¸åº«ã\81¨ã\81\97ã\81¦é\96\8bã\81\8f。\r
+ // æ\9b¸åº«ã\81«å¯¾å¿\9cã\81\97ã\81¦ã\81\84ã\82\8bã\81\8bã\83\81ã\82§ã\83\83ã\82¯。\r
CArchiveOpenCallback * openCallbackSpec = new CArchiveOpenCallback;\r
CMyComPtr<IArchiveOpenCallback> openCallback(openCallbackSpec);\r
// SFXを完全に検出するには全体をロードする必要がある。\r
* _hArchive = hArc;\r
return TPI_ERROR_SUCCESS;\r
}\r
+ xmlLibrary = myGetNextLib(xmlLibrary);\r
}\r
+\r
return TPI_ERROR_IO_ARC_OPEN;\r
}\r
\r
{\r
_aiInfo->szComment = WC2String(prop.bstrVal);\r
}\r
- wxULongLong_t n = g_nEngineId;\r
- GetFormatInformation2(& _aiInfo->fiInfo, n);\r
+ MakeFormatInfo(& g_LibInfo.node, wxT("7zArc"), & _aiInfo->fiInfo, g_LibInfo.nLibIndex);\r
return TPI_ERROR_SUCCESS;\r
}\r
\r
\r
// エンジンを読み込み。\r
IOutArchive * hArc;\r
- if (((unsigned int (__stdcall *)(const GUID *, const GUID *, void **)) g_fpProc)(& guidList[g_nEngineId], & IID_IOutArchive, (void **) & hArc) != S_OK)\r
+ const GUID guid = {0x23170F69, 0x40C1, 0x278A, {0x10, 0x00, 0x00, 0x01, 0x10, myGetAttributeInt(& g_LibInfo.node, wxT("name")), 0x00, 0x00}};\r
+ if (((unsigned int (__stdcall *)(const GUID *, const GUID *, void **)) g_LibInfo.fpProc)(& guid, & IID_IOutArchive, (void **) & hArc) != S_OK)\r
{\r
return TPI_ERROR_ARC_UNSUPPORTED;\r
}\r
\r
// 形式情報を取得。\r
TPI_FORMATINFO fiInfo;\r
- wxULongLong_t nIndex = g_nEngineId;\r
- GetFormatInformation2(& fiInfo, nIndex);\r
+ MakeFormatInfo(& g_LibInfo.node, wxT("7zArc"), & fiInfo, g_LibInfo.nLibIndex);\r
\r
// パラメータを設定。\r
ISetProperties * setProp;\r
\r
#include "../../IPassword.h"\r
#include "../../MyVersion.h"\r
-\r
-//******************************************************************************\r
-// Defines\r
-//******************************************************************************\r
-\r
-DEFINE_GUID(CLSID_CFormatZip, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0x01, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatBZip2, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0x02, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatRar, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0x03, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatArj, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0x04, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatZ, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0x05, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatLzh, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0x06, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormat7z, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0x07, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatCab, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0x08, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatNsis, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0x09, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatLzma, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0x0A, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatLzma86,0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0x0B, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatXz, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0x0C, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatPpmd, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0x0D, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatSquash,0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0xD2, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatCram, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0xD3, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatApm, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0xD4, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatMslz, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0xD5, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatFlv, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0xD6, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatSwf, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0xD7, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatSwfc, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0xD8, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatNtfs, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0xD9, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatFat, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0xDA, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatMbr, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0xDB, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatVhd, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0xDC, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatPe, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0xDD, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatElf, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0xDE, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatMachO, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0xDF, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatUdf, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0xE0, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatXar, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0xE1, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatMub, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0xE2, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatHfs, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0xE3, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatDmg, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0xE4, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatCom, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0xE5, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatWim, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0xE6, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatIso, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0xE7, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatBkf, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0xE8, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatChm, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0xE9, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatSplit, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0xEA, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatRpm, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0xEB, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatDeb, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0xEC, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatCpio, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0xED, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatTar, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0xEE, 0x00, 0x00);\r
-DEFINE_GUID(CLSID_CFormatGZip, 0x23170F69, 0x40C1, 0x278A, 0x10, 0x00, 0x00, 0x01, 0x10, 0xEF, 0x00, 0x00);\r
-\r
-const GUID guidList[] = {\r
- CLSID_CFormatZip,\r
- CLSID_CFormatBZip2,\r
-// CLSID_CFormatRar,\r
-#ifdef __LINUX__\r
- CLSID_CFormatArj,\r
-#endif\r
- CLSID_CFormatZ,\r
-#ifdef __LINUX__\r
- CLSID_CFormatLzh,\r
-#endif\r
- CLSID_CFormat7z,\r
-#ifdef __LINUX__\r
- CLSID_CFormatCab,\r
-#endif\r
- CLSID_CFormatNsis,\r
- CLSID_CFormatLzma,\r
- CLSID_CFormatLzma86,\r
- CLSID_CFormatXz,\r
- CLSID_CFormatPpmd,\r
- CLSID_CFormatSquash,\r
- CLSID_CFormatCram,\r
- CLSID_CFormatApm,\r
- CLSID_CFormatMslz,\r
- CLSID_CFormatFlv,\r
-// CLSID_CFormatSwf,\r
- CLSID_CFormatSwfc,\r
- CLSID_CFormatNtfs,\r
- CLSID_CFormatFat,\r
- CLSID_CFormatMbr,\r
- CLSID_CFormatVhd,\r
-// CLSID_CFormatPe,\r
-// CLSID_CFormatElf,\r
- CLSID_CFormatMachO,\r
- CLSID_CFormatUdf,\r
- CLSID_CFormatXar,\r
- CLSID_CFormatMub,\r
- CLSID_CFormatHfs,\r
- CLSID_CFormatDmg,\r
- CLSID_CFormatCom,\r
- CLSID_CFormatWim,\r
- CLSID_CFormatIso,\r
- CLSID_CFormatBkf,\r
- CLSID_CFormatChm,\r
- CLSID_CFormatSplit,\r
-#ifdef __LINUX__\r
- CLSID_CFormatRpm,\r
- CLSID_CFormatDeb,\r
- CLSID_CFormatCpio,\r
- CLSID_CFormatTar,\r
-#endif\r
- CLSID_CFormatGZip\r
-};\r
-\r
-//******************************************************************************\r
-// Structures\r
-//******************************************************************************\r
-\r
/>\r
<Tool\r
Name="VCLinkerTool"\r
- AdditionalDependencies="wxmsw29u_core.lib wxbase29u.lib"\r
+ AdditionalDependencies="wxmsw29u_core.lib wxbase29u.lib wxbase29u_xml.lib wxexpat.lib"\r
OutputFile="$(OutDir)/7zArc.dll"\r
LinkIncremental="1"\r
GenerateManifest="false"\r
/>\r
</FileConfiguration>\r
</File>\r
+ <File\r
+ RelativePath="..\..\common\library\xmldoc.cpp"\r
+ >\r
+ </File>\r
</Files>\r
<Globals>\r
</Globals>\r
\r
# Define i/o files.\r
DIR_OBJ = ../../tmp/$(PLUGIN_NAME)\r
-ifdef NOUSE_LIBRARY\r
- OBJS = $(PLUGIN_NAME).o\r
-else\r
- OBJS = $(PLUGIN_NAME).o ../library.o\r
+OBJS = $(PLUGIN_NAME).o\r
+ifndef NOUSE_LIBRARY\r
+ OBJS += ../library.o\r
+endif\r
+ifndef NOUSE_XML\r
+ OBJS += ../xmldoc.o\r
endif\r
\r
IN_DEF = ../../common/header/plugin.def\r
#include "../../common/header/plugin.h"\r
#include "../../common/header/plugin-extra.h"\r
#include "../../common/library/library.h"\r
+#include "../../common/library/xmldoc.h"\r
#include <wx/config.h>\r
-#include <wx/stdpaths.h>\r
-#include <wx/xml/xml.h>\r
#include <wx/tokenzr.h>\r
#include "cuiWrapper.h"\r
\r
int __stdcall GetFormatInformation(TPI_FORMATINFO * _fiInfo, bool _bFirst)\r
{\r
static wxULongLong_t s_nFileId;\r
- wxStandardPaths p;\r
- wxXmlDocument config(wxPathOnly(p.GetExecutablePath()) + wxT("/lib/cuiWrapper.xml"));\r
- // 一気に先頭のライブラリの情報を取得。\r
- wxXmlNode * xmlLibrary = config.GetRoot()->GetChildren();\r
-\r
+ static wxXmlDocument xmlDoc(myMakeXMLName(wxT("cuiWrapper")));\r
+ static wxXmlNode * xmlLibrary;\r
if (_bFirst)\r
{\r
// xml解析開始。\r
s_nFileId = 0;\r
+ xmlLibrary = myGetFirstLib(& xmlDoc);\r
}\r
else\r
{\r
- for (wxULongLong_t i = 0; i < s_nFileId && xmlLibrary != NULL; i++)\r
- {\r
- xmlLibrary = xmlLibrary->GetNext();\r
- }\r
+ xmlLibrary = myGetNextLib(xmlLibrary);\r
}\r
-\r
- if (xmlLibrary == NULL || xmlLibrary->GetName() != wxT("library"))\r
+ if (xmlLibrary == NULL)\r
{\r
// データの終端に達した場合。\r
return TPI_ERROR_S_ENDOFDATA;\r
}\r
\r
- MakeFormatInfo(wxT("cuiWrapper"), _fiInfo, xmlLibrary, s_nFileId++);\r
+ MakeFormatInfo(xmlLibrary, wxT("cuiWrapper"), _fiInfo, s_nFileId++);\r
wxString szExeFile = xmlLibrary->GetAttribute(wxT("name"), wxEmptyString);\r
if (myExecute(szExeFile, NULL, wxEmptyString, szExeFile.Find(wxT('.')) != wxNOT_FOUND && szExeFile.AfterLast(wxT('.')) == wxT("exe")) != TPI_ERROR_SUCCESS)\r
{\r
_fiInfo->eSupportedCommand = 0;\r
}\r
-\r
return TPI_ERROR_SUCCESS;\r
}\r
\r
int __stdcall LoadPlugin\r
(\r
const wxString & _szArcName,\r
- wxULongLong_t _llTypeId\r
+ wxULongLong_t _nTypeId\r
)\r
{\r
// xml解析開始。\r
- wxStandardPaths p;\r
- wxXmlDocument config(wxPathOnly(p.GetExecutablePath()) + wxT("/lib/cuiWrapper.xml"));\r
- if (! config.IsOk())\r
- {\r
- return TPI_ERROR_UNDEFINED;\r
- }\r
- // 一気に先頭のライブラリの情報を取得。\r
- wxXmlNode * xmlLibrary = config.GetRoot()->GetChildren();\r
+ wxXmlDocument xmlDoc(myMakeXMLName(wxT("cuiWrapper")));\r
+ wxXmlNode * xmlLibrary;\r
\r
// 対象が存在するならば対応するライブラリを調査、\r
// 対象が存在しないならば指示されたライブラリをロード。\r
if (! ::wxFileExists(_szArcName))\r
{\r
- // 適当な位置まで移動。\r
- for (g_LibInfo.nLibIndex = 0; g_LibInfo.nLibIndex < _llTypeId && xmlLibrary != NULL; g_LibInfo.nLibIndex++)\r
- {\r
- xmlLibrary = xmlLibrary->GetNext();\r
- }\r
- if (xmlLibrary == NULL || xmlLibrary->GetName() != wxT("library"))\r
+ xmlLibrary = myGetFirstLib(& xmlDoc, _nTypeId);\r
+ if (xmlLibrary == NULL)\r
{\r
// xml文法エラー。\r
return TPI_ERROR_UNDEFINED;\r
g_LibInfo.szExeFile = xmlLibrary->GetAttribute(wxT("name"), wxEmptyString);\r
g_LibInfo.szExeFileAlt = xmlLibrary->GetAttribute(wxT("name-alt"), wxEmptyString);\r
g_LibInfo.node = * xmlLibrary;\r
-\r
+ g_LibInfo.nLibIndex = _nTypeId;\r
return TPI_ERROR_SUCCESS;\r
}\r
\r
// 無限ループに陥らないよう上限を設定。\r
- for (g_LibInfo.nLibIndex = 0; g_LibInfo.nLibIndex < 300 && xmlLibrary != NULL && xmlLibrary->GetName() == wxT("library"); g_LibInfo.nLibIndex++)\r
+ xmlLibrary = myGetFirstLib(& xmlDoc);\r
+ for (g_LibInfo.nLibIndex = 0; g_LibInfo.nLibIndex < 300 && xmlLibrary != NULL; g_LibInfo.nLibIndex++)\r
{\r
- // ライブラリをロード。\r
- g_LibInfo.szExeFile = xmlLibrary->GetAttribute(wxT("name"), wxEmptyString);\r
- g_LibInfo.szExeFileAlt = xmlLibrary->GetAttribute(wxT("name-alt"), wxEmptyString);\r
- g_LibInfo.node = * xmlLibrary;\r
-\r
// 書庫に対応しているかチェック。\r
wxFileName fnArchive(_szArcName);\r
- wxArrayString asExt = ::wxStringTokenize(g_LibInfo.node.GetAttribute(wxT("suffix"), wxEmptyString), wxT(";"));\r
- if (! g_LibInfo.node.HasAttribute(wxT("list")))\r
+ wxArrayString asExt = ::wxStringTokenize(xmlLibrary->GetAttribute(wxT("suffix"), wxEmptyString), wxT(";"));\r
+ if (xmlLibrary->HasAttribute(wxT("list")))\r
{\r
- xmlLibrary = xmlLibrary->GetNext();\r
- continue;\r
- }\r
-\r
- for (size_t i = 0; i < asExt.GetCount(); i++)\r
- {\r
- // .tar.XXXなど二重判定への対応。\r
-// if (asExt[i].IsSameAs(fnArchive.GetExt(), false))\r
- if (fnArchive.GetFullName().EndsWith(wxT('.') + asExt[i]))\r
+ for (size_t i = 0; i < asExt.GetCount(); i++)\r
{\r
- return TPI_ERROR_SUCCESS;\r
+ // .tar.XXXなど二重判定への対応。\r
+// if (asExt[i].IsSameAs(fnArchive.GetExt(), false))\r
+ if (fnArchive.GetFullName().EndsWith(wxT('.') + asExt[i]))\r
+ {\r
+ // ライブラリをロード。\r
+ g_LibInfo.szExeFile = xmlLibrary->GetAttribute(wxT("name"), wxEmptyString);\r
+ g_LibInfo.szExeFileAlt = xmlLibrary->GetAttribute(wxT("name-alt"), wxEmptyString);\r
+ g_LibInfo.node = * xmlLibrary;\r
+ g_LibInfo.nLibIndex = _nTypeId;\r
+ return TPI_ERROR_SUCCESS;\r
+ }\r
}\r
}\r
-\r
- xmlLibrary = xmlLibrary->GetNext();\r
+ xmlLibrary = myGetNextLib(xmlLibrary);\r
}\r
-\r
return TPI_ERROR_U_LOAD_LIBRARY;\r
}\r
\r
)\r
{\r
// 形式に関する情報を取得。\r
- MakeFormatInfo(wxT("cuiWrapper"), & _aiInfo->fiInfo, & g_LibInfo.node, 0);\r
+ MakeFormatInfo(& g_LibInfo.node, wxT("cuiWrapper"), & _aiInfo->fiInfo, 0);\r
return TPI_ERROR_SUCCESS;\r
}\r
\r
# Makefile.\r
# $Id$\r
PLUGIN_NAME = rarArc\r
+NOUSE_XML = 1\r
include ../Makefile.default\r
ProjectSection(SolutionItems) = preProject\r
common\library\library.cpp = common\library\library.cpp\r
common\library\library.h = common\library\library.h\r
+ common\library\xmldoc.cpp = common\library\xmldoc.cpp\r
+ common\library\xmldoc.h = common\library\xmldoc.h\r
EndProjectSection\r
EndProject\r
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lychee", "lychee\lychee.vcproj", "{50F13951-5698-4418-8353-BFDFC5A6BC13}"\r