Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HIOUtilityDGN.h
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