public void LoginWithTwitter(Microsoft.Phone.Controls.WebBrowser webBrowser, IDictionary <string, string> twitterFieldsMappings, AsyncCallback <BackendlessUser> callback) { try { if (webBrowser == null) { throw new ArgumentNullException(ExceptionMessage.NUL_WEBBROWSER); } Invoker.InvokeAsync(USER_MANAGER_SERVER_ALIAS, "getTwitterServiceAuthorizationUrlLink", new Object[] { Backendless.AppId, Backendless.VersionNum, HeadersManager.GetInstance().Headers[HeadersEnum.APP_TYPE_NAME.Header], twitterFieldsMappings }, GetSocialEasyLoginAsyncHandler(webBrowser, callback)); } catch (System.Exception ex) { if (callback != null) { callback.ErrorHandler.Invoke(new BackendlessFault(ex.Message)); } else { throw; } } }
public void Logout(AsyncCallback <object> callback) { var responder = new AsyncCallback <object>(r => { CurrentUser = null; HeadersManager.GetInstance().RemoveHeader(HeadersEnum.USER_TOKEN_KEY); LoginStorage.DeleteFiles(); if (callback != null) { callback.ResponseHandler.Invoke(null); } }, f => { if (callback != null) { callback.ErrorHandler.Invoke(f); } else { throw new BackendlessException(f); } }); Invoker.InvokeAsync(USER_MANAGER_SERVER_ALIAS, "logout", new object[] {}, responder); }
private AsyncCallback <Dictionary <string, object> > GetUserLoginAsyncHandler( AsyncCallback <BackendlessUser> callback) { return(new AsyncCallback <Dictionary <string, object> >(r => { HeadersManager.GetInstance() .AddHeader(HeadersEnum.USER_TOKEN_KEY, r[HeadersEnum.USER_TOKEN_KEY.Header].ToString()); if (CurrentUser == null) { CurrentUser = new BackendlessUser(); } CurrentUser.PutProperties(r); if (callback != null) { callback.ResponseHandler.Invoke(CurrentUser); } }, f => { if (callback != null) { callback.ErrorHandler.Invoke(f); } else { throw new BackendlessException(f); } })); }
public void Logout() { try { Invoker.InvokeSync <object>(USER_MANAGER_SERVER_ALIAS, "logout", new object[] { }); } catch (BackendlessException exception) { BackendlessFault fault = exception.BackendlessFault; if (fault != null) { int faultCode = int.Parse(fault.FaultCode); if (faultCode != 3064 && faultCode != 3091 && faultCode != 3090 && faultCode != 3023) { throw exception; } } } CurrentUser = null; HeadersManager.GetInstance().RemoveHeader(HeadersEnum.USER_TOKEN_KEY); LoginStorage.DeleteFiles(); }
public void Logout(AsyncCallback <object> callback) { var responder = new AsyncCallback <object>(r => { CurrentUser = null; HeadersManager.GetInstance().RemoveHeader(HeadersEnum.USER_TOKEN_KEY); if (callback != null) { callback.ResponseHandler.Invoke(null); } }, f => { if (callback != null) { callback.ErrorHandler.Invoke(f); } else { throw new BackendlessException(f); } }); Invoker.InvokeAsync <object>(Invoker.Api.USERSERVICE_LOGOUT, null, responder); }
public static void InitApp(string applicationId, string secretKey, string version) { if (string.IsNullOrEmpty(applicationId)) { throw new ArgumentNullException(ExceptionMessage.NULL_APPLICATION_ID); } if (string.IsNullOrEmpty(secretKey)) { throw new ArgumentNullException(ExceptionMessage.NULL_SECRET_KEY); } if (string.IsNullOrEmpty(version)) { throw new ArgumentNullException(ExceptionMessage.NULL_VERSION); } AppId = applicationId; SecretKey = secretKey; VersionNum = version; Persistence = new PersistenceService(); Data = Persistence; Geo = new BackendlessAPI.Service.GeoService(); Messaging = new BackendlessAPI.Service.MessagingService(); Files = new BackendlessAPI.Service.FileService(); UserService = new BackendlessAPI.Service.UserService(); Events = BackendlessAPI.Events.GetInstance(); Cache = BackendlessAPI.Caching.Cache.GetInstance(); Counters = BackendlessAPI.Counters.CounterService.GetInstance(); Logging = new BackendlessAPI.Logging.LoggingService(); HeadersManager.CleanHeaders(); }
public static void InitApp(String applicationId, String apiKey) { if (String.IsNullOrEmpty(applicationId)) { throw new ArgumentNullException(ExceptionMessage.NULL_APPLICATION_ID); } if (String.IsNullOrEmpty(apiKey)) { throw new ArgumentNullException(ExceptionMessage.NULL_SECRET_KEY); } Log.addLogger(Log.DEFAULTLOGGER, new ConsoleLogger()); Log.startLogging(BACKENDLESSLOG); #if WITHRT Quobject.EngineIoClientDotNet.Modules.LogManager.Enabled = !DeviceCheck.IsMobile; #endif AppId = applicationId; APIKey = apiKey; Persistence = new PersistenceService(); Data = Persistence; Geo = new GeoService(); Messaging = new MessagingService(); Files = new FileService(); UserService = new UserService(); Events = Events.GetInstance(); Cache = Cache.GetInstance(); Counters = CounterService.GetInstance(); Logging = new LoggingService(); CustomService = new CustomService(); #if WITHRT RT = new RTServiceImpl(); #endif MessageWriter.DefaultWriter = new UnderflowWriter(); MessageWriter.AddAdditionalTypeWriter(typeof(BackendlessUser), new BackendlessUserWriter()); MessageWriter.AddAdditionalTypeWriter(typeof(Geometry), new BackendlessGeometryWriter()); MessageWriter.AddAdditionalTypeWriter(typeof(Point), new BackendlessGeometryWriter()); MessageWriter.AddAdditionalTypeWriter(typeof(LineString), new BackendlessGeometryWriter()); MessageWriter.AddAdditionalTypeWriter(typeof(Polygon), new BackendlessGeometryWriter()); ORBConfig.GetInstance().getObjectFactories().AddArgumentObjectFactory(typeof(BackendlessUser).FullName, new BackendlessUserFactory()); ORBConfig.GetInstance().getObjectFactories().AddArgumentObjectFactory(typeof(GeometryDTO).FullName, new BackendlessGeometryFactory()); ORBConfig.GetInstance().getObjectFactories().AddArgumentObjectFactory(typeof(Geometry).FullName, new BackendlessGeometryFactory()); ORBConfig.GetInstance().getObjectFactories().AddArgumentObjectFactory(typeof(Point).FullName, new BackendlessGeometryFactory()); ORBConfig.GetInstance().getObjectFactories().AddArgumentObjectFactory(typeof(LineString).FullName, new BackendlessGeometryFactory()); ORBConfig.GetInstance().getObjectFactories().AddArgumentObjectFactory(typeof(Polygon).FullName, new BackendlessGeometryFactory()); HeadersManager.CleanHeaders(); LoginStorage loginStorage = new LoginStorage(); if (loginStorage.HasData) { HeadersManager.GetInstance().AddHeader(HeadersEnum.USER_TOKEN_KEY, loginStorage.UserToken); } }
private async Task <BackendlessFile> MakeFileUploadAsync(Stream fileStream, string path, string fileName, bool overwrite, UploadCallback uploadCallback) { string boundary = DateTime.Now.Ticks.ToString("x"); byte[] boundaryBytes = Encoding.UTF8.GetBytes("\r\n--" + boundary + "--\r\n"); var sb = new StringBuilder(); sb.Append("--"); sb.Append(boundary); sb.Append("\r\n"); sb.Append("Content-Disposition: form-data; name=\"file\"; filename=\""); sb.Append(fileName); sb.Append("\""); sb.Append("\r\n"); sb.Append("Content-Type: "); sb.Append("application/octet-stream"); sb.Append("\r\n"); sb.Append("Content-Transfer-Encoding: binary"); sb.Append("\r\n"); sb.Append("\r\n"); var header = sb.ToString(); byte[] headerBytes = Encoding.UTF8.GetBytes(header); var urlStr = Backendless.URL + "/" + Backendless.AppId + "/" + Backendless.APIKey + "/files/" + EncodeURL(path) + "/" + EncodeURL(fileName); if (overwrite) { urlStr = urlStr + "?" + "overwrite" + "=" + overwrite; } var httpRequest = (HttpWebRequest) WebRequest.Create( new Uri( urlStr, UriKind.Absolute)); httpRequest.ContentType = "multipart/form-data; boundary=" + boundary; httpRequest.Method = "POST"; httpRequest.Headers["KeepAlive"] = "true"; foreach (var h in HeadersManager.GetInstance().Headers) { httpRequest.Headers[h.Key] = h.Value; } Stream stream = await httpRequest.GetRequestStreamAsync(); return(await RequestStreamCallbackAsync(stream, fileStream, httpRequest, uploadCallback, headerBytes, boundaryBytes)); }
private void HandleUserLogin(Dictionary <string, object> invokeResult) { HeadersManager.GetInstance() .AddHeader(HeadersEnum.USER_TOKEN_KEY, invokeResult[HeadersEnum.USER_TOKEN_KEY.Header].ToString()); if (CurrentUser == null) { CurrentUser = new BackendlessUser(); } CurrentUser.PutProperties(invokeResult); }
private void HandleUserLogin(Dictionary <string, object> invokeResult, bool stayLoggedIn) { HeadersManager.GetInstance() .AddHeader(HeadersEnum.USER_TOKEN_KEY, invokeResult[HeadersEnum.USER_TOKEN_KEY.Header].ToString()); if (CurrentUser == null) { CurrentUser = new BackendlessUser(); } CurrentUser.PutProperties(invokeResult); if (stayLoggedIn) { LoginStorage.UserToken = invokeResult[HeadersEnum.USER_TOKEN_KEY.Header].ToString(); LoginStorage.ObjectId = Backendless.UserService.CurrentUser.ObjectId; LoginStorage.SaveData(); } }
public static void InitApp(string applicationId, string apiKey) { if (string.IsNullOrEmpty(applicationId)) { throw new ArgumentNullException(ExceptionMessage.NULL_APPLICATION_ID); } if (string.IsNullOrEmpty(apiKey)) { throw new ArgumentNullException(ExceptionMessage.NULL_SECRET_KEY); } AppId = applicationId; APIKey = apiKey; Persistence = new PersistenceService(); Data = Persistence; Geo = new GeoService(); Messaging = new MessagingService(); Files = new FileService(); UserService = new UserService(); Events = Events.GetInstance(); Cache = Cache.GetInstance(); Counters = CounterService.GetInstance(); Logging = new LoggingService(); CustomService = new CustomService(); MessageWriter.DefaultWriter = new UnderflowWriter(); MessageWriter.AddAdditionalTypeWriter(typeof(BackendlessUser), new BackendlessUserWriter()); ORBConfig.GetInstance().getObjectFactories().AddArgumentObjectFactory(typeof(BackendlessUser).FullName, new BackendlessUserFactory()); HeadersManager.CleanHeaders(); LoginStorage loginStorage = new LoginStorage(); if (loginStorage.HasData) { HeadersManager.GetInstance().AddHeader(HeadersEnum.USER_TOKEN_KEY, loginStorage.UserToken); } }
public void Logout() { try { Invoker.InvokeSync <object>(Invoker.Api.USERSERVICE_LOGOUT, null); } catch (BackendlessException exception) { BackendlessFault fault = exception.BackendlessFault; if (fault != null) { int faultCode = int.Parse(fault.FaultCode); if (faultCode != 3064 && faultCode != 3091 && faultCode != 3090 && faultCode != 3023) { throw exception; } } } CurrentUser = null; HeadersManager.GetInstance().RemoveHeader(HeadersEnum.USER_TOKEN_KEY); }
private void MakeFileUpload(FileStream fileStream, string path, bool overwrite, UploadCallback uploadCallback, AsyncCallback <BackendlessFile> callback) { string boundary = DateTime.Now.Ticks.ToString("x"); byte[] boundaryBytes = Encoding.UTF8.GetBytes("\r\n--" + boundary + "--\r\n"); var fileName = Path.GetFileName(fileStream.Name); //You cannot get name of IsolatedStorageFileStream the normal way, it always returns [Unknown] (making it pass the checks against null) if (fileStream.GetType() == typeof(System.IO.IsolatedStorage.IsolatedStorageFileStream)) { fileName = Path.GetFileName(((System.IO.IsolatedStorage.IsolatedStorageFileStream)fileStream).Name); } var sb = new StringBuilder(); sb.Append("--"); sb.Append(boundary); sb.Append("\r\n"); sb.Append("Content-Disposition: form-data; name=\"file\"; filename=\""); sb.Append(fileName); sb.Append("\""); sb.Append("\r\n"); sb.Append("Content-Type: "); sb.Append("application/octet-stream"); sb.Append("\r\n"); sb.Append("Content-Transfer-Encoding: binary"); sb.Append("\r\n"); sb.Append("\r\n"); var header = sb.ToString(); byte[] headerBytes = Encoding.UTF8.GetBytes(header); var urlStr = Backendless.URL + "/" + Backendless.AppId + "/" + Backendless.APIKey + "/files/" + EncodeURL(path) + "/" + EncodeURL(fileName); if (overwrite) { urlStr = urlStr + "?overwrite=true"; } var httpRequest = (HttpWebRequest) WebRequest.Create( new Uri( urlStr, UriKind.Absolute)); httpRequest.ContentType = "multipart/form-data; boundary=" + boundary; httpRequest.Method = "POST"; httpRequest.Headers["KeepAlive"] = "true"; foreach (var h in HeadersManager.GetInstance().Headers) { httpRequest.Headers[h.Key] = h.Value; } try { var async = new RequestStreamAsyncState <BackendlessFile> { Callback = callback, UploadCallback = uploadCallback, HttpRequest = httpRequest, HeaderBytes = headerBytes, BoundaryBytes = boundaryBytes, FileStream = fileStream }; httpRequest.BeginGetRequestStream(RequestStreamCallback, async); } catch (System.Exception ex) { if (callback != null) { callback.ErrorHandler.Invoke(new BackendlessFault(ex.Message)); } else { throw; } } }
private void MakeFileUpload(Stream stream, string path, UploadCallback uploadCallback, AsyncCallback <BackendlessFile> callback) { string boundary = DateTime.Now.Ticks.ToString("x"); byte[] boundaryBytes = Encoding.UTF8.GetBytes("\r\n--" + boundary + "--\r\n"); var fileName = ""; try { fileName = Path.GetFileName(path); } catch (System.Exception ex) { if (callback != null) { callback.ErrorHandler.Invoke(new BackendlessFault(ex.Message)); } else { throw; } } var sb = new StringBuilder(); sb.Append("--"); sb.Append(boundary); sb.Append("\r\n"); sb.Append("Content-Disposition: form-data; name=\"file\"; filename=\""); sb.Append(fileName); sb.Append("\""); sb.Append("\r\n"); sb.Append("Content-Type: "); sb.Append("application/octet-stream"); sb.Append("\r\n"); sb.Append("Content-Transfer-Encoding: binary"); sb.Append("\r\n"); sb.Append("\r\n"); string header = sb.ToString(); byte[] headerBytes = Encoding.UTF8.GetBytes(header); var httpRequest = (HttpWebRequest) WebRequest.Create( new Uri( Backendless.Url + "/" + Backendless.VersionNum + "/files/" + EncodeURL(path), UriKind.Absolute)); httpRequest.ContentType = "multipart/form-data; boundary=" + boundary; httpRequest.Method = "POST"; httpRequest.Headers["KeepAlive"] = "true"; foreach (var h in HeadersManager.GetInstance().Headers) { httpRequest.Headers[h.Key] = h.Value; } try { var async = new RequestStreamAsyncState <BackendlessFile> { Callback = callback, UploadCallback = uploadCallback, HttpRequest = httpRequest, HeaderBytes = headerBytes, BoundaryBytes = boundaryBytes, Stream = stream }; httpRequest.BeginGetRequestStream(RequestStreamCallback, async); } catch (System.Exception ex) { if (callback != null) { callback.ErrorHandler.Invoke(new BackendlessFault(ex.Message)); } else { throw; } } }