Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

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