using System; namespace Oculus.Platform { public static class PlatformInternal { public enum MessageTypeInternal : uint { Application_ExecuteCoordinatedLaunch = 645772532u, Application_GetInstalledApplications = 1376744524u, Avatar_UpdateMetaData = 2077219214u, Cal_FinalizeApplication = 497667029u, Cal_GetSuggestedApplications = 1450209301u, Cal_ProposeApplication = 1317270237u, CloudStorage2_GetUserDirectoryPath = 1990471406u, GraphAPI_Get = 822018158u, GraphAPI_Post = 1990567876u, HTTP_Get = 1874211363u, HTTP_GetToFile = 1317133401u, HTTP_MultiPartPost = 1480774160u, HTTP_Post = 1798743375u, Livestreaming_IsAllowedForApplication = 191729014u, Livestreaming_StartPartyStream = 2066701532u, Livestreaming_StartStream = 1343932350u, Livestreaming_StopPartyStream = 661065560u, Livestreaming_StopStream = 1155796426u, Livestreaming_UpdateCommentsOverlayVisibility = 528318516u, Livestreaming_UpdateMicStatus = 475495815u, Party_Create = 450042703u, Party_GatherInApplication = 1921499523u, Party_Get = 1586058173u, Party_GetCurrentForUser = 1489764138u, Party_Invite = 901104867u, Party_Join = 1744993395u, Party_Leave = 848430801u, Room_CreateOrUpdateAndJoinNamed = 2089683601u, Room_GetNamedRooms = 125660812u, Room_GetSocialRooms = 1636310390u, SystemPermissions_GetStatus = 493497353u, SystemPermissions_LaunchDeeplink = 442139697u, User_CancelRecordingForReportFlow = 65065289u, User_GetLinkedAccounts = 1469314134u, User_LaunchBlockFlow = 1876305192u, User_LaunchReportFlow = 1449304081u, User_LaunchReportFlow2 = 2139314275u, User_LaunchUnblockFlow = 346172055u, User_NewEntitledTestUser = 292822787u, User_NewTestUser = 921194380u, User_NewTestUserFriends = 517416647u, User_StartRecordingForReportFlow = 1819161571u, User_StopRecordingAndLaunchReportFlow = 1618513035u, User_StopRecordingAndLaunchReportFlow2 = 432190251u, User_TestUserCreateDeviceManifest = 1701884605u } public static class HTTP { public static void SetHttpTransferUpdateCallback(Message.Callback callback) { Callback.SetNotificationCallback(Message.MessageType.Notification_HTTP_Transfer, callback); } } public static void CrashApplication() { CAPI.ovr_CrashApplication(); } internal static Message ParseMessageHandle(IntPtr messageHandle, Message.MessageType messageType) { Message result = null; switch ((MessageTypeInternal)messageType) { case MessageTypeInternal.User_StartRecordingForReportFlow: result = new MessageWithAbuseReportRecording(messageHandle); break; case MessageTypeInternal.Cal_FinalizeApplication: result = new MessageWithCalApplicationFinalized(messageHandle); break; case MessageTypeInternal.Cal_GetSuggestedApplications: result = new MessageWithCalApplicationSuggestionList(messageHandle); break; case MessageTypeInternal.User_CancelRecordingForReportFlow: case MessageTypeInternal.Livestreaming_UpdateMicStatus: case MessageTypeInternal.Application_ExecuteCoordinatedLaunch: case MessageTypeInternal.Livestreaming_StopPartyStream: case MessageTypeInternal.Party_Leave: case MessageTypeInternal.Cal_ProposeApplication: case MessageTypeInternal.User_TestUserCreateDeviceManifest: result = new Message(messageHandle); break; case MessageTypeInternal.Application_GetInstalledApplications: result = new MessageWithInstalledApplicationList(messageHandle); break; case MessageTypeInternal.User_LaunchBlockFlow: result = new MessageWithLaunchBlockFlowResult(messageHandle); break; case MessageTypeInternal.User_LaunchReportFlow2: result = new MessageWithLaunchReportFlowResult(messageHandle); break; case MessageTypeInternal.User_LaunchUnblockFlow: result = new MessageWithLaunchUnblockFlowResult(messageHandle); break; case MessageTypeInternal.User_GetLinkedAccounts: result = new MessageWithLinkedAccountList(messageHandle); break; case MessageTypeInternal.Livestreaming_IsAllowedForApplication: result = new MessageWithLivestreamingApplicationStatus(messageHandle); break; case MessageTypeInternal.Livestreaming_StartStream: case MessageTypeInternal.Livestreaming_StartPartyStream: result = new MessageWithLivestreamingStartResult(messageHandle); break; case MessageTypeInternal.Livestreaming_UpdateCommentsOverlayVisibility: result = new MessageWithLivestreamingStatus(messageHandle); break; case MessageTypeInternal.Livestreaming_StopStream: result = new MessageWithLivestreamingVideoStats(messageHandle); break; case MessageTypeInternal.Party_Get: result = new MessageWithParty(messageHandle); break; case MessageTypeInternal.Party_GetCurrentForUser: result = new MessageWithPartyUnderCurrentParty(messageHandle); break; case MessageTypeInternal.Party_Create: case MessageTypeInternal.Party_Invite: case MessageTypeInternal.Party_Join: case MessageTypeInternal.Party_GatherInApplication: result = new MessageWithPartyID(messageHandle); break; case MessageTypeInternal.Room_CreateOrUpdateAndJoinNamed: result = new MessageWithRoomUnderViewerRoom(messageHandle); break; case MessageTypeInternal.Room_GetNamedRooms: case MessageTypeInternal.Room_GetSocialRooms: result = new MessageWithRoomList(messageHandle); break; case MessageTypeInternal.User_NewEntitledTestUser: case MessageTypeInternal.User_NewTestUserFriends: case MessageTypeInternal.GraphAPI_Get: case MessageTypeInternal.User_NewTestUser: case MessageTypeInternal.HTTP_GetToFile: case MessageTypeInternal.HTTP_MultiPartPost: case MessageTypeInternal.HTTP_Post: case MessageTypeInternal.HTTP_Get: case MessageTypeInternal.CloudStorage2_GetUserDirectoryPath: case MessageTypeInternal.GraphAPI_Post: case MessageTypeInternal.Avatar_UpdateMetaData: result = new MessageWithString(messageHandle); break; case MessageTypeInternal.SystemPermissions_LaunchDeeplink: case MessageTypeInternal.SystemPermissions_GetStatus: result = new MessageWithSystemPermission(messageHandle); break; case MessageTypeInternal.User_StopRecordingAndLaunchReportFlow2: case MessageTypeInternal.User_LaunchReportFlow: case MessageTypeInternal.User_StopRecordingAndLaunchReportFlow: result = new MessageWithUserReportID(messageHandle); break; } return result; } } }