Showing
6 changed files
with
89 additions
and
33 deletions
printing/ios/Classes/PrintingPlugin.m
0 → 100644
1 | +/* | ||
2 | + * Copyright (C) 2017, David PHAM-VAN <dev.nfet.net@gmail.com> | ||
3 | + * | ||
4 | + * Licensed under the Apache License, Version 2.0 (the "License"); | ||
5 | + * you may not use this file except in compliance with the License. | ||
6 | + * You may obtain a copy of the License at | ||
7 | + * | ||
8 | + * http://www.apache.org/licenses/LICENSE-2.0 | ||
9 | + * | ||
10 | + * Unless required by applicable law or agreed to in writing, software | ||
11 | + * distributed under the License is distributed on an "AS IS" BASIS, | ||
12 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
13 | + * See the License for the specific language governing permissions and | ||
14 | + * limitations under the License. | ||
15 | + */ | ||
16 | + | ||
17 | +#import <printing/printing-Swift.h> | ||
18 | + | ||
19 | +// Dart:ffi API | ||
20 | + | ||
21 | +void net_nfet_printing_set_document(uint32_t job, | ||
22 | + const uint8_t* doc, | ||
23 | + uint64_t size) { | ||
24 | + [PrintingPlugin setDocumentWithJob:job doc:doc size:size]; | ||
25 | +} | ||
26 | + | ||
27 | +void net_nfet_printing_set_error(uint32_t job, const char* message) { | ||
28 | + [PrintingPlugin setErrorWithJob:job message:message]; | ||
29 | +} |
@@ -17,29 +17,26 @@ | @@ -17,29 +17,26 @@ | ||
17 | import Flutter | 17 | import Flutter |
18 | import Foundation | 18 | import Foundation |
19 | 19 | ||
20 | -// Dart:ffi API | ||
21 | -private var _printingPlugin: PrintingPlugin? | ||
22 | - | ||
23 | -@_cdecl("net_nfet_printing_set_document") | ||
24 | -func setDocument(job: UInt32, doc: UnsafePointer<UInt8>, size: UInt64) { | ||
25 | - _printingPlugin!.jobs[job]?.setDocument(Data(bytes: doc, count: Int(size))) | ||
26 | -} | ||
27 | - | ||
28 | -@_cdecl("net_nfet_printing_set_error") | ||
29 | -func setError(job: UInt32, message: UnsafePointer<CChar>) { | ||
30 | - _printingPlugin!.jobs[job]?.cancelJob(String(cString: message)) | ||
31 | -} | ||
32 | - | ||
33 | -// End of Dart:ffi API | ||
34 | - | 20 | +@objc |
35 | public class PrintingPlugin: NSObject, FlutterPlugin { | 21 | public class PrintingPlugin: NSObject, FlutterPlugin { |
22 | + private static var instance: PrintingPlugin? | ||
36 | private var channel: FlutterMethodChannel | 23 | private var channel: FlutterMethodChannel |
37 | public var jobs = [UInt32: PrintJob]() | 24 | public var jobs = [UInt32: PrintJob]() |
38 | 25 | ||
39 | init(_ channel: FlutterMethodChannel) { | 26 | init(_ channel: FlutterMethodChannel) { |
40 | self.channel = channel | 27 | self.channel = channel |
41 | super.init() | 28 | super.init() |
42 | - _printingPlugin = self | 29 | + PrintingPlugin.instance = self |
30 | + } | ||
31 | + | ||
32 | + @objc | ||
33 | + public static func setDocument(job: UInt32, doc: UnsafePointer<UInt8>, size: UInt64) { | ||
34 | + instance!.jobs[job]?.setDocument(Data(bytes: doc, count: Int(size))) | ||
35 | + } | ||
36 | + | ||
37 | + @objc | ||
38 | + public static func setError(job: UInt32, message: UnsafePointer<CChar>) { | ||
39 | + instance!.jobs[job]?.cancelJob(String(cString: message)) | ||
43 | } | 40 | } |
44 | 41 | ||
45 | /// Entry point | 42 | /// Entry point |
printing/macos/Classes/PrintingPlugin.m
0 → 100644
1 | +/* | ||
2 | + * Copyright (C) 2017, David PHAM-VAN <dev.nfet.net@gmail.com> | ||
3 | + * | ||
4 | + * Licensed under the Apache License, Version 2.0 (the "License"); | ||
5 | + * you may not use this file except in compliance with the License. | ||
6 | + * You may obtain a copy of the License at | ||
7 | + * | ||
8 | + * http://www.apache.org/licenses/LICENSE-2.0 | ||
9 | + * | ||
10 | + * Unless required by applicable law or agreed to in writing, software | ||
11 | + * distributed under the License is distributed on an "AS IS" BASIS, | ||
12 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
13 | + * See the License for the specific language governing permissions and | ||
14 | + * limitations under the License. | ||
15 | + */ | ||
16 | + | ||
17 | +#import <printing/printing-Swift.h> | ||
18 | + | ||
19 | +// Dart:ffi API | ||
20 | + | ||
21 | +void net_nfet_printing_set_document(uint32_t job, | ||
22 | + const uint8_t* doc, | ||
23 | + uint64_t size) { | ||
24 | + [PrintingPlugin setDocumentWithJob:job doc:doc size:size]; | ||
25 | +} | ||
26 | + | ||
27 | +void net_nfet_printing_set_error(uint32_t job, const char* message) { | ||
28 | + [PrintingPlugin setErrorWithJob:job message:message]; | ||
29 | +} |
@@ -17,29 +17,26 @@ | @@ -17,29 +17,26 @@ | ||
17 | import FlutterMacOS | 17 | import FlutterMacOS |
18 | import Foundation | 18 | import Foundation |
19 | 19 | ||
20 | -// Dart:ffi API | ||
21 | -private var _printingPlugin: PrintingPlugin? | ||
22 | - | ||
23 | -@_cdecl("net_nfet_printing_set_document") | ||
24 | -func setDocument(job: UInt32, doc: UnsafePointer<UInt8>, size: UInt64) { | ||
25 | - _printingPlugin!.jobs[job]?.setDocument(Data(bytes: doc, count: Int(size))) | ||
26 | -} | ||
27 | - | ||
28 | -@_cdecl("net_nfet_printing_set_error") | ||
29 | -func setError(job: UInt32, message: UnsafePointer<CChar>) { | ||
30 | - _printingPlugin!.jobs[job]?.cancelJob(String(cString: message)) | ||
31 | -} | ||
32 | - | ||
33 | -// End of Dart:ffi API | ||
34 | - | 20 | +@objc |
35 | public class PrintingPlugin: NSObject, FlutterPlugin { | 21 | public class PrintingPlugin: NSObject, FlutterPlugin { |
22 | + private static var instance: PrintingPlugin? | ||
36 | private var channel: FlutterMethodChannel | 23 | private var channel: FlutterMethodChannel |
37 | public var jobs = [UInt32: PrintJob]() | 24 | public var jobs = [UInt32: PrintJob]() |
38 | 25 | ||
39 | init(_ channel: FlutterMethodChannel) { | 26 | init(_ channel: FlutterMethodChannel) { |
40 | self.channel = channel | 27 | self.channel = channel |
41 | super.init() | 28 | super.init() |
42 | - _printingPlugin = self | 29 | + PrintingPlugin.instance = self |
30 | + } | ||
31 | + | ||
32 | + @objc | ||
33 | + public static func setDocument(job: UInt32, doc: UnsafePointer<UInt8>, size: UInt64) { | ||
34 | + instance!.jobs[job]?.setDocument(Data(bytes: doc, count: Int(size))) | ||
35 | + } | ||
36 | + | ||
37 | + @objc | ||
38 | + public static func setError(job: UInt32, message: UnsafePointer<CChar>) { | ||
39 | + instance!.jobs[job]?.cancelJob(String(cString: message)) | ||
43 | } | 40 | } |
44 | 41 | ||
45 | /// Entry point | 42 | /// Entry point |
@@ -7,7 +7,7 @@ description: > | @@ -7,7 +7,7 @@ description: > | ||
7 | homepage: https://github.com/DavBfr/dart_pdf/tree/master/printing | 7 | homepage: https://github.com/DavBfr/dart_pdf/tree/master/printing |
8 | repository: https://github.com/DavBfr/dart_pdf | 8 | repository: https://github.com/DavBfr/dart_pdf |
9 | issue_tracker: https://github.com/DavBfr/dart_pdf/issues | 9 | issue_tracker: https://github.com/DavBfr/dart_pdf/issues |
10 | -version: 5.0.1 | 10 | +version: 5.0.2 |
11 | 11 | ||
12 | environment: | 12 | environment: |
13 | sdk: ">=2.12.0-0 <3.0.0" | 13 | sdk: ">=2.12.0-0 <3.0.0" |
-
Please register or login to post a comment