| David Tolnay | 7db7369 | 2019-10-20 14:51:12 -0400 | [diff] [blame] | 1 | #include "demo-cxx/demo.h" |
| David Tolnay | 1a2683a | 2020-03-17 19:09:29 -0700 | [diff] [blame] | 2 | #include "demo-rs/src/main.rs.h" |
| David Tolnay | 7db7369 | 2019-10-20 14:51:12 -0400 | [diff] [blame] | 3 | #include <iostream> |
| 4 | |
| 5 | namespace org { |
| David Tolnay | aa17a5a | 2020-03-01 13:44:24 -0800 | [diff] [blame] | 6 | namespace example { |
| David Tolnay | 7db7369 | 2019-10-20 14:51:12 -0400 | [diff] [blame] | 7 | |
| 8 | ThingC::ThingC(std::string appname) : appname(std::move(appname)) {} |
| 9 | |
| 10 | ThingC::~ThingC() { std::cout << "done with ThingC" << std::endl; } |
| 11 | |
| Joel Galenson | 3d4f612 | 2020-04-07 15:54:05 -0700 | [diff] [blame^] | 12 | const std::string &ThingC::get_name() const { |
| 13 | std::cout << "I'm a C++ method!" << std::endl; |
| 14 | return this->appname; |
| 15 | } |
| 16 | |
| David Tolnay | aa17a5a | 2020-03-01 13:44:24 -0800 | [diff] [blame] | 17 | std::unique_ptr<ThingC> make_demo(rust::Str appname) { |
| David Tolnay | 404d689 | 2020-03-01 20:19:41 -0800 | [diff] [blame] | 18 | return std::unique_ptr<ThingC>(new ThingC(std::string(appname))); |
| David Tolnay | 7db7369 | 2019-10-20 14:51:12 -0400 | [diff] [blame] | 19 | } |
| 20 | |
| David Tolnay | 7db7369 | 2019-10-20 14:51:12 -0400 | [diff] [blame] | 21 | void do_thing(SharedThing state) { print_r(*state.y); } |
| 22 | |
| David Tolnay | aa17a5a | 2020-03-01 13:44:24 -0800 | [diff] [blame] | 23 | } // namespace example |
| David Tolnay | 7db7369 | 2019-10-20 14:51:12 -0400 | [diff] [blame] | 24 | } // namespace org |