diff host/libcdl/cdlcore.hxx @ 105:5a0cc6c243a9 ecos-sw-2000-06-30

Merge from eCos master repository on 2000-06-30-08:18:49-BST
author jlarmour
date Fri, 30 Jun 2000 16:27:35 +0000
parents 95f3e12a6327
children 6ed91473a1cd
line wrap: on
line diff
--- a/host/libcdl/cdlcore.hxx
+++ b/host/libcdl/cdlcore.hxx
@@ -4656,11 +4656,16 @@ class CdlTransactionCallback {
     friend class CdlTransactionBody;
     
   public:
-    CdlTransactionCallback();
     ~CdlTransactionCallback();
     static void (*get_callback_fn())(const CdlTransactionCallback&);
     static void set_callback_fn(void (*)(const CdlTransactionCallback&));
 
+    // Callback functions should be able to retrieve information
+    // about the current transaction and toplevel, to avoid the use
+    // of statics.
+    CdlTransaction              get_transaction() const;
+    CdlToplevel                 get_toplevel() const;
+    
     // active_changes and legal_values_changes get updated as the
     // transaction proceeds, so a set implementation is more
     // efficient. The others get filled in during a commit operation.
@@ -4681,7 +4686,12 @@ class CdlTransactionCallback {
   protected:
 
   private:
-
+    CdlTransactionCallback(CdlTransaction);
+    CdlTransaction      transact;
+
+    // Illegal operation.
+    CdlTransactionCallback();
+    
     enum {
         CdlTransactionCallback_Invalid     = 0,
         CdlTransactionCallback_Magic       = 0x0cec3a95