public CMRequestOptions(CMUser user) : this() { if (user != null && !string.IsNullOrEmpty(user.Session)) { this.Headers["X-CloudMine-SessionToken"] = user.Session; } }
public CMRequestOptions(CMRequestOptions opts, CMUser user) : this() { this.Merge(opts); if (user != null && !string.IsNullOrEmpty(user.Session)) this.Headers["X-CloudMine-SessionToken"] = user.Session; }
public Task<CMResponse> ModifyAccessList(CMUser user, CMAccessList acl) { return APIService.Request (this.Application, "user/access", HttpMethod.Put, CMSerializer.ToStream (acl), new CMRequestOptions (null, user)); }
/// <summary> /// Registers the android device push notifications. /// </summary> /// <returns>The android device push notifications.</returns> /// <param name="user">User.</param> /// <param name="uniqueDeviceId">Android.OS.Build.Serial</param> /// <param name="gcmToken">Device token from Google GCM registration.</param> public Task<CMResponse> RegisterAndroidDevicePushNotifications(CMUser user, string uniqueDeviceId, object gcmToken) { CMRequestOptions options = new CMRequestOptions(null, user); options.Headers.Add ("device_type", "android"); options.Headers.Add ("HTTP_X_CLOUDMINE_UT", uniqueDeviceId); options.Headers.Add ("X-CloudMine-Agent", "Android"); Dictionary<string, object> dataDict = new Dictionary<string, object>(); dataDict.Add("token", gcmToken); dataDict.Add("device_type", "android"); dataDict.Add("device_id", uniqueDeviceId); return APIService.Request(Application, "device", HttpMethod.Post, CMSerializer.ToStream(dataDict), options); }
public Task<CMResponse> UnsubscribeToChannel(string channelName, CMUser userToRemove) { var opts = new CMRequestOptions(userToRemove); Dictionary<string, object> dataDict = new Dictionary<string, object>(); dataDict.Add("user", true); return APIService.Request(Application, string.Format("push/channel/{0}/unsubscribe", channelName), HttpMethod.Post, CMSerializer.ToStream(dataDict), opts); }
/// <summary> /// Unregister WP device push notifications. /// </summary> /// <returns>The register WP device push notifications.</returns> /// <param name="user">User with valid session.</param> /// <param name="uniqueDeviceId">Windows.Phone.System.Analytics.HostInformation.PublisherHostId</param> public Task<CMResponse> UnRegisterWPDevicePushNotifications(CMUser user, string uniqueDeviceId) { CMRequestOptions options = new CMRequestOptions(null, user); options.Headers.Add ("device_type", "wp"); options.Headers.Add ("HTTP_X_CLOUDMINE_UT", uniqueDeviceId); options.Headers.Add ("X-CloudMine-Agent", "wp"); throw new NotImplementedException(); }
/// <summary> /// Allows for unregistering a valid logged in CMUser from push notifications. /// </summary> /// <param name="user">Valid logged in CMUser</param> /// <param name="uniqueDeviceId">UIKit.UIDevice.CurrentDevice.IdentifierForVendor.AsString()</param> public Task<CMResponse> UnRegisterIOSDevicePushNotifications(CMUser user, string uniqueDeviceId) { CMRequestOptions options = new CMRequestOptions(null, user); options.Headers.Add ("device_type", "ios"); options.Headers.Add ("HTTP_X_CLOUDMINE_UT", uniqueDeviceId); options.Headers.Add ("X-CloudMine-Agent", "iOS"); return APIService.Request(Application, "device", HttpMethod.Delete, null, options); }
/// <summary> /// Registers the WP device push notifications. /// </summary> /// <returns>The WP device push notifications.</returns> /// <param name="user">User with valid session.</param> /// <param name="uniqueDeviceId">Windows.Phone.System.Analytics.HostInformation.PublisherHostId</param> /// <param name="wpToken">Device token.</param> public Task<CMResponse> RegisterWPDevicePushNotifications(CMUser user, string uniqueDeviceId, object wpToken) { CMRequestOptions options = new CMRequestOptions(null, user); options.Headers.Add ("device_type", "wp"); options.Headers.Add ("HTTP_X_CLOUDMINE_UT", uniqueDeviceId); options.Headers.Add ("X-CloudMine-Agent", "wp"); Dictionary<string, object> dataDict = new Dictionary<string, object>(); dataDict.Add("token", wpToken); dataDict.Add("device_type", "wp"); dataDict.Add("device_id", uniqueDeviceId); throw new NotImplementedException(); }
/// <summary> /// Strips the device ID from device token callback value for the method /// didRegisterForRemoteNotificationsWithDeviceToken. Requires the Apple device /// identification string contained in the callback and an actively logged in /// CMUser to register with CloudMine. /// </summary> /// <param name="user">User with valid session</param> /// /// <param name="uniqueDeviceId">UIKit.UIDevice.CurrentDevice.IdentifierForVendor.AsString()</param> /// <param name="apnsToken">The token object returned in didRegisterForRemoteNotificationsWithDeviceToken</param> public Task<CMResponse> RegisterIOSDevicePushNotifications(CMUser user, string uniqueDeviceId, object apnsToken) { CMRequestOptions options = new CMRequestOptions(null, user); options.Headers.Add ("device_type", "ios"); options.Headers.Add ("HTTP_X_CLOUDMINE_UT", uniqueDeviceId); options.Headers.Add ("X-CloudMine-Agent", "iOS"); string deviceTokenString = StripIOSDeviceToken(apnsToken.ToString()); Dictionary<string, string> dataDict = new Dictionary<string, string>(); dataDict.Add("token", deviceTokenString); dataDict.Add("device_type", "ios"); dataDict.Add("device_id", uniqueDeviceId); return APIService.Request(Application, "device", HttpMethod.Post, CMSerializer.ToStream(dataDict), options); }