Factory.h

Go to the documentation of this file.
00001 /*#############################################################################
00002 ##                 #                                                         ##
00003 ##  Factory.h      # Common - KernelServices - Factory header file           ##
00004 ##                 #                                                         ##
00005 ###############################################################################
00006 ##                                                                           ##
00007 ##           Copyright (c) 1995-2005 bbv Software Services Ltd.              ##
00008 ##                                                                           ##
00009 ## ************************************************************************* ##
00010 ##                                                                           ##
00011 ## The authors hereby grant permission to use, copy, modify, distribute,     ##
00012 ## and license this software and its documentation for any purpose, provided ##
00013 ## that existing copyright notices are retained in all copies and that this  ##
00014 ## notice and the following disclaimer are included verbatim in any          ##
00015 ## distributions. No written agreement, license, or royalty fee is required  ##
00016 ## for any of the authorized uses.                                           ##
00017 ##                                                                           ##
00018 ## All advertising materials mentioning features or use of this software     ##
00019 ## must display the following acknowledgement:                               ##
00020 ## This product includes software developed by bbv Software Services.        ##
00021 ##                                                                           ##
00022 ## The name of the company may not be used to endorse or promote products    ##
00023 ## derived from this software without specific prior written permission.     ##
00024 ##                                                                           ##
00025 ## ************************************************************************* ##
00026 ##                                                                           ##
00027 ## THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR  ##
00028 ## IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ##
00029 ## OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.   ##
00030 ## IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,    ##
00031 ## INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT  ##
00032 ## NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ##
00033 ## DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY     ##
00034 ## THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT       ##
00035 ## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF  ##
00036 ## THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.         ##
00037 ##                                                                           ##
00038 #############################################################################*/
00039 
00040 #ifndef Factory_h
00041 #define Factory_h
00042 
00043 #ifndef OLD_CPP
00044 namespace ApparatusFramework {
00045 #endif
00046 
00062 class Factory {
00063 public:
00069   static Factory* Create();
00070 
00074   static Factory* Default();
00075 
00079   static bool IsCreated();
00080 
00081 
00082 private:
00083 /* constructors, destructors */
00086   Factory();
00087 
00090   Factory(const Factory& right);
00091 
00094   ~Factory();
00095 
00100   static Factory* m_pInstance;
00101 
00102 
00103 public:
00106   void initialize();
00107 
00110   void startup();
00111 };
00112 
00113 #ifndef OLD_CPP
00114 };
00115 #endif
00116 
00117 #endif  // Factory_h
00118 
© 2004-2010 bbv Software Services AG / Apparatus Services