You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.4 KiB
C

1 month ago
//////////////////////////////////////////////////////////////////////////////
//<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;