1
1
#import " CppPlugin.h"
2
- #include " plugin_manager.h"
2
+ #include < plugin_manager.h>
3
3
#include < stdio.h>
4
4
5
5
@implementation FLTCppPlugin
6
- {
7
- FlutterBinaryMessenger* messenger;
8
- }
9
-
10
- static FLTCppPlugin* instance = nil ;
11
6
12
- +(FLTCppPlugin *) getInstance {
13
- if (instance == nil ) {
14
- instance = [[FLTCppPlugin alloc ] init ];
15
- }
16
- return instance;
17
- }
7
+ static NSObject <FlutterBinaryMessenger> * sMessenger =nil ;
8
+ static FLTCppPlugin* sInstance = nil ;
18
9
19
- - (void )initPlugin : (FlutterBinaryMessenger*) messenger {
20
- _messenger =messenger;
10
+ + (void )initPlugin : (NSObject < FlutterBinaryMessenger> *) messenger {
11
+ sMessenger =messenger;
21
12
plugin_main ();
22
13
}
23
14
24
- - ( FlutterBinaryMessenger*)getMessenger {
25
- return _messenger ;
15
+ + ( NSObject < FlutterBinaryMessenger> *)getMessenger {
16
+ return sMessenger ;
26
17
}
27
18
@end
28
19
@@ -61,7 +52,7 @@ virtual void NotImplementedInternal()
61
52
62
53
void Reply (const uint8_t * data,size_t len)
63
54
{
64
- NSData * nsdata=null ;
55
+ NSData * nsdata=NULL ;
65
56
if (data)
66
57
{
67
58
nsdata = [NSData dataWithBytes: data length: len];
@@ -71,12 +62,12 @@ void Reply(const uint8_t* data,size_t len)
71
62
72
63
private:
73
64
Plugin* m_plugin;
74
- FlutterBinaryReply m_reply
65
+ FlutterBinaryReply m_reply;
75
66
};
76
67
77
68
78
69
79
- PluginManagerIos* s_manager=NULL ;
70
+ class PluginManagerIos * s_manager=NULL ;
80
71
81
72
class PluginManagerIos :public PluginManager
82
73
{
@@ -90,7 +81,8 @@ virtual void RegisterPlugin(Plugin* plugin)
90
81
{
91
82
PluginManager::RegisterPlugin (plugin);
92
83
93
- FlutterBinaryMessenger* messenger = [[FLTCppPlugin getInstance ] getMessenger ];
84
+ NSObject <FlutterBinaryMessenger>* messenger = [FLTCppPlugin getMessenger ];
85
+
94
86
if (!messenger)
95
87
{
96
88
printf (" FLTCppPlugin not inited" );
@@ -103,35 +95,35 @@ virtual void RegisterPlugin(Plugin* plugin)
103
95
FlutterBinaryMessageHandler handler=^(NSData * _Nullable message, FlutterBinaryReply reply){
104
96
105
97
std::unique_ptr<MethodResult> method_result = std::make_unique<MethodResultIos>(plugin,reply);
106
- PluginManager::Instance ()->HandleMethodCall (channel,[message bytes ] ,message-> length ,std::move (method_result));
98
+ PluginManager::Instance ()->HandleMethodCall (channel,( const uint8_t *)message. bytes ,message. length ,std::move (method_result));
107
99
};
108
100
[messenger setMessageHandlerOnChannel: nschannel binaryMessageHandler: handler];
109
101
}
110
102
111
103
virtual void UnRegisterPlugin (Plugin* plugin)
112
104
{
113
105
PluginManager::UnRegisterPlugin (plugin);
114
- FlutterBinaryMessenger* messenger = [[ FLTCppPlugin getInstance ] getMessenger ];
106
+ NSObject < FlutterBinaryMessenger> * messenger = [FLTCppPlugin getMessenger ];
115
107
if (!messenger)
116
108
{
117
109
printf (" FLTCppPlugin not inited" );
118
110
return ;
119
111
}
120
112
std::string channel = plugin->channel ();
121
113
NSString *nschannel= [NSString stringWithCString: channel.c_str () encoding: NSUTF8StringEncoding];
122
- [messenger setMessageHandlerOnChannel: nschannel binaryMessageHandler: null ];
114
+ [messenger setMessageHandlerOnChannel: nschannel binaryMessageHandler: NULL ];
123
115
}
124
116
125
117
virtual void InvokeMethodCall (const std::string &channel,const uint8_t * data,size_t len)
126
118
{
127
- FlutterBinaryMessenger* messenger = [[ FLTCppPlugin getInstance ] getMessenger ];
119
+ NSObject < FlutterBinaryMessenger> * messenger = [FLTCppPlugin getMessenger ];
128
120
if (!messenger)
129
121
{
130
122
printf (" FLTCppPlugin not inited" );
131
123
return ;
132
124
}
133
125
NSString *nschannel= [NSString stringWithCString: channel.c_str () encoding: NSUTF8StringEncoding];
134
- NSData *nsdata = null ;
126
+ NSData *nsdata = NULL ;
135
127
if (data)
136
128
nsdata = [NSData dataWithBytes: data length: len];
137
129
[messenger sendOnChannel: nschannel message: nsdata];
0 commit comments