00001 // 00002 // Copyright (c) 2000 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 // $Id$ 00013 // 00014 00015 #ifndef _HIOUTILITYHSF_H 00016 #define _HIOUTILITYHSF_H 00017 00018 #ifdef H_PACK_8 00019 #pragma pack(push) 00020 #pragma pack(8) 00021 #endif 00022 00023 #include "HTools.h" 00024 #include "HIOManager.h" 00025 00029 class MVO_API HIOUtilityHsf: public HInputHandler, public HOutputHandler 00030 { 00031 00032 public: 00033 00035 HIOUtilityHsf() { 00036 SetInputOps(HInputOpFileInputByKey); 00037 SetOutputOps(HOutputOpFileOutputByKey); 00038 }; 00039 00040 virtual ~HIOUtilityHsf() {;}; 00041 00044 const char * GetOutputName() { return "HIOUtilityHsf"; } 00045 const char * GetInputName() { return "HIOUtilityHsf"; } 00046 00048 void RegisterInputHandlerTypes(); 00049 00051 const char * GetInputTypesString(); 00052 00054 HInputHandlerStyle GetInputStyle() {return HInputHandlerStyleModel;}; 00055 00065 HFileInputResult FileInputByKey(const __wchar_t * FileName, HC_KEY key, HInputHandlerOptions * options); 00066 00067 HFileInputResult FileInputByKey(const char * FileName, HC_KEY key, HInputHandlerOptions * options){ 00068 return FileInputByKey(H_WCS(FileName).encodedText(), key, options); 00069 }; 00070 00071 HFileInputResult FileInputByKey(const unsigned short * FileName, HC_KEY key, HInputHandlerOptions * options){ 00072 H_UTF16 utf16; 00073 utf16.encodedText((utf16_char const*) FileName); 00074 return FileInputByKey(H_WCS(utf16).encodedText(), key, options); 00075 }; 00076 00078 void RegisterOutputHandlerTypes(); 00079 00081 const char * GetOutputTypesString(); 00082 00084 HOutputHandlerStyle GetOutputStyle() {return HOutputHandlerStyleModel;}; 00085 00095 HFileOutputResult FileOutputByKey(const __wchar_t * filename, HC_KEY key, HOutputHandlerOptions * options); 00096 00097 HFileOutputResult FileOutputByKey(const unsigned short * filename, HC_KEY key, HOutputHandlerOptions * options){ 00098 H_UTF16 utf16; 00099 utf16.encodedText((utf16_char const*) filename); 00100 return FileOutputByKey(H_WCS(utf16).encodedText(), key, options); 00101 } 00102 00103 HFileOutputResult FileOutputByKey(const char * filename, HC_KEY key, HOutputHandlerOptions * options){ 00104 return FileOutputByKey(H_WCS(filename).encodedText(), key, options); 00105 } 00106 00107 private: 00108 HFileOutputResult FileOutputCommon(const __wchar_t * FileName, HC_KEY key, HOutputHandlerOptions * options); 00109 00110 00111 }; 00112 00113 00114 #ifdef H_PACK_8 00115 #pragma pack(pop) 00116 #endif 00117 00118 #endif