freSessionBuilder.h

Go to the documentation of this file.
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: freSessionBuilder.h,v $
00007   Language:  C++
00008 
00009 
00010 
00011   Copyright (c) 2007 Ralf o Floca (Department of Medical Informatics,
00012   Institute for Medical Biometry and Informatics, University of Heidelberg,
00013   Germany). All rights reserved.
00014   See FREECopyright.txt or http://www.mi.med.uni-hd.de/free/copyright.htm
00015   for details.
00016 
00017      This software is distributed WITHOUT ANY WARRANTY; without even 
00018      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00019      PURPOSE.  See the above copyright notices for more information.
00020 
00021 =========================================================================*/
00022 #ifndef __freSessionBuilder_h
00023 #define __freSessionBuilder_h
00024 
00025 #include "freElementals.h"
00026 #include "freSetup.h"
00027 #include "freStatistics.h"
00028 #include "freControllerInterface.h"
00029 
00030 #include "freSessionInfo.h"
00031 
00032 namespace FREE
00033 {
00034 
00046 class SessionBuilder
00047 {
00048 public:
00049   typedef ComponentControllerInterface GenericComponentController;
00051   typedef GenericComponentController::GenericComponentType GenericComponentType;
00054   typedef GenericComponentController::GenericComponentPointer GenericComponentPointer;
00056   typedef GenericComponentController::GenericMediaType GenericMediaType;
00057   typedef GenericComponentController::GenericMediaPointer GenericMediaPointer;
00058 
00072   static SessionComponentCache::Pointer BuildComponent (ComponentSetup* pComponentSetup, SessionComponentCache* pParentComponentCache);
00073 
00085   static SessionInfo::Pointer BuildSession (Setup* pSetup);
00086 
00101   static SessionComponentCache::Pointer GeneratePassiveComponentCache (ComponentSetup* pComponentSetup, SessionComponentCache* pParentComponentCache = NULL);
00102 
00106         static bool CheckComponentNecessity(const SessionComponentCache* pComponentCache);
00112   static bool CheckComponentNecessity(const SessionComponentCache* pParentCache, const ComponentID& componentID);
00113 
00122   static void ActualizeComponent(SessionComponentCache* pComponentCache, SessionInfo* pSessionInfo, const unsigned int& iActiveLayer = 0);
00123 
00138   static void ActualizeSession (SessionInfo* pSessionInfo, const unsigned int& iActiveLayer = 0);
00139 
00148   static void SetStatisticEntry(StatisticEntry& rStatisticEntry, SessionComponentCache* pComponentCache,
00149                                SessionInfo* pSessionInfo);
00150 
00155   static void LinkMediaToComponent(SessionComponentCache* pComponentCache, SessionInfo* pInfo);
00156 
00161   static void LinkMediaToComponentByID(const std::string& sMediaID, SessionComponentCache* pComponentCache, SessionInfo* pInfo);
00162 
00163   SessionBuilder();
00164   ~SessionBuilder();
00165 };
00166 
00167 } //end of namespace free;
00168 
00169 #endif

Generated at Sat Oct 13 17:27:23 2007 for f.r.e.e. - Flexible Registration and Evaluation Engine by doxygen 1.5.3 written by Dimitri van Heesch, © 1997-2000