aboutsummaryrefslogtreecommitdiff
path: root/examples/cxx/parser/multiroot/protocol-pimpl.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'examples/cxx/parser/multiroot/protocol-pimpl.cxx')
-rw-r--r--examples/cxx/parser/multiroot/protocol-pimpl.cxx47
1 files changed, 47 insertions, 0 deletions
diff --git a/examples/cxx/parser/multiroot/protocol-pimpl.cxx b/examples/cxx/parser/multiroot/protocol-pimpl.cxx
new file mode 100644
index 0000000..09a04b3
--- /dev/null
+++ b/examples/cxx/parser/multiroot/protocol-pimpl.cxx
@@ -0,0 +1,47 @@
+// file : examples/cxx/parser/multiroot/protocol-pimpl.cxx
+// author : Boris Kolpackov <boris@codesynthesis.com>
+// copyright : not copyrighted - public domain
+
+#include "protocol-pimpl.hxx"
+
+namespace protocol
+{
+ // request_pimpl
+ //
+ void request_pimpl::
+ account (unsigned int account)
+ {
+ account_ = account;
+ }
+
+ request* request_pimpl::
+ post_request ()
+ {
+ // This parser is never used directly.
+ //
+ return 0;
+ }
+
+ // balance_pimpl
+ //
+ balance* balance_pimpl::
+ post_balance ()
+ {
+ return new balance (account_);
+ }
+
+ // withdraw_pimpl
+ //
+ void withdraw_pimpl::
+ amount (unsigned int amount)
+ {
+ amount_ = amount;
+ }
+
+ withdraw* withdraw_pimpl::
+ post_withdraw ()
+ {
+ return new withdraw (account_, amount_);
+ }
+}
+