3 #ifndef __7ZIP_FAR_PLUGIN_H
\r
4 #define __7ZIP_FAR_PLUGIN_H
\r
6 #include "Common/MyCom.h"
\r
8 #include "Windows/COM.h"
\r
9 #include "Windows/FileFind.h"
\r
10 #include "Windows/PropVariant.h"
\r
12 #include "../Agent/IFolderArchive.h"
\r
14 #include "FarUtils.h"
\r
16 const UInt32 kNumInfoLinesMax = 64;
\r
20 NWindows::NCOM::CComInitializer m_ComInitializer;
\r
21 UString m_CurrentDir;
\r
23 UString m_PannelTitle;
\r
25 InfoPanelLine m_InfoLines[kNumInfoLinesMax];
\r
27 char m_FileNameBuffer[1024];
\r
28 char m_CurrentDirBuffer[1024];
\r
29 char m_PannelTitleBuffer[1024];
\r
31 AString PanelModeColumnTypes;
\r
32 AString PanelModeColumnWidths;
\r
33 PanelMode PanelMode;
\r
34 void AddColumn(PROPID aPropID);
\r
36 void EnterToDirectory(const UString &dirName);
\r
37 void GetPathParts(UStringVector &pathParts);
\r
38 void GetCurrentDir();
\r
41 NWindows::NFile::NFind::CFileInfoW m_FileInfo;
\r
43 CMyComPtr<IInFolderArchive> m_ArchiveHandler;
\r
44 CMyComPtr<IFolderFolder> _folder;
\r
46 UString _archiveTypeName;
\r
48 bool PasswordIsDefined;
\r
51 CPlugin(const UString &fileName, IInFolderArchive *archiveHandler, UString archiveTypeName);
\r
54 void ReadPluginPanelItem(PluginPanelItem &panelItem, UInt32 itemIndex);
\r
56 int GetFindData(PluginPanelItem **panelItems,int *itemsNumber,int opMode);
\r
57 void FreeFindData(PluginPanelItem *panelItem,int ItemsNumber);
\r
58 int SetDirectory(const char *aszDir, int opMode);
\r
59 void GetOpenPluginInfo(struct OpenPluginInfo *info);
\r
60 int DeleteFiles(PluginPanelItem *panelItems, int itemsNumber, int opMode);
\r
62 HRESULT ExtractFiles(
\r
63 bool decompressAllItems,
\r
64 const UInt32 *indices,
\r
67 NExtract::NPathMode::EEnum pathMode,
\r
68 NExtract::NOverwriteMode::EEnum overwriteMode,
\r
69 const UString &destPath,
\r
70 bool passwordIsDefined, const UString &password);
\r
72 NFar::NFileOperationReturnCode::EEnum GetFiles(struct PluginPanelItem *panelItem, int itemsNumber,
\r
73 int move, char *destPath, int opMode);
\r
75 NFar::NFileOperationReturnCode::EEnum GetFilesReal(struct PluginPanelItem *panelItems,
\r
76 int itemsNumber, int move, const char *_aDestPath, int opMode, bool showBox);
\r
78 NFar::NFileOperationReturnCode::EEnum PutFiles(struct PluginPanelItem *panelItems, int itemsNumber,
\r
79 int move, int opMode);
\r
81 HRESULT ShowAttributesWindow();
\r
83 int ProcessKey(int key, unsigned int controlState);
\r
86 HRESULT CompressFiles(const CObjectVector<PluginPanelItem> &pluginPanelItems);
\r