summaryrefslogtreecommitdiff
path: root/xsd/examples/cxx/parser/multiroot/protocol.hxx
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff.email>2025-05-02 07:42:02 +0200
committerJörg Frings-Fürst <debian@jff.email>2025-05-02 07:42:02 +0200
commitfc486627a4ecbae797fa6856d8a9204ea85f4db8 (patch)
treeff3dae4c0e5d980d8e2da4fc6256ae839269bbcd /xsd/examples/cxx/parser/multiroot/protocol.hxx
parent1c188393cd2e271ed2581471b601fb5960777fd8 (diff)
parentecba0bbd9947036dd82f16ab95252f8db445e149 (diff)
Merge tag 'debian/4.0.0-10' into developdevelop
Bugfix release
Diffstat (limited to 'xsd/examples/cxx/parser/multiroot/protocol.hxx')
-rw-r--r--xsd/examples/cxx/parser/multiroot/protocol.hxx61
1 files changed, 61 insertions, 0 deletions
diff --git a/xsd/examples/cxx/parser/multiroot/protocol.hxx b/xsd/examples/cxx/parser/multiroot/protocol.hxx
new file mode 100644
index 0000000..bbf5b56
--- /dev/null
+++ b/xsd/examples/cxx/parser/multiroot/protocol.hxx
@@ -0,0 +1,61 @@
+// file : examples/cxx/parser/multiroot/protocol.hxx
+// copyright : not copyrighted - public domain
+
+#ifndef PROTOCOL_HXX
+#define PROTOCOL_HXX
+
+namespace protocol
+{
+ class request
+ {
+ public:
+ virtual
+ ~request ()
+ {
+ }
+
+ unsigned int
+ account () const
+ {
+ return account_;
+ }
+
+ protected:
+ request (unsigned int account)
+ : account_ (account)
+ {
+ }
+
+ private:
+ unsigned int account_;
+ };
+
+ class balance: public request
+ {
+ public:
+ balance (unsigned int account)
+ : request (account)
+ {
+ }
+ };
+
+ class withdraw: public request
+ {
+ public:
+ withdraw (unsigned int account, unsigned int amount)
+ : request (account), amount_ (amount)
+ {
+ }
+
+ unsigned int
+ amount () const
+ {
+ return amount_;
+ }
+
+ private:
+ unsigned int amount_;
+ };
+}
+
+#endif // PROTOCOL_HXX