Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HIOUtilityHsf.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 _HIOUTILITYHSF_H
00011 #define _HIOUTILITYHSF_H
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 
00024 class MVO_API HIOUtilityHsf: public HInputHandler, public HOutputHandler
00025 {
00026 
00027 public:
00028 
00030     HIOUtilityHsf() {
00031         SetInputOps(HInputOpFileInputByKey);
00032         SetOutputOps(HOutputOpFileOutputByKey);
00033     };
00034 
00035     virtual ~HIOUtilityHsf() {;};
00036 
00039     const char * GetOutputName() { return "HIOUtilityHsf"; }
00040     const char * GetInputName() { return "HIOUtilityHsf"; }
00041 
00043     void RegisterInputHandlerTypes();
00044 
00046     const char * GetInputTypesString();
00047 
00049     HInputHandlerStyle GetInputStyle() {return HInputHandlerStyleModel;};
00050 
00060     HFileInputResult FileInputByKey(const __wchar_t * FileName, HC_KEY key, HInputHandlerOptions * options);
00061 
00062     HFileInputResult FileInputByKey(const char * FileName, HC_KEY key, HInputHandlerOptions * options){
00063         return FileInputByKey(H_WCS(FileName).encodedText(), key, options);
00064     };
00065 
00066     HFileInputResult FileInputByKey(const unsigned short * FileName, HC_KEY key, HInputHandlerOptions * options){
00067         H_UTF16 utf16;
00068         utf16.encodedText((utf16_char const*) FileName);
00069         return FileInputByKey(H_WCS(utf16).encodedText(), key, options);
00070     };
00071 
00073     void RegisterOutputHandlerTypes();
00074 
00076     const char * GetOutputTypesString();
00077 
00079     HOutputHandlerStyle GetOutputStyle() {return HOutputHandlerStyleModel;};
00080 
00090     HFileOutputResult FileOutputByKey(const __wchar_t * filename, HC_KEY key, HOutputHandlerOptions * options);
00091 
00092     HFileOutputResult FileOutputByKey(const unsigned short * filename, HC_KEY key, HOutputHandlerOptions * options){
00093         H_UTF16 utf16;
00094         utf16.encodedText((utf16_char const*) filename);
00095         return FileOutputByKey(H_WCS(utf16).encodedText(), key, options);
00096     }
00097 
00098     HFileOutputResult FileOutputByKey(const char * filename, HC_KEY key, HOutputHandlerOptions * options){
00099         return FileOutputByKey(H_WCS(filename).encodedText(), key, options);
00100     }
00101 
00102 private:
00103     HFileOutputResult FileOutputCommon(const __wchar_t * FileName, HC_KEY key,  HOutputHandlerOptions * options);
00104 
00105 
00106 };
00107 
00108 
00109 #ifdef H_PACK_8
00110 #pragma pack(pop)
00111 #endif
00112 
00113 #endif