home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / som30tk.zip / som30os2.zip / include / somap.idl < prev    next >
Text File  |  1996-12-24  |  3KB  |  105 lines

  1. //
  2. //   COMPONENT_NAME: omf.prod.core - somap (somAttriubutePersistence)
  3. //
  4. //   ORIGINS: 27
  5. //
  6. //
  7. //    25H7912  (C)  COPYRIGHT International Business Machines Corp. 1995,1996 
  8. //   All Rights Reserved
  9. //   Licensed Materials - Property of IBM
  10. //   US Government Users Restricted Rights - Use, duplication or
  11. //   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  12. //
  13.  
  14. //  @(#) 1.9 src/somos/core/somap/somap.idl, somos, som3.0 9/6/96 13:56:19 [12/24/96 08:16:38]
  15.  
  16. //  Description
  17. //  -----------
  18. //  This IDL describes the interfaces that allow object attributes to be
  19. //  kept persistently across activations of the object. This differs from
  20. //  the POSSOM persistence model as this one is based on storing
  21. //  attribute values persistently as they are updated, and only reading
  22. //  them in from persistent store when they are needed.
  23. //
  24. //
  25.  
  26.  
  27. #ifndef SOM_somap_idl
  28. #define SOM_somap_idl
  29.  
  30. #include <somos.idl>
  31. #include <somtdm.idl>
  32.  
  33.  
  34. module somAttributePersistence {
  35.  
  36.     //#--------------------------------------------------------------
  37.     //# Forward declaration of interfaces
  38.     //#--------------------------------------------------------------
  39.  
  40.     interface Persist;
  41.  
  42.  
  43.  
  44.     //#--------------------------------------------------------------
  45.     //# Persist - this interface provides clients with the operations
  46.     //# needed to load and store attribute data. It inherits from
  47.     //# somOS::ServiceBasePRef which ensures that object references
  48.     //# built by the somOS::Server for these objects will be
  49.     //# persistent.
  50.     //#--------------------------------------------------------------
  51.  
  52.     interface Persist : TypecodeDataManipulator,
  53.                         somOS::ServiceBasePRef
  54.     {
  55.  
  56.         //#--------------------------------------------------
  57.         //# Operation definitions
  58.         //#--------------------------------------------------
  59.  
  60.         void    load_attribute (in string attribute_name,
  61.                                 out void *buffer, in TypeCode attribute_tc);
  62.  
  63.         void    store_attribute (in string attribute_name,
  64.                                  in void *buffer, in TypeCode attribute_tc);
  65.  
  66.  
  67.         #ifdef __SOMIDL__
  68.         //#--------------------------------------------------
  69.         //# Implementation Section
  70.         //#--------------------------------------------------
  71.         implementation {
  72.                releaseorder: load_attribute,
  73.                              store_attribute;
  74.  
  75.                majorversion = 3;
  76.                minorversion = 0;
  77.  
  78.                dllname = "somos.dll";
  79.  
  80.                init_for_object_creation:      override;
  81.                init_for_object_reactivation:  override;
  82.                init_for_object_copy:          override;
  83.                reinit:                        override;
  84.                capture:                       override;
  85.                uninit_for_object_move:        override;
  86.                uninit_for_object_passivation: override;
  87.                uninit_for_object_destruction: override;
  88.                somDefaultInit:                override, init;
  89.                somDestruct:                   override;
  90.  
  91.  
  92.  
  93.         };
  94.         #endif //# __SOMIDL__
  95.  
  96.     }; //# end Persist interface 
  97.  
  98.  
  99.  
  100. }; //# end somAttributePersistence module 
  101.  
  102. #endif  //# SOM_somap_idl
  103.  
  104.  
  105.