Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

/magnus/back_end/SessionManager/include/ObjectSmith.h

Go to the documentation of this file.
00001 /*
00002  *   $Id: ObjectSmith.h,v 1.5 2000/09/26 20:31:00 bormotov Exp $
00003  */
00004  
00005 // Copyright (C) 1995 The New York Group Theory Cooperative
00006 // See magnus/doc/COPYRIGHT for the full notice.
00007 //
00008 // Contents: Declaration of class ObjectSmith
00009 //
00010 // Principal Author: Roger Needham
00011 //
00012 // Status: in progress
00013 //
00014 // Revision History:
00015 //
00016 
00017 
00018 #ifndef _OBJECTSMITH_H_
00019 #define _OBJECTSMITH_H_
00020 
00021 
00022 #include "Menu.h"
00023 
00024 
00025 //---------------------------------------------------------------------------//
00026 //---------------------------- ObjectSmith ----------------------------------//
00027 //---------------------------------------------------------------------------//
00028 
00029 
00030 class ObjectSmith : protected Menu
00031 {
00032 public:
00033   static void outputPackagesMenuDefns(ostream& ostr);
00034 private:
00035 
00036   /////////////////////////////////////////////////////////////////////////
00037   //                                                                     //
00038   // Constructors:                                                       //
00039   //                                                                     //
00040   /////////////////////////////////////////////////////////////////////////
00041 
00042   ObjectSmith( );
00043   // No ctors for this static class; not to be implemented.
00044 
00045   /////////////////////////////////////////////////////////////////////////
00046   //                                                                     //
00047   // `Public' Members Touched by Friends:                                //
00048   //                                                                     //
00049   /////////////////////////////////////////////////////////////////////////
00050 
00051   friend class SessionManager;
00052   friend Menu;     //@rn Hackery, so it can call registerCallBack.
00053 
00054   static void outputCheckinMenuDefns(ostream& ostr);
00055   static void outputToolsMenuDefns(ostream& ostr);
00056   static void outputMakeMenuDefns(ostream& ostr);
00057   static void outputTestingMenuDefns(ostream& ostr);
00058   // These methods are implemented in the file "menuDefns.C".
00059   // Used by class SessionManager.
00060 
00061   static void readMessage(istream& istr);
00062   // Used by class SessionManager.
00063 
00064   /////////////////////////////////////////////////////////////////////////
00065   //                                                                     //
00066   // Call Back Handlers:                                                 //
00067   //                                                                     //
00068   /////////////////////////////////////////////////////////////////////////
00069 
00070   static int registerCallBack(Ctor* ctor);
00071 
00072   /////////////////////////////////////////////////////////////////////////
00073   //                                                                     //
00074   // Data Members:                                                       //
00075   //                                                                     //
00076   /////////////////////////////////////////////////////////////////////////
00077 
00078   static int theCallBacksLen;
00079   static Ctor** theCallBacks;
00080   static Ctor** freeCallBack;
00081   static const int jumpSize = 64;
00082 };
00083 
00084 #endif

Generated at Tue Jun 19 09:49:38 2001 for Magnus Classes by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001