blob: fafc4743ac0f0be264140b4067ea4327ce50e9c2 [file] [log] [blame]
David Tolnay7db73692019-10-20 14:51:12 -04001#pragma once
David Tolnay736cbca2020-03-11 16:49:18 -07002#include "rust/cxx.h"
David Tolnay7db73692019-10-20 14:51:12 -04003#include <memory>
4#include <string>
5
6namespace org {
David Tolnayaa17a5a2020-03-01 13:44:24 -08007namespace example {
David Tolnay7db73692019-10-20 14:51:12 -04008
9class ThingC {
10public:
11 ThingC(std::string appname);
12 ~ThingC();
13
14 std::string appname;
15};
16
17struct SharedThing;
18
David Tolnayaa17a5a2020-03-01 13:44:24 -080019std::unique_ptr<ThingC> make_demo(rust::Str appname);
David Tolnay7db73692019-10-20 14:51:12 -040020const std::string &get_name(const ThingC &thing);
21void do_thing(SharedThing state);
22
David Tolnayaa17a5a2020-03-01 13:44:24 -080023} // namespace example
David Tolnay7db73692019-10-20 14:51:12 -040024} // namespace org