00001 //------------------------------------------------------------------------- 00002 // 00003 // File: ImportInterfaceC.h 00004 // Desc: Import interface class. 00005 // Author: memon <memon@inside.org> 00006 // 00007 //------------------------------------------------------------------------- 00008 // Copyright (c) 2000-2002 Moppi Productions. All Rights Reserved. 00009 // This file is part of Moppi Demopaja SDK. For conditions of 00010 // distribution and use, see the accompanying license.txt file. 00011 // http://moppi.inside.org/demopaja/ 00012 //------------------------------------------------------------------------- 00013 00014 #ifndef __DEMOPAJA_IMPORTINTERFACEC_H__ 00015 #define __DEMOPAJA_IMPORTINTERFACEC_H__ 00016 00017 namespace Import { 00018 class ImportInterfaceC; 00019 }; 00020 00021 #include "FactoryC.h" 00022 #include "ImportableI.h" 00023 #include "ClassIdC.h" 00024 #include "FileListC.h" 00025 #include "FileHandleC.h" 00026 #include "TimeContextC.h" 00027 #include "DeviceContextC.h" 00028 #include "CommonDialogI.h" 00029 #include <string> 00030 #include <vector> 00031 00032 namespace Import { 00033 00035 00042 class ImportInterfaceC 00043 { 00044 public: 00046 ImportInterfaceC( PajaSystem::DeviceContextC* pContext, PajaSystem::TimeContextC* pTimeContext, FileListC* pFileList, PluginClass::FactoryC* pFactory, Import::FileHandleC* pCaller ); 00048 virtual ~ImportInterfaceC(); 00049 00051 00066 virtual FileHandleC* request_import( const char* szName, const PluginClass::SuperClassIdC& rSuperFilter, 00067 const PluginClass::ClassIdC& rClassFilter ); 00068 00070 virtual void initialize_importable( Import::ImportableI* pImp, PajaTypes::uint32 ui32Reason ); 00071 00073 virtual FileListC* get_filelist(); 00074 00076 00080 virtual void add_search_directory( const char* szDir ); 00081 00083 virtual void add_common_dialog( PajaSystem::CommonDialogI* pDlg ); 00085 virtual PajaSystem::CommonDialogI* get_common_dialog( const PluginClass::ClassIdC& rClassID ); 00086 00087 private: 00088 00089 struct SearchDirS { 00090 std::string m_sDir; 00091 }; 00092 00093 PluginClass::FactoryC* m_pFactory; 00094 FileListC* m_pFileList; 00095 Import::FileHandleC* m_pCaller; 00096 PajaSystem::DeviceContextC* m_pDevContext; 00097 PajaSystem::TimeContextC* m_pTimeContext; 00098 std::vector<SearchDirS> m_rSearchDirs; 00099 std::vector<PajaSystem::CommonDialogI*> m_rCommonDialogs; 00100 }; 00101 00102 }; 00103 00104 #endif // __DEMOPAJA_IMPORTINTERFACEC_H__