|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//<2F>ļ<EFBFBD> PluginServer.h
|
|
|
|
|
|
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>:
|
|
|
|
|
|
//
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д: 2009-4-1
|
|
|
|
|
|
//
|
|
|
|
|
|
//
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
#include "dfPluginBase.h"
|
|
|
|
|
|
#include "LoadLibrary.h"
|
|
|
|
|
|
|
|
|
|
|
|
namespace NPluginFormat
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
class AFX_EXT_CLASS CPluginServer
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CPluginServer(void);
|
|
|
|
|
|
virtual ~CPluginServer(void);
|
|
|
|
|
|
|
|
|
|
|
|
class CPluginItem : public CLoadLibrary
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CPluginItem(void);
|
|
|
|
|
|
|
|
|
|
|
|
int GetFormatCount(void); //<2F><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD>ֵĸ<D6B5>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
CPluginFormatBase* m_pFormat; //<2F><><EFBFBD><EFBFBD>funGetPluginInfo<66><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õIJ<C3B5><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڸñ<DAB8><C3B1><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
DF_GET_PLUGIN_FORMAT funGetPluginFormat;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
int LoadAllPlugins(LPCTSTR lpszPath);
|
|
|
|
|
|
int LoadPlugin(CPluginItem& item, LPCTSTR lpszFileName);
|
|
|
|
|
|
void UnloadAllPlugins(void);
|
|
|
|
|
|
|
|
|
|
|
|
CList<CPluginItem*, CPluginItem*> m_pluginList;
|
|
|
|
|
|
CPluginItem* FindFormat(LPCTSTR strExt);
|
|
|
|
|
|
CPluginServer::CPluginItem* GetItem(int nIndex);
|
|
|
|
|
|
|
|
|
|
|
|
int ReadFile(LPCTSTR lpszFileName);
|
|
|
|
|
|
int ReadFile(LPCTSTR lpszFileName, CPluginItem* pItem, int nSubDocType=0); //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>ĸ<EFBFBD>ʽ<EFBFBD><CABD>ȡ,<2C><>һ<EFBFBD><D2BB><EFBFBD>ְ<EFBFBD><D6B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>ʽʱnSubDocTypeΪ<65><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
INT_PTR FileDialog( BOOL bOpenFileDialog, CString strTitle, CString& fileName, int& nDocType, int& nSubDocType,
|
|
|
|
|
|
DWORD lFlags=OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT);
|
|
|
|
|
|
int GetFormatCount(void);
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
using namespace NPluginFormat;
|