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 _HIOUTILITYOOC_H 00011 #define _HIOUTILITYOOC_H 00012 00013 #include "HIOManager.h" 00014 #include "utf_utils.h" 00015 00016 00017 #ifdef _MSC_VER 00018 # define HIO_API __declspec (dllexport) 00019 #else 00020 # define HIO_API __attribute__ ((visibility ("default"))) 00021 #endif 00022 00023 class HIO_API HOOCOptions { 00024 public: 00025 HOOCOptions () {} 00026 ~HOOCOptions () {} 00027 }; 00028 00033 class HIO_API HIOUtilityOOC : public HInputHandler { 00034 public: 00036 HIOUtilityOOC (); 00037 ~HIOUtilityOOC (); 00038 00039 00046 virtual HFileInputResult FileInputByKey (wchar_t const * filename, HC_KEY key, HInputHandlerOptions * options); 00047 00054 virtual HFileInputResult FileInputByKey (char const * filename, HC_KEY key, HInputHandlerOptions * options) { 00055 return FileInputByKey(H_WCS(filename).encodedText(), key, options); 00056 } 00057 00058 virtual char const * GetInputName () { return "HIOUtilityOOC"; } 00059 virtual char const * GetInputTypesString () { return "ooc;oocd"; } 00060 virtual HInputHandlerStyle GetInputStyle () { return HInputHandlerStyleModel; } 00061 virtual void RegisterInputHandlerTypes (); 00062 }; 00063 00064 #ifdef HIO_OOC_IMPORT 00065 extern "C" { 00066 HIO_API void * CreateInput (HIOManager * manager); 00067 HIO_API void * CreateOutput (HIOManager * manager); 00068 HIO_API void * CreateConnector (void * unused); 00069 HIO_API void FreeConnector (HIOConnector * connector); 00070 HIO_API void Free (HIOUtilityOOC * handler); 00071 } 00072 #endif 00073 00074 #endif // _HIOUTILITYOOC_H