//[MethodImpl(MethodImplOptions.Synchronized)] private Task <T> Request <T>(DBRequestType type, DBResponseType responseType, uint?parameter, object complexParameter) { lock (Sync) { var id = NextMessageId(); var taskSource = new TaskCompletionSource <T>(); var pending = new PendingRequest(); pending.Callback = x => { taskSource.SetResult((T)x); }; pending.RequestType = type; pending.ResponseType = responseType; PendingRequests.Add(id, pending); this.CityClient.Write(new DBRequestWrapperPDU() { Sender = new Sender { AriesID = "0", MasterAccountID = "0", }, SendingAvatarID = id, Body = new cTSONetMessageStandard() { DatabaseType = type.GetRequestID(), Parameter = parameter, ComplexParameter = complexParameter } }); return((Task <T>)taskSource.Task); } }
public DatabaseRequest(DBRequestType type) { this.Type = type; }
public static uint GetRequestID(this DBRequestType request) { switch (request) { case DBRequestType.GetHouseThumbByID: return(0x9BF18F10); case DBRequestType.GetLotAndObjects: return(0x0BFD89E3); case DBRequestType.GetLotList: return(0x5BEEB701); case DBRequestType.GetMaxPlayerPerLot: return(0x5F0A0561); case DBRequestType.GetNeighborhoods: return(0x8AE0FD8C); case DBRequestType.GetShardVersion: return(0x5E209378); case DBRequestType.GetTopList: return(0x3D8787DA); case DBRequestType.GetTopResultSetByID: return(0xBCD038AC); case DBRequestType.InsertBookmarks: return(0x09CBE333); case DBRequestType.InsertGenericLog: return(0x3D03D5F7); case DBRequestType.InsertGenericTask: return(0xC98B6799); case DBRequestType.InsertNeighborhoods: return(0xAAE1247E); case DBRequestType.InsertNewAvatar: return(0x8A3BE831); case DBRequestType.InsertNewFriendshipComment: return(0x6AE8E1ED); case DBRequestType.InsertPendingRoomateInv: return(0x3CE98067); case DBRequestType.InsertSpotlightTextByLotID: return(0x8B8AE566); case DBRequestType.MoveOutByAvatarID: return(0x4CEEB62C); case DBRequestType.LoadAvatarByID: return(0x2ADF7EED); case DBRequestType.MoveLotByID: return(0xEB42651A); case DBRequestType.PrtControlToggleByAvatarID: return(0x8A53F433); case DBRequestType.RejectPendingRoomateInv: return(0xDCE98959); case DBRequestType.ReleaseAvatarLease: return(0x6B9EAECD); case DBRequestType.RenewAvatarLease: return(0xCB9EAF2F); case DBRequestType.SaveAvatarByID: return(0x2ADDE378); case DBRequestType.SaveLotAndObjectBlobByID: return(0xCBFD89A7); case DBRequestType.Search: return(0x89483786); case DBRequestType.SearchExactMatch: return(0xA952742D); case DBRequestType.SellObject: return(0x8BFD896A); case DBRequestType.SetFriendshipComment: return(0x0AE0AEB8); case DBRequestType.SetHouseThumbByID: return(0xFBF6E364); case DBRequestType.SetLotDesc: return(0x8A70B952); case DBRequestType.SetLotHoursVisitedByID: return(0x7C02938C); case DBRequestType.SetLotName: return(0x6A70B931); case DBRequestType.SetMoneyFields: return(0x5CF147E8); case DBRequestType.StockDress: return(0x2B4510AC); case DBRequestType.UpdateBadgeByID: return(0xCAFB30AA); case DBRequestType.UpdateCharDescByID: return(0xAA3FEDA1); case DBRequestType.UpdateDataServiceLotAdmitInfo_AddAdmittedID: return(0xCA26E9CF); case DBRequestType.UpdateDataServiceLotAdmitInfo_AddBannedID: return(0xEA26E9F8); case DBRequestType.UpdateDataServiceLotAdmitInfo_RemoveAdmittedID: return(0xEA26E9E4); case DBRequestType.UpdateDataServiceLotAdmitInfo_RemoveBannedID: return(0x0A26EA0C); case DBRequestType.UpdateDataServiceLotAdmitInfo_SetAdmitMode: return(0xCA26E9BD); case DBRequestType.UpdateLotValueByID: return(0xDC17FB0E); case DBRequestType.UpdateTaskStatus: return(0xA92AF562); case DBRequestType.GetSpotlightLotList: return(0xEBD4DDAC); case DBRequestType.GetFinancialDetail: return(0x0C23D673); case DBRequestType.GetOnlineJobLot: return(0x8C3BBA00); case DBRequestType.OnlineJobLotDesactivate: return(0xAC50944B); case DBRequestType.OnlineJobLotRequestDesactivation: return(0x0C9D233E); case DBRequestType.OnlineJobOccupantDesactivate: return(0xAC96E1AE); case DBRequestType.UpdatePrivacyModeByID: return(0xA0C6106C); case DBRequestType.GetDataUpdateEventsLastSeqID: return(0xCBB127FD); case DBRequestType.GetDataUpdateEvents: return(0x0B5E2124); case DBRequestType.GetNeighborhoodInfo: return(0xCB7AD7EE); case DBRequestType.CallCreateFriends: return(0x21586E78); case DBRequestType.CallDecayRelationships: return(0xE1586F32); case DBRequestType.UpdateRelationshipLastContact: return(0x2D33ABF3); case DBRequestType.UpdatePreferedLanguageByID: return(0x2D98FAF3); case DBRequestType.RenameAvatar: return(0x1060F3A1); case DBRequestType.AcceptPendingRoomateInv: return(0xDCE9801A); case DBRequestType.AcquireAvatarLease: return(0x6B9D76FC); case DBRequestType.BuyDress: return(0x2B44F0C9); case DBRequestType.BuyLotByAvatarID: return(0x1D8DD55A); case DBRequestType.BuyObject: return(0x4BFD8A1B); case DBRequestType.DeleteAttributeByAvatarID: return(0xCB392F06); case DBRequestType.DeleteAvatarByID: return(0x6A52E10C); case DBRequestType.DeleteBookmarks: return(0x2A3C81DB); case DBRequestType.DeleteObject: return(0x0B25CD36); case DBRequestType.DeleteSpotlightTextByLotID: return(0x6B8D6F5D); case DBRequestType.GetAvatarIDByName: return(0xA95BB3D7); case DBRequestType.GetAvatarInventoryByID: return(0x2BFD89FF); case DBRequestType.GetBookmarks: return(0x0BA7F82C); case DBRequestType.GetCharByID: return(0x7BAE5079); case DBRequestType.GetCityType: return(0x2A3927A2); case DBRequestType.GetDataServiceBuildableMapInfoByXY: return(0x4A3D75DA); case DBRequestType.GetDataServiceLotAdmitInfo: return(0x8A2456E6); case DBRequestType.GetDataServiceLotInfoByXY: return(0xE9C81D19); case DBRequestType.GetDebitCreditTask: return(0xE98A1700); case DBRequestType.GetGenericFlash: return(0x9FE8B670); case DBRequestType.GetHouseLeaderByLotID: return(0xDD909124); case DBRequestType.GetObjectTuningVariables: return(0xEFAB815F); case DBRequestType.GetObjectsAndCatalog: return(0x9525BE9F); case DBRequestType.CreateObject: return(0xABCD8986); case DBRequestType.GetSelector: return(0x17C62EA8); case DBRequestType.GetGameConstants: return(0xCD999E31); case DBRequestType.RecordFeedEvent: return(0x688188BA); case DBRequestType.DebitCredit: return(0x7C24F627); case DBRequestType.GetAllRelationshipsByID: return(0xAB4A6098); case DBRequestType.GetDataServiceAvatarBudgetByID: return(0x4AA84714); case DBRequestType.GetDataServiceAvatarSkillsByID: return(0x0AA81112); case DBRequestType.GetFriendshipWebCommentByID: return(0xEAE9F7E3); case DBRequestType.InsertGenericFlash: return(0xFFE8AC61); case DBRequestType.SecureTrade: return(0xABFD8986); case DBRequestType.SetDataServiceAvatarVarSkillLockByID: return(0xCB9DE627); case DBRequestType.SetLotCategory: return(0xAAD4C4D5); case DBRequestType.SetLotNeighborhoodID: return(0xEAF53BFB); case DBRequestType.SetNeighborhoodCenterGridXY: return(0x8B0847D4); case DBRequestType.InventoryTransfer: return(0x2BFDC6D0); case DBRequestType.GetSelectorApproval: return(0xA7F41927); case DBRequestType.DebitCreditSharedAccount: return(0x1C6A90C3); case DBRequestType.ExternalBankTransaction: return(0x51F76976); } return(0); }