blob: 885293fb4b9f92f04301c8d224633f8aed3bcd21 [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;
Joel Galenson3d4f6122020-04-07 15:54:05 -070015
16 const std::string &get_name() const;
David Tolnay7db73692019-10-20 14:51:12 -040017};
18
19struct SharedThing;
20
David Tolnayaa17a5a2020-03-01 13:44:24 -080021std::unique_ptr<ThingC> make_demo(rust::Str appname);
David Tolnay7db73692019-10-20 14:51:12 -040022void do_thing(SharedThing state);
23
David Tolnayaa17a5a2020-03-01 13:44:24 -080024} // namespace example
David Tolnay7db73692019-10-20 14:51:12 -040025} // namespace org