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 
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