Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

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