SDA-3565 Citrix media redirection status API endpoint (#1340)

This commit is contained in:
Salah Benmoussati 2022-02-03 11:49:19 +01:00 committed by GitHub
parent e028ac0efa
commit f01312cea7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 42 additions and 1 deletions

View File

@ -39,7 +39,6 @@ export const getCitrixMediaRedirectionStatus = async (): Promise<RedirectionStat
return new Promise((resolve, _reject) => { return new Promise((resolve, _reject) => {
regKey.get(CITRIX_REGISTRY_KEY_NAME, (err, redirectionSupportItem) => { regKey.get(CITRIX_REGISTRY_KEY_NAME, (err, redirectionSupportItem) => {
logger.info('citrix: ', redirectionSupportItem);
if (err) { if (err) {
logger.info('citrix-handler: error occurred. Details: ', err); logger.info('citrix-handler: error occurred. Details: ', err);
resolve(RedirectionStatus.INACTIVE); resolve(RedirectionStatus.INACTIVE);

View File

@ -18,6 +18,7 @@ import { activityDetection } from './activity-detection';
import { analytics } from './analytics-handler'; import { analytics } from './analytics-handler';
import appStateHandler from './app-state-handler'; import appStateHandler from './app-state-handler';
import { autoUpdate } from './auto-update-handler'; import { autoUpdate } from './auto-update-handler';
import { getCitrixMediaRedirectionStatus } from './citrix-handler';
import { CloudConfigDataTypes, config, ICloudConfig } from './config-handler'; import { CloudConfigDataTypes, config, ICloudConfig } from './config-handler';
import { downloadHandler } from './download-handler'; import { downloadHandler } from './download-handler';
import { mainEvents } from './main-event-handler'; import { mainEvents } from './main-event-handler';
@ -457,6 +458,8 @@ ipcMain.handle(
return browserWin.getNativeWindowHandle(); return browserWin.getNativeWindowHandle();
} }
break; break;
case apiCmds.getCitrixMediaRedirectionStatus:
return getCitrixMediaRedirectionStatus();
} }
return; return;
}, },

View File

@ -62,6 +62,7 @@ export enum apiCmds {
handleSwiftSearchMessageEvents = 'handle-shift-search-message-events', handleSwiftSearchMessageEvents = 'handle-shift-search-message-events',
onSwiftSearchMessage = 'on-shift-search-message', onSwiftSearchMessage = 'on-shift-search-message',
getNativeWindowHandle = 'get-native-window-handle', getNativeWindowHandle = 'get-native-window-handle',
getCitrixMediaRedirectionStatus = 'get-citrix-media-redirection-status',
} }
export enum apiName { export enum apiName {

View File

@ -283,6 +283,13 @@
<input type="text" id="text-window-handle" /> <input type="text" id="text-window-handle" />
<hr /> <hr />
<br /> <br />
<hr />
<p>Citrix Media Redirection Status:</p>
<button id="get-citrix-media-redir">Get status</button>
<input type="text" id="text-citrix-media-redir" />
<hr />
<br />
</body> </body>
<script> <script>
window.name = 'main'; window.name = 'main';
@ -329,6 +336,7 @@
restartApp: 'restart-app', restartApp: 'restart-app',
autoUpdate: 'auto-update', autoUpdate: 'auto-update',
getNativeWindowHandle: 'get-native-window-handle', getNativeWindowHandle: 'get-native-window-handle',
getCitrixMediaRedirectionStatus: 'get-citrix-media-redirection-status',
}; };
let requestId = 0; let requestId = 0;
@ -1202,5 +1210,22 @@
}); });
} }
}); });
document
.getElementById('get-citrix-media-redir')
.addEventListener('click', () => {
const resultCallback = (status) => {
document.getElementById('text-citrix-media-redir').value = status;
};
if (window.ssf) {
window.ssf.getCitrixMediaRedirectionStatus().then(resultCallback);
} else if (window.manaSSF) {
window.manaSSF.getCitrixMediaRedirectionStatus().then(resultCallback);
} else {
postRequest(apiCmds.getCitrixMediaRedirectionStatus, null, {
successCallback: resultCallback,
});
}
});
</script> </script>
</html> </html>

View File

@ -89,6 +89,8 @@ if (ssfWindow.ssf) {
getZoomLevel: ssfWindow.ssf.getZoomLevel, getZoomLevel: ssfWindow.ssf.getZoomLevel,
supportedSettings: ssfWindow.ssf.supportedSettings, supportedSettings: ssfWindow.ssf.supportedSettings,
getNativeWindowHandle: ssfWindow.ssf.getNativeWindowHandle, getNativeWindowHandle: ssfWindow.ssf.getNativeWindowHandle,
getCitrixMediaRedirectionStatus:
ssfWindow.ssf.getCitrixMediaRedirectionStatus,
}); });
} }

View File

@ -5,6 +5,7 @@ import {
searchAPIVersion, searchAPIVersion,
version, version,
} from '../../package.json'; } from '../../package.json';
import { RedirectionStatus } from '../app/citrix-handler';
import { IDownloadItem } from '../app/download-handler'; import { IDownloadItem } from '../app/download-handler';
import { import {
apiCmds, apiCmds,
@ -740,6 +741,16 @@ export class SSFApi {
cmd: apiCmds.getNativeWindowHandle, cmd: apiCmds.getNativeWindowHandle,
}); });
} }
/**
* Retrieves the current status of Citrix' media redirection feature
* @returns status
*/
public getCitrixMediaRedirectionStatus(): Promise<RedirectionStatus> {
return ipcRenderer.invoke(apiName.symphonyApi, {
cmd: apiCmds.getCitrixMediaRedirectionStatus,
});
}
} }
/** /**