Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HIOUtilityOOC.h

00001 /*
00002  * Copyright (c) 2009 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: e006ee736cfc033c6fdc043e848a7760ff42bce2 $
00013  */
00014 
00015 #ifndef _HIOUTILITYOOC_H
00016 #define _HIOUTILITYOOC_H
00017 
00018 #include "HIOManager.h"
00019 #include "utf_utils.h"
00020 
00021 #ifdef _MSC_VER
00022 #define HIO_API __declspec (dllexport)
00023 #else
00024 #define HIO_API
00025 #endif
00026 
00027 class HIO_API HOOCOptions {
00028 public:
00029     HOOCOptions () {};
00030     ~HOOCOptions () {};
00031 };
00032 
00037 class HIO_API HIOUtilityOOC : public HInputHandler {
00038 public:
00040     HIOUtilityOOC ();
00041     ~HIOUtilityOOC ();
00042     
00043 
00050     HFileInputResult FileInputByKey ( wchar_t const * filename, HC_KEY key, HInputHandlerOptions * options );
00051         HFileInputResult FileInputByKey ( char const * filename, HC_KEY key, HInputHandlerOptions * options ) {
00058         return FileInputByKey(H_WCS(filename).encodedText(), key, options);
00059     };
00060     
00061     char const * GetInputName () { return "HIOUtilityOOC"; };
00062     char const * GetInputTypesString () { return "ooc"; };
00063     HInputHandlerStyle GetInputStyle () { return HInputHandlerStyleModel; };
00064     void RegisterInputHandlerTypes ();
00065 
00066     static bool FreePointCloudData ( int signal, void * signal_data, void * user_data );
00067     static bool UpdateCheck ( float request_time, float actual_time, void * user_data );
00068 };
00069 
00070 #ifdef HIO_OOC_IMPORT
00071 extern "C" {
00072     HIO_API void * CreateInput ( HIOManager * manager );
00073     HIO_API void * CreateOutput ( HIOManager * manager );
00074     HIO_API void * CreateConnector ( void * unused );
00075     HIO_API void Free ( HIOUtilityOOC * handler );
00076     HIO_API void FreeConnector ( HIOConnector * connector );
00077 }
00078 #endif
00079 
00080 #endif // _HIOUTILITYOOC_H