Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

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