summaryrefslogtreecommitdiff
path: root/odb/tracer
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2011-07-04 17:53:47 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2011-07-04 17:53:47 +0200
commit932cd7a53b3996468fee5cfa63c2b2998dbe971a (patch)
tree55424fe09a95310bc2b8e6d1473108b64107e06c /odb/tracer
parent1ac1ae65e6cbf42c002acb27615127bbc0b20d9e (diff)
Implement support for database operations callbacks
New object pragma: callback. New test: common/callback. New manual section: 10.1.4, "callback".
Diffstat (limited to 'odb/tracer')
-rw-r--r--odb/tracer/header.cxx10
-rw-r--r--odb/tracer/inline.cxx14
2 files changed, 24 insertions, 0 deletions
diff --git a/odb/tracer/header.cxx b/odb/tracer/header.cxx
index 16bee82..ac89ec7 100644
--- a/odb/tracer/header.cxx
+++ b/odb/tracer/header.cxx
@@ -88,6 +88,16 @@ namespace tracer
os << "static bool" << endl
<< "find (database&, const id_type&, object_type&);";
+ // callback ()
+ //
+ os << "static void" << endl
+ << "callback (database&, object_type&, callback_event);"
+ << endl;
+
+ os << "static void" << endl
+ << "callback (database&, const object_type&, callback_event);"
+ << endl;
+
os << "};";
}
};
diff --git a/odb/tracer/inline.cxx b/odb/tracer/inline.cxx
index f4125a9..e8feec8 100644
--- a/odb/tracer/inline.cxx
+++ b/odb/tracer/inline.cxx
@@ -42,6 +42,20 @@ namespace tracer
<< "{"
<< "return obj." << id.name () << ";" << endl
<< "}";
+
+ // callback ()
+ //
+ os << "inline" << endl
+ << "void " << traits << "::" << endl
+ << "callback (database&, object_type&, callback_event)"
+ << "{"
+ << "}";
+
+ os << "inline" << endl
+ << "void " << traits << "::" << endl
+ << "callback (database&, const object_type&, callback_event)"
+ << "{"
+ << "}";
}
};
}