Anaphe Home Page Reference Documentation

Main Page     Namespaces     Classes     Source Code    

IAnnotationFactory.h

Go to the documentation of this file.
00001 // 
00002 // Copyright (C) CERN, Geneva 
00003 // 
00004 // header file for class IAnnotationFactory 
00005 // Created by: Andreas Pfeiffer  at Wed Jan 19 20:36:32 2000
00006 // 
00007 // Last update: 
00008 //              
00009 // 
00010 #ifndef INTERFACES_IANNOTATIONFACTORY_H
00011 #define INTERFACES_IANNOTATIONFACTORY_H 1
00012 
00013 #ifndef ANAPHE_NO_NAMESPACE
00014 namespace Anaphe {
00015 #endif
00016 
00017   class IAnnotation;
00018 
00019   class IAnnotationFactory { 
00020 
00021   public: 
00022     virtual ~IAnnotationFactory() { /* nop */ ; }
00023 
00024   public:
00025     // let the compiler deal with these ...
00026     //  IAnnotationFactory(const IAnnotationFactory &); 
00027     //  IAnnotationFactory & operator = (const IAnnotationFactory &); 
00028 
00029   public:               // public methods
00030     virtual IAnnotation * create() = 0;
00031     virtual IAnnotation * create(const IAnnotation * other) = 0;
00032   
00033   }; 
00034 
00035 #ifndef ANAPHE_NO_NAMESPACE
00036 }; // end namespace Anaphe
00037 #endif
00038 
00039 // for access from dynamic loading
00040 
00041 extern "C" {
00042   Anaphe::IAnnotationFactory * createIAnnotationFactory();
00043 }
00044 
00045 #endif /* INTERFACES_IANNOTATIONFACTORY_H */ 


Anaphe documentation generated by Doxygen (www.doxygen.org)