Skip to content

Commit 9c88cfb

Browse files
lora-reamesihadeed
authored andcommitted
feat(jins-meme): add support for jins meme smart glasses (#1212)
* (feat) add support for JinsMemeSDK-Plugin-Cordova * (fix) correct jins-meme plugin name * #feature/jins-meme initial commit thanks @PatrickR, @jins-meme, @tjpeden * import fixes (no-unused-variable) @ionic-native/plugins/jins-meme/index.ts[1, 10]: Unused import: 'Injectable' stream.js:74 throw er; // Unhandled stream error in pipe. ^ Error: Failed to lint: @ionic-native/plugins/jins-meme/index.ts [1, 10]: Unused import: 'Injectable'. * update developer guide as per #1210 * removed unused import * Revert "Feature jins meme" * correct developer docs (#3) * remove unused import and update documentation * ihadeed's requested changed see #1212 (review) * usage update * revert DEVELOPER.md to limit scope of PR
1 parent fa047d2 commit 9c88cfb

File tree

1 file changed

+158
-0
lines changed
  • src/@ionic-native/plugins/jins-meme

1 file changed

+158
-0
lines changed
Lines changed: 158 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
import { Injectable } from '@angular/core';
2+
import { Plugin, Cordova, CordovaCheck } from '@ionic-native/core';
3+
import { Observable } from 'rxjs/Observable';
4+
5+
declare var cordova: any;
6+
7+
/**
8+
* @name JinsMeme
9+
* @description
10+
* Implementation of the JINS MEME SDK
11+
*
12+
* @usage
13+
* ```
14+
* import { JinsMeme } from '@ionic-native/jins-meme';
15+
*
16+
* constructor(private jinsMeme: JinsMeme) { }
17+
*
18+
* ...
19+
*
20+
* this.jinsMeme.setAppClientID(appClientId: string, clientSecret: string)
21+
* .then(this.jinsMeme.startScan())
22+
* .catch(console.log('jinsMeme.setAppClientID authentication error!'));
23+
*
24+
* ```
25+
*/
26+
@Plugin({
27+
pluginName: 'Jins Meme',
28+
plugin: 'JinsMemeSDK-Plugin-Cordova',
29+
pluginRef: 'cordova.plugins.JinsMemePlugin',
30+
repo: 'https://github.com/jins-meme/JinsMemeSDK-Plugin-Cordova.git'
31+
})
32+
@Injectable()
33+
export class JinsMeme {
34+
/**
35+
* Authentication and authorization of App and SDK.
36+
* Must call this method at first.
37+
*
38+
*@param {string} setAppClientID
39+
*@param {string} clientSecret
40+
*@returns {Promise<any>}
41+
*/
42+
@Cordova()
43+
setAppClientID(appClientId: string, clientSecret: string): Promise<any> { return; }
44+
/**
45+
* Starts scanning for JINS MEME.
46+
* @returns {Observable<any>}
47+
*/
48+
@Cordova({
49+
observable: true,
50+
clearFunction: 'stopScan',
51+
clearWithArgs: true
52+
})
53+
startScan(): Observable<any> { return; }
54+
/**
55+
* Stops scanning JINS MEME.
56+
* @returns {Promise<any>}
57+
*/
58+
@Cordova()
59+
stopScan(): Promise<any> { return; }
60+
/**
61+
* Establishes connection to JINS MEME.
62+
* @param {string} target
63+
* @returns {Observable<any>}
64+
*/
65+
@CordovaCheck({
66+
observable: true
67+
})
68+
connect(target: string): Observable<any> {
69+
return new Observable<any>((observer: any) => {
70+
let data = cordova.plugins.JinsMemePlugin.connect(target, observer.next.bind(observer), observer.complete.bind(observer), observer.error.bind(observer));
71+
return () => console.log(data);
72+
});
73+
}
74+
/**
75+
* Set auto connection mode.
76+
*@param {Boolean} flag
77+
*@returns {Promise<any>}
78+
*/
79+
@Cordova()
80+
setAutoConnect(flag: boolean): Promise<any> { return; }
81+
/**
82+
* Returns whether a connection to JINS MEME has been established.
83+
*@returns {Promise<any>}
84+
*/
85+
@Cordova()
86+
isConnected(): Promise<any> { return; }
87+
/**
88+
* Disconnects from JINS MEME.
89+
*@returns {Promise<any>}
90+
*/
91+
@Cordova()
92+
disconnect(): Promise<any> { return; }
93+
/**
94+
* Starts receiving realtime data.
95+
* @returns {Observable<any>}
96+
*/
97+
@Cordova({
98+
observable: true,
99+
clearFunction: 'stopDataReport',
100+
clearWithArgs: true
101+
})
102+
startDataReport(): Observable<any> { return; }
103+
/**
104+
* Stops receiving data.
105+
*@returns {Promise<any>}
106+
*/
107+
@Cordova()
108+
stopDataReport(): Promise<any> { return; }
109+
/**
110+
* Returns SDK version.
111+
*
112+
*@returns {Promise<any>}
113+
*/
114+
@Cordova()
115+
getSDKVersion(): Promise<any> { return; }
116+
/**
117+
* Returns JINS MEME connected with other apps.
118+
*@returns {Promise<any>}
119+
*/
120+
@Cordova()
121+
getConnectedByOthers(): Promise<any> { return; }
122+
/**
123+
* Returns calibration status
124+
*@returns {Promise<any>}
125+
*/
126+
@Cordova()
127+
isCalibrated(): Promise<any> { return; }
128+
/**
129+
* Returns device type.
130+
*@returns {Promise<any>}
131+
*/
132+
@Cordova()
133+
getConnectedDeviceType(): Promise<any> { return; }
134+
/**
135+
* Returns hardware version.
136+
*@returns {Promise<any>}
137+
*/
138+
@Cordova()
139+
getConnectedDeviceSubType(): Promise<any> { return; }
140+
/**
141+
* Returns FW Version.
142+
*@returns {Promise<any>}
143+
*/
144+
@Cordova()
145+
getFWVersion(): Promise<any> { return; }
146+
/**
147+
* Returns HW Version.
148+
*@returns {Promise<any>}
149+
*/
150+
@Cordova()
151+
getHWVersion(): Promise<any> { return; }
152+
/**
153+
* Returns response about whether data was received or not.
154+
*@returns {Promise<any>}
155+
*/
156+
@Cordova()
157+
isDataReceiving(): Promise<any> { return; }
158+
}

0 commit comments

Comments
 (0)