00001 /*========================================================================= 00002 00003 Program: F.R.E.E. - flexible registration evaluation engine 00004 Version: v.1.0.0 00005 Date: $Date: 2006/09/01 12:00:00 $ 00006 Module: $RCSfile: freSetupOptimizationCtrlrs.h,v $ 00007 Language: C++ 00008 00009 00010 00011 Copyright (c) 2003 University Heidelberg, University of applied science Heilbronn. 00012 All rights reserved. 00013 00014 Portions of this code are covered under the ITK copyright. 00015 See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details. 00016 00017 Portions of this code are covered under the VTK copyright. 00018 See VTKCopyright.txt or http://www.kitware.com/VTKCopyright.htm for details. 00019 00020 This software is distributed WITHOUT ANY WARRANTY; without even 00021 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00022 PURPOSE. See the above copyright notices for more information. 00023 00024 =========================================================================*/ 00025 #ifndef __freSetupOptimizationCtrlrs_h 00026 #define __freSetupOptimizationCtrlrs_h 00027 00028 #include "freElementals.h" 00029 #include "freControllerBase.h" 00030 #include "freControllerCentral.h" 00031 00032 namespace FREE 00033 { 00034 00035 #ifndef __FREE_DISABLE_DLL_INTERFACE 00036 00037 namespace 00038 { 00039 extern "C" 00040 #ifdef _WIN32 00041 __declspec( dllexport ) 00042 #endif 00043 void FREEGetControllerList(int& iControllerCount, const char**& pControllerIDs); 00044 00045 extern "C" 00046 #ifdef _WIN32 00047 __declspec( dllexport ) 00048 #endif 00049 GenericComponentController* FREECreateController(const char* pControllerID); 00050 00051 extern "C" 00052 #ifdef _WIN32 00053 __declspec( dllexport ) 00054 #endif 00055 bool FREEDeleteController (GenericComponentController* pController); 00056 00057 extern "C" 00058 #ifdef _WIN32 00059 __declspec( dllexport ) 00060 #endif 00061 void FREELinkCentralAsDedicated (::FREE::ControllerCentral::ControllerListType* pDedicatedControllerList, 00062 ::FREE::ControllerCentral::LibraryHandleListType* pDedicatedLibraryHandles, 00063 ::FREE::ProgressEventBase* pfnOnControl, ::FREE::ProgressEventBase* pfnOnBuild, 00064 ::FREE::ControllerCentral::CtrlCallbackListType* pCallbackList, 00065 ::FREE::ControllerCentral::CtrlProgressListType* pCtrlProgressList, 00066 ::itk::MutexLock* pGlobalCallbackMutex, 00067 ::itk::MutexLock* pGlobalProgressMutex); 00068 00069 } 00070 00071 #endif 00072 00073 class SetupOptimizationCtrlrs 00074 { 00075 public: 00076 static void RegisterAllControllers(ControllerCentral* pCentral); 00077 00078 static void GetControllerList(int& iControllerCount, const char**& pControllerIDs); 00079 static GenericComponentController* CreateController(const char* pControllerID); 00080 }; 00081 00082 00083 } //end of namespace free 00084 00085 #endif
1.5.3 written by Dimitri van Heesch,
© 1997-2000