00001 // 00002 // Copyright (c) 2005 by Tech Soft 3D, LLC. 00003 // The information contained herein is confidential and proprietary to 00004 // Tech Soft 3D, LLC., and considered a trade secret as defined under 00005 // civil and criminal statutes. Tech Soft 3D shall pursue its civil 00006 // and criminal remedies in the event of unauthorized use or misappropriation 00007 // of its trade secrets. Use of this information by anyone other than 00008 // authorized employees of Tech Soft 3D, LLC. is granted only under a 00009 // written non-disclosure agreement, expressly prescribing the scope and 00010 // manner of such use. 00011 // 00012 00013 00014 #ifndef _HIO_UTILITY_DGN_2__02052008_1230_ 00015 #define _HIO_UTILITY_DGN_2__02052008_1230_ 00016 00017 #ifdef H_PACK_8 00018 #pragma pack(push) 00019 #pragma pack(8) 00020 #endif 00021 00022 #include "HTools.h" 00023 #include "HIOManager.h" 00024 00025 00026 #ifdef HIO_DGN 00027 #define HIO_API __declspec (dllexport) 00028 #else 00029 #define HIO_API 00030 #endif 00031 00038 class HIO_API HIOUtilityDGN : public HInputHandler 00039 { 00040 00041 00042 public: 00043 00045 HIOUtilityDGN() 00046 { 00047 SetInputOps(HInputOpFileInputByKey); 00048 }; 00049 00050 ~HIOUtilityDGN() {;}; 00051 00053 void RegisterInputHandlerTypes() { 00054 HIORegisterInputType("DGN",this); // DGN (Bentley's CAD format) 00055 HIORegisterInputType("dgn",this); // DGN (Bentley's CAD format) 00056 }; 00057 00060 const char * GetOutputName() { return "HIOUtilityDGN"; } 00061 const char * GetInputName() { return "HIOUtilityDGN"; } 00062 00064 HInputHandlerStyle GetInputStyle() {return HInputHandlerStyleModel;}; 00065 00067 const char * GetInputTypesString() {return "dgn";}; 00068 00075 HFileInputResult FileInputByKey(const char * FileName, HC_KEY key, HInputHandlerOptions * options); 00076 00077 HFileInputResult FileInputByKey(const wchar_t * FileName, HC_KEY key, HInputHandlerOptions * options); 00078 00085 HFileInputResult FileInputByKey(const unsigned short * FileName, HC_KEY key, HInputHandlerOptions * options); 00086 00087 00089 void InitDGNDirect(); 00090 00092 void ShutdownDGNDirect(); 00093 00094 }; 00095 00096 #ifdef HIO_DGN 00097 extern "C" { 00098 HIO_API void * CreateInput(HIOManager *manager); 00099 HIO_API void * CreateOutput(HIOManager *manager); 00100 HIO_API void * CreateConnector(void *unused); 00101 HIO_API void Free(HIOUtilityDGN *); 00102 HIO_API void FreeConnector(HIOConnector *connector); 00103 } 00104 #endif 00105 00106 00107 00108 #ifdef H_PACK_8 00109 #pragma pack(pop) 00110 #endif 00111 00112 #endif //_HIO_UTILITY_DGN_2__02052008_1230_ 00113 00114 00115 00116 00117 00118