forked from mail-ru-im/im-desktop
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathcore_instance.h
40 lines (27 loc) · 1011 Bytes
/
core_instance.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#pragma once
#include "core_face.h"
namespace core
{
struct core_instance : core::icore_interface, core::iconnector, core::icore_factory
{
iconnector* gui_connector_;
private:
std::atomic<int32_t> ref_count_;
// ibase interface
virtual int32_t addref() override;
virtual int32_t release() override;
// icoreinterface
virtual iconnector* get_core_connector() override;
virtual iconnector* get_gui_connector() override;
virtual icore_factory* get_factory() override;
// iconnector interface
virtual void link(iconnector*, const common::core_gui_settings&) override;
virtual void unlink() override;
virtual void receive(std::string_view, int64_t, icollection*) override;
// icore_factory
virtual icollection* create_collection() override;
public:
core_instance();
virtual ~core_instance();
};
}