home *** CD-ROM | disk | FTP | other *** search
/ The Developer Connection…ice Driver Kit for OS/2 3 / DEV3-D1.ISO / source / bento / headers / nmspcmgr.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-03-02  |  2.5 KB  |  90 lines

  1. /*
  2.     File:        NmSpcMgr.h
  3.  
  4.     Contains:    Definition of XMPNameSpaceManager class
  5.  
  6.     Written by:    Caia Grisar
  7.  
  8.     Copyright:    ⌐ 1993 by Apple Computer, Inc., all rights reserved.
  9.  
  10.     Change History (most recent first):
  11.  
  12.          <2>     1/29/94    NP        Init changes, XMPmethod changes and
  13.                                     CreateNameSpace change.
  14.          <1>     1/14/94    CG        first checked in
  15.     To Do:
  16. */
  17.  
  18. #ifndef _NMSPCMGR_
  19. #define _NMSPCMGR_
  20.  
  21. #ifndef _XMPOBJ_
  22. #include "XMPObj.h"
  23. #endif
  24.  
  25. #ifndef _NAMSPACE_
  26. #include "NamSpace.h"
  27. #endif
  28.  
  29. //==============================================================================
  30. // Classes defined in this interface
  31. //==============================================================================
  32.  
  33. class XMPAbsNameSpaceManager;
  34.  
  35. //==============================================================================
  36. // XMPAbsNameSpaceManager
  37. //==============================================================================
  38.  
  39. class XMPAbsNameSpaceManager : public XMPObject
  40. {
  41.   public:
  42.  
  43.     XMPAbsNameSpaceManager() {}
  44.     XMPVMethod ~XMPAbsNameSpaceManager() {}
  45.     
  46.     XMPVMethod XMPNameSpace*    CreateNameSpace(XMPISOStr        spaceName,
  47.                                             XMPNameSpace*    inheritsFrom,
  48.                                             XMPULong        numExpectedEntries)
  49.         = 0;
  50.         // Create a new namespace.
  51.         //    kXMPErrKeyAlreadyExists is thrown if a namespace with this name
  52.         //    already exists. If an out of memory condition is detected, the
  53.         //    XMPNameSpace object being constructed will be destroyed and the
  54.         //    out of memory exception will be rethrown.
  55.         //    Ñ spaceName - the name for this space.
  56.         //    Ñ contentType - the type of values that can be registered here:
  57.         //                        XMPISOStr or XMPOSType or XMPSLong.
  58.         //    Ñ inheritsFrom - XMPNameSpace to search if GetValue fails in this
  59.         //                        one.
  60.         //                        If NULL, none has been provided. If an
  61.         //                        XMPNameSpace is deleted via DeleteNameSpace,
  62.         //                        any other XMPNameSpaces using that XMPNameSpace
  63.         //                        for inheritence will
  64.         //                        remove their references to it.
  65.         //    Ñ numExpectedEntries - the number of entries that you expect to make
  66.         //                            in this table.
  67.  
  68.     XMPVMethod void                DeleteNameSpace(XMPNameSpace* theNameSpace)
  69.         = 0;
  70.  
  71.         // Remove a namespace.
  72.  
  73.     XMPVMethod XMPNameSpace*        HasNameSpace(XMPISOStr spaceName)
  74.         = 0;
  75.  
  76.         // Answer whether there is a NameSpace of this name. NULL is returned
  77.         //    if no XMPAbsNameSpace with that name exists, a valid XMPAbsNameSpace*
  78.         //    is returned otherwise.
  79.         
  80.     XMPVMethod XMPSize            Purge(XMPSize howMuch)
  81.         = 0;
  82. };
  83.  
  84. #ifndef _NMSPCMGM_
  85. #include "NmSpcMgM.h"
  86. #endif
  87.  
  88.  
  89. #endif // _NMSPCMGR_
  90.