diff --git a/src/@ionic-native/plugins/jins-meme/index.ts b/src/@ionic-native/plugins/jins-meme/index.ts new file mode 100644 index 00000000..7664715a --- /dev/null +++ b/src/@ionic-native/plugins/jins-meme/index.ts @@ -0,0 +1,158 @@ +import { Injectable } from '@angular/core'; +import { Plugin, Cordova, CordovaCheck } from '@ionic-native/core'; +import { Observable } from 'rxjs/Observable'; + +declare var cordova: any; + +/** + * @name JinsMeme + * @description + * Implementation of the JINS MEME SDK + * + * @usage + * ``` + * import { JinsMeme } from '@ionic-native/jins-meme'; + * + * constructor(private jinsMeme: JinsMeme) { } + * + * ... + * + * this.jinsMeme.setAppClientID(appClientId: string, clientSecret: string) + * .then(this.jinsMeme.startScan()) + * .catch(console.log('jinsMeme.setAppClientID authentication error!')); + * + * ``` + */ +@Plugin({ + pluginName: 'Jins Meme', + plugin: 'JinsMemeSDK-Plugin-Cordova', + pluginRef: 'cordova.plugins.JinsMemePlugin', + repo: 'https://github.com/jins-meme/JinsMemeSDK-Plugin-Cordova.git' +}) +@Injectable() +export class JinsMeme { + /** + * Authentication and authorization of App and SDK. + * Must call this method at first. + * + *@param {string} setAppClientID + *@param {string} clientSecret + *@returns {Promise} + */ + @Cordova() + setAppClientID(appClientId: string, clientSecret: string): Promise { return; } + /** + * Starts scanning for JINS MEME. + * @returns {Observable} + */ + @Cordova({ + observable: true, + clearFunction: 'stopScan', + clearWithArgs: true + }) + startScan(): Observable { return; } + /** + * Stops scanning JINS MEME. + * @returns {Promise} + */ + @Cordova() + stopScan(): Promise { return; } + /** + * Establishes connection to JINS MEME. + * @param {string} target + * @returns {Observable} + */ + @CordovaCheck({ + observable: true + }) + connect(target: string): Observable { + return new Observable((observer: any) => { + let data = cordova.plugins.JinsMemePlugin.connect(target, observer.next.bind(observer), observer.complete.bind(observer), observer.error.bind(observer)); + return () => console.log(data); + }); + } + /** + * Set auto connection mode. + *@param {Boolean} flag + *@returns {Promise} + */ + @Cordova() + setAutoConnect(flag: boolean): Promise { return; } + /** + * Returns whether a connection to JINS MEME has been established. + *@returns {Promise} + */ + @Cordova() + isConnected(): Promise { return; } + /** + * Disconnects from JINS MEME. + *@returns {Promise} + */ + @Cordova() + disconnect(): Promise { return; } + /** + * Starts receiving realtime data. + * @returns {Observable} + */ + @Cordova({ + observable: true, + clearFunction: 'stopDataReport', + clearWithArgs: true + }) + startDataReport(): Observable { return; } + /** + * Stops receiving data. + *@returns {Promise} + */ + @Cordova() + stopDataReport(): Promise { return; } + /** + * Returns SDK version. + * + *@returns {Promise} + */ + @Cordova() + getSDKVersion(): Promise { return; } + /** + * Returns JINS MEME connected with other apps. + *@returns {Promise} + */ + @Cordova() + getConnectedByOthers(): Promise { return; } + /** + * Returns calibration status + *@returns {Promise} + */ + @Cordova() + isCalibrated(): Promise { return; } + /** + * Returns device type. + *@returns {Promise} + */ + @Cordova() + getConnectedDeviceType(): Promise { return; } + /** + * Returns hardware version. + *@returns {Promise} + */ + @Cordova() + getConnectedDeviceSubType(): Promise { return; } + /** + * Returns FW Version. + *@returns {Promise} + */ + @Cordova() + getFWVersion(): Promise { return; } + /** + * Returns HW Version. + *@returns {Promise} + */ + @Cordova() + getHWVersion(): Promise { return; } + /** + * Returns response about whether data was received or not. + *@returns {Promise} + */ + @Cordova() + isDataReceiving(): Promise { return; } +}