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 #pragma once 00011 00012 #ifdef H_PACK_8 00013 #pragma pack(push) 00014 #pragma pack(8) 00015 #endif 00016 00017 #include "HTools.h" 00018 #include "HIOManager.h" 00019 #include "MrDwgReader.h" 00020 00021 #ifdef HIO_DWG 00022 #define HIO_API __declspec (dllexport) 00023 #else 00024 #define HIO_API 00025 #endif 00026 00031 class HIO_API hio_dwg : public HInputHandler 00032 { 00033 public: 00034 00038 static bool InitRealDWG(); 00039 00043 static void ShutDownRealDWG(); 00044 00045 00053 HFileIOResult FileInputByKey(const wchar_t * FileName, HC_KEY key, HInputHandlerOptions * options); 00054 HFileIOResult FileInputByKey(const char * FileName, HC_KEY key, HInputHandlerOptions * options); 00055 HFileIOResult FileInputByKey(const unsigned short * FileName, HC_KEY key, HInputHandlerOptions * options); 00056 00064 HFileIOResult DatabaseInputByKey(AcDbDatabase* pAcDbDatabase, HC_KEY key, HInputHandlerOptions * options); 00065 00066 00067 hio_dwg(); 00068 ~hio_dwg(); 00069 00071 void RegisterInputHandlerTypes(); 00072 00074 const char * GetInputName(); 00075 00077 const char * GetInputTypesString(); 00078 00080 HInputHandlerStyle GetInputStyle(); 00081 00082 static bool bDWGInitialized; 00083 }; 00084 00085 00086 #ifdef H_PACK_8 00087 #pragma pack(pop) 00088 #endif