});
}
+ const makeMessagePort = (portName: string, isTrusted: boolean) => {
+ const messagePort = this.funcRequestLocalMessagePort(portName);
+ return {
+ messagePortName: portName,
+ isTrusted,
+ addMessagePortListener: (listener: any) => {
+ const listenerWrapper = (message: any) => {
+ let remoteAppId = '';
+ let remotePort = '';
+ message.forEach((bundle: any) => {
+ if (bundle.key === 'org_remote_app_id') {
+ remoteAppId = bundle.value;
+ } else if (bundle.key === 'org_remote_port') {
+ remotePort = bundle.value;
+ }
+ });
+ message = message.filter((bundle: any) => {
+ return !bundle.key.includes('org_remote');
+ });
+ let remoteMessagePort = null;
+ if (remoteAppId && remotePort)
+ remoteMessagePort = global.tizen.messageport.requestRemoteMessagePort(remoteAppId, remotePort);
+ return listener(message, remoteMessagePort);
+ }
+ return messagePort.addMessagePortListener(listenerWrapper);
+ },
+ removeMessagePortListener: (watchId: any) => {
+ return messagePort.removeMessagePortListener(watchId);
+ }
+ }
+ }
+
global.tizen.messageport.requestLocalMessagePort = (portName: string) => {
registerMessagePort('requestLocalMessagePort', portName);
- return this.funcRequestLocalMessagePort(portName);
+ return makeMessagePort(portName, false);
}
global.tizen.messageport.requestTrustedLocalMessagePort = (portName: string) => {
registerMessagePort('requestTrustedLocalMessagePort', portName);
- return this.funcRequestLocalMessagePort(portName);
+ return makeMessagePort(portName, true);
}
global.tizen.messageport.requestTrustedRemoteMessagePort = (appId: string, portName: string) => {
return {