blob: a579986e4c3ae51b7b581d47df10fbbcc1c48b9e [file] [log] [blame]
David Tolnay7db73692019-10-20 14:51:12 -04001#pragma once
David Tolnayc43627a2020-01-28 00:50:25 -08002#include "cxxbridge/cxxbridge.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