From fef59fe030222e6a913c5496a2de2b1d3e0abcef Mon Sep 17 00:00:00 2001 From: valentin lafranca Date: Fri, 13 Nov 2015 11:42:59 +0100 Subject: [PATCH] Update WP8 sdk --- src/wp8/parse/Parse.Phone.dll | Bin 55808 -> 39424 bytes src/wp8/parse/Parse.Phone.xml | 522 ++++---- src/wp8/parse/Parse.dll | Bin 172032 -> 201216 bytes src/wp8/parse/Parse.xml | 2111 +++++++++++++++++++-------------- 4 files changed, 1425 insertions(+), 1208 deletions(-) diff --git a/src/wp8/parse/Parse.Phone.dll b/src/wp8/parse/Parse.Phone.dll index 4f3421c79396be8bbe608039d03aa09c5b6aa021..68c352bb9fcb74957d65b60b805ca85a5dfa748c 100644 GIT binary patch literal 39424 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 a|1EGt{X1^=%I}H)->T&Qm;3)#3;b`W-IT@v literal 55808 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 Tr*>d2m<8}A8GC&E? Call this method within your RootFrame.Navigating event handler to complete native Facebook - sign-on. When handling a Facebook login redirect URI, this method will cancel the + sign-on. When handling a Facebook login redirect URI, this method will cancel the pending navigation, begin asynchronously logging in the user, and immediately navigate to the . @@ -293,24 +293,13 @@ - Gets the access token for the currently logged in Facebook user. This can be used with a + Gets the access token for the currently logged in Facebook user. This can be used with a Facebook SDK to get access to Facebook user data. - - - Provides a dictionary that gets persisted on the filesystem between runs of the app. - This is analogous to NSUserDefaults in iOS. - - - - - Wraps the custom settings object for Parse so that it can be exposed as ApplicationSettings. - - - A utility class for sending push notifications. + A utility class for sending and receiving push notifications. @@ -342,229 +331,229 @@ - Request a push to be sent. When this task completes, Parse has successfully acknowledged a request - to send push notifications but has not necessarily finished sending all notifications - requested. The current status of recent push notifications can be seen in your Push Notifications - console on http://parse.com + Request a push to be sent. When this task completes, Parse has successfully acknowledged a request + to send push notifications but has not necessarily finished sending all notifications + requested. The current status of recent push notifications can be seen in your Push Notifications + console on http://parse.com A Task for continuation. - Request a push to be sent. When this task completes, Parse has successfully acknowledged a request - to send push notifications but has not necessarily finished sending all notifications - requested. The current status of recent push notifications can be seen in your Push Notifications - console on http://parse.com + Request a push to be sent. When this task completes, Parse has successfully acknowledged a request + to send push notifications but has not necessarily finished sending all notifications + requested. The current status of recent push notifications can be seen in your Push Notifications + console on http://parse.com CancellationToken to cancel the current operation. - - - Subscribe the current installation to this channel. This is shorthand for: + + + Pushes a simple message to every device. This is shorthand for: - - var installation = ParseInstallation.CurrentInstallation; - installation.AddUniqueToList("channels", channel); - installation.SaveAsync(); - - - The channel to which this installation should subscribe. + + var push = new ParsePush(); + push.Data = new Dictionary<string, object>{{"alert", alert}}; + return push.SendAsync(); + + + The alert message to send. - - - Subscribe the current installation to this channel. This is shorthand for: + + + Pushes a simple message to every device subscribed to channel. This is shorthand for: - - var installation = ParseInstallation.CurrentInstallation; - installation.AddUniqueToList("channels", channel); - installation.SaveAsync(cancellationToken); - - - The channel to which this installation should subscribe. - CancellationToken to cancel the current operation. + + var push = new ParsePush(); + push.Channels = new List<string> { channel }; + push.Data = new Dictionary<string, object>{{"alert", alert}}; + return push.SendAsync(); + + + The alert message to send. + An Installation must be subscribed to channel to receive this Push Notification. - - - Subscribe the current installation to these channels. This is shorthand for: + + + Pushes a simple message to every device subscribed to any of channels. This is shorthand for: - - var installation = ParseInstallation.CurrentInstallation; - installation.AddRangeUniqueToList("channels", channels); - installation.SaveAsync(); - - - The channels to which this installation should subscribe. + + var push = new ParsePush(); + push.Channels = channels; + push.Data = new Dictionary<string, object>{{"alert", alert}}; + return push.SendAsync(); + + + The alert message to send. + An Installation must be subscribed to any of channels to receive this Push Notification. - - - Subscribe the current installation to these channels. This is shorthand for: + + + Pushes a simple message to every device matching the target query. This is shorthand for: - - var installation = ParseInstallation.CurrentInstallation; - installation.AddRangeUniqueToList("channels", channels); - installation.SaveAsync(cancellationToken); - - - The channels to which this installation should subscribe. - CancellationToken to cancel the current operation. + + var push = new ParsePush(); + push.Query = query; + push.Data = new Dictionary<string, object>{{"alert", alert}}; + return push.SendAsync(); + + + The alert message to send. + A query filtering the devices which should receive this Push Notification. - - - Unsubscribe the current installation from this channel. This is shorthand for: + + + Pushes an arbitrary payload to every device. This is shorthand for: - - var installation = ParseInstallation.CurrentInstallation; - installation.Remove("channels", channel); - installation.SaveAsync(); - - - The channel from which this installation should unsubscribe. + + var push = new ParsePush(); + push.Data = data; + return push.SendAsync(); + + + A push payload. See the ParsePush.Data property for more information. - - - Unsubscribe the current installation from this channel. This is shorthand for: + + + Pushes an arbitrary payload to every device subscribed to channel. This is shorthand for: - - var installation = ParseInstallation.CurrentInstallation; - installation.Remove("channels", channel); - installation.SaveAsync(cancellationToken); - - - The channel from which this installation should unsubscribe. - CancellationToken to cancel the current operation. + + var push = new ParsePush(); + push.Channels = new List<string> { channel }; + push.Data = data; + return push.SendAsync(); + + + A push payload. See the ParsePush.Data property for more information. + An Installation must be subscribed to channel to receive this Push Notification. - - - Unsubscribe the current installation from these channels. This is shorthand for: + + + Pushes an arbitrary payload to every device subscribed to any of channels. This is shorthand for: - - var installation = ParseInstallation.CurrentInstallation; - installation.RemoveAllFromList("channels", channels); - installation.SaveAsync(); - - - The channels from which this installation should unsubscribe. + + var push = new ParsePush(); + push.Channels = channels; + push.Data = data; + return push.SendAsync(); + + + A push payload. See the ParsePush.Data property for more information. + An Installation must be subscribed to any of channels to receive this Push Notification. - - - Unsubscribe the current installation from these channels. This is shorthand for: + + + Pushes an arbitrary payload to every device matching target. This is shorthand for: - - var installation = ParseInstallation.CurrentInstallation; - installation.RemoveAllFromList("channels", channels); - installation.SaveAsync(cancellationToken); - - - The channels from which this installation should unsubscribe. - CancellationToken to cancel the current operation. + + var push = new ParsePush(); + push.Query = query + push.Data = data; + return push.SendAsync(); + + + A push payload. See the ParsePush.Data property for more information. + A query filtering the devices which should receive this Push Notification. - - - Pushes a simple message to every device. This is shorthand for: + + + Subscribe the current installation to this channel. This is shorthand for: - - var push = new ParsePush(); - push.Data = new Dictionary<string, object>{{"alert", alert}}; - return push.SendAsync(); - - - The alert message to send. + + var installation = ParseInstallation.CurrentInstallation; + installation.AddUniqueToList("channels", channel); + installation.SaveAsync(); + + + The channel to which this installation should subscribe. - - - Pushes a simple message to every device subscribed to channel. This is shorthand for: + + + Subscribe the current installation to this channel. This is shorthand for: - - var push = new ParsePush(); - push.Channels = new List<string> { channel }; - push.Data = new Dictionary<string, object>{{"alert", alert}}; - return push.SendAsync(); - - - The alert message to send. - An Installation must be subscribed to channel to receive this Push Notification. + + var installation = ParseInstallation.CurrentInstallation; + installation.AddUniqueToList("channels", channel); + installation.SaveAsync(cancellationToken); + + + The channel to which this installation should subscribe. + CancellationToken to cancel the current operation. - - - Pushes a simple message to every device subscribed to any of channels. This is shorthand for: + + + Subscribe the current installation to these channels. This is shorthand for: - - var push = new ParsePush(); - push.Channels = channels; - push.Data = new Dictionary<string, object>{{"alert", alert}}; - return push.SendAsync(); - - - The alert message to send. - An Installation must be subscribed to any of channels to receive this Push Notification. + + var installation = ParseInstallation.CurrentInstallation; + installation.AddRangeUniqueToList("channels", channels); + installation.SaveAsync(); + + + The channels to which this installation should subscribe. - - - Pushes a simple message to every device matching the target query. This is shorthand for: + + + Subscribe the current installation to these channels. This is shorthand for: - - var push = new ParsePush(); - push.Query = query; - push.Data = new Dictionary<string, object>{{"alert", alert}}; - return push.SendAsync(); - - - The alert message to send. - A query filtering the devices which should receive this Push Notification. + + var installation = ParseInstallation.CurrentInstallation; + installation.AddRangeUniqueToList("channels", channels); + installation.SaveAsync(cancellationToken); + + + The channels to which this installation should subscribe. + CancellationToken to cancel the current operation. - - - Pushes an arbitrary payload to every device. This is shorthand for: + + + Unsubscribe the current installation from this channel. This is shorthand for: - - var push = new ParsePush(); - push.Data = data; - return push.SendAsync(); - - - A push payload. See the ParsePush.Data property for more information. + + var installation = ParseInstallation.CurrentInstallation; + installation.Remove("channels", channel); + installation.SaveAsync(); + + + The channel from which this installation should unsubscribe. - - - Pushes an arbitrary payload to every device subscribed to channel. This is shorthand for: + + + Unsubscribe the current installation from this channel. This is shorthand for: - - var push = new ParsePush(); - push.Channels = new List<string> { channel }; - push.Data = data; - return push.SendAsync(); - - - A push payload. See the ParsePush.Data property for more information. - An Installation must be subscribed to channel to receive this Push Notification. + + var installation = ParseInstallation.CurrentInstallation; + installation.Remove("channels", channel); + installation.SaveAsync(cancellationToken); + + + The channel from which this installation should unsubscribe. + CancellationToken to cancel the current operation. - - - Pushes an arbitrary payload to every device subscribed to any of channels. This is shorthand for: + + + Unsubscribe the current installation from these channels. This is shorthand for: - - var push = new ParsePush(); - push.Channels = channels; - push.Data = data; - return push.SendAsync(); - - - A push payload. See the ParsePush.Data property for more information. - An Installation must be subscribed to any of channels to receive this Push Notification. + + var installation = ParseInstallation.CurrentInstallation; + installation.RemoveAllFromList("channels", channels); + installation.SaveAsync(); + + + The channels from which this installation should unsubscribe. - - - Pushes an arbitrary payload to every device matching target. This is shorthand for: + + + Unsubscribe the current installation from these channels. This is shorthand for: - - var push = new ParsePush(); - push.Query = query - push.Data = data; - return push.SendAsync(); - - - A push payload. See the ParsePush.Data property for more information. - A query filtering the devices which should receive this Push Notification. + + var installation = ParseInstallation.CurrentInstallation; + installation.RemoveAllFromList("channels", channels); + installation.SaveAsync(cancellationToken); + + + The channels from which this installation should unsubscribe. + CancellationToken to cancel the current operation. @@ -582,23 +571,23 @@ - An installation query that specifies which installations shoudl receive + An installation query that specifies which installations should receive this push. This should not be used in tandem with Channels. - - A short-hand to set a query which only discriminates on the channels to which a device is subscribed. - This is shorthand for: + + A short-hand to set a query which only discriminates on the channels to which a device is subscribed. + This is shorthand for: - - var push = new Push(); - push.Query = ParseInstallation.Query.WhereKeyContainedIn("channels", channels); - + + var push = new Push(); + push.Query = ParseInstallation.Query.WhereKeyContainedIn("channels", channels); + - This cannot be used in tandem with Query. - + This cannot be used in tandem with Query. + @@ -624,47 +613,22 @@ - - A conveninence method which sets Data to a dictionary with alert as its only field. Equivalent to + + A conveninence method which sets Data to a dictionary with alert as its only field. Equivalent to - - Data = new Dictionary<string, object> {{"alert", alert}}; - + + Data = new Dictionary<string, object> {{"alert", alert}}; + - This should not be used in tandem with Data. - - - - - Represents this app installed on this device. Use this class to track infomation you want - to sample from (i.e. if you update a field on app launch, you can issue a query to see - the number of devices which were active in the last N hours). - - - - - Whether the currentInstallation is known to match the serialized version on disk. - This is useful for saving a filesystem check if you try to load currentInstallation - frequently while there is none on disk. - - - - - Constructs a new ParseInstallation. Generally, you should not need to construct - ParseInstallations yourself. Instead use . - + This should not be used in tandem with Data. + - + - This mapping of Windows names to a standard everyone else uses is maintained - by the Unicode consortium, which makes this officially the first helpful - interaction between Unicode and Microsoft. - Unfortunately this is a little lossy in that we only store the first mapping in each zone because - Microsoft does not give us more granular location information. - Built from http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/zone_tzid.html + An event fired when a push notification is received. - + Future proofing: Right now there's only one valid channel for the app, but we will likely want to allow additional channels for auxiliary tiles (i.e. a contacts app can have a new @@ -674,80 +638,24 @@ Unsed variable warnings are suppressed becaue this const is used in WinRT and WinPhone but not NetFx. - + Gets an attribute from the Windows Phone App Manifest App element the attribute name the attribute value + This is a duplicate of what we have in ParseInstallation. We do it because + it's easier to maintain this way (rather than referencing PlatformHooks everywhere). - - - Gets the ParseInstallation representing this app on this device. - - - - - Constructs a for ParseInstallations. - - - Only the following types of queries are allowed for installations: - - - query.GetAsync(objectId) - query.WhereEqualTo(key, value) - query.WhereMatchesKeyInQuery<TOther>(key, keyInQuery, otherQuery) - - - You can add additional query conditions, but one of the above must appear as a top-level AND - clause in the query. - - - - - A GUID that uniquely names this app installed on this device. - - - - - The time zone in which this device resides. This string is in the tz database format - Parse uses for local-time pushes. Due to platform restrictions, the mapping is less - granular on Windows than it may be on other systems. E.g. The zones - America/Vancouver America/Dawson America/Whitehorse, America/Tijuana, PST8PDT, and - America/Los_Angeles are all reported as America/Los_Angeles. - - - - - The version of the Parse SDK used to build this application. - - - - - A sequence of arbitrary strings which are used to identify this installation for push notifications. - By convention, the empty string is known as the "Broadcast" channel. - - - - - The runtime target of this application. Is one of winrt, winphone, or dotnet. - - - - - The user-friendly display name of this application. - - - + - The system-dependent unique identifier of this installation. This identifier should be - sufficient to distinctly name an app on stores which may allow multiple apps with the - same display name. + Provides a dictionary that gets persisted on the filesystem between runs of the app. + This is analogous to NSUserDefaults in iOS. - + - A version string consisting of Major.Minor.Build.Revision. + Wraps the custom settings object for Parse so that it can be exposed as ApplicationSettings. diff --git a/src/wp8/parse/Parse.dll b/src/wp8/parse/Parse.dll index a7d32fff081616fab3a9f03b660a734201e29646..b03667ad6ca95721a173954d625687c4942432bd 100644 GIT binary patch literal 201216 zcmcG%37A|(x&MFWoSxG?Ju^u$=a=%b$Zai01+!raGpW{IA+?CyEqhljqt+s6k^`1)?AKlAeD z@~a#1WsQrTz5MAHU3FEwe)+|hEN^VMYWd|?EkF9?r!0SV{ESOhjgFT0NJyV@jOU#& z5O`DXojNnk?Ps39+wj1!=au0sbkO(ig?~BzBgCz@!2G`BTLAHIf3w5`*I(cr@ggPF zfBsB@0`Ye?be|#*bYEel73lc8Fz`kQE{_6l=MM1WdY5}%sUuN|@NpgCRqHSLm-U1{ zJd~76Wli`_lYw&Ksz$T%bO6R1JX%3Vcy|090r#sKms}Z>P`rBZY_t~ir8}wv&AhLW zT=^4kzBlOoVawzXZU4 z#gEDW{pi1ZFASQyfI&q9C`3bgK(DB0b5~-9i;dky=6^}sTm~Rsj#F%$Dxe>91FsXX z0B~fXzinbZxyHMZx&tp7gz~&XecyS7cm+|TwXva?49aCcqMTtE??GTFUWq&Xi>>9M zdN>qM5qKc_8yv*9kS5wwk;@!H<9*6Ai*s3thJ(GLFa6K6^or|Ee`{a*r2{E_#dW0r z2mClzc1~D1Qb`5QQ`MFvahECX(XO~bhdq&`xP=shIp(~C_+%3ONuuX

$|J&h?c1 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 literal 172032 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�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 diff --git a/src/wp8/parse/Parse.xml b/src/wp8/parse/Parse.xml index c3709e5a..719c6aea 100644 --- a/src/wp8/parse/Parse.xml +++ b/src/wp8/parse/Parse.xml @@ -4,6 +4,37 @@ Parse + +

+ Executes and convert the result into Dictionary. + + The command to be run. + Upload progress callback. + Download progress callback. + The cancellation token for the request. + +
+ + + ParseCommand is an with pre-populated + headers. + + + + + IHttpRequest is an interface that provides an API to execute HTTP request data. + + + + + Data stream to be uploaded. + + + + + HTTP method. One of DELETE, GET, HEAD, POST or PUT + + Authenticates with the service. @@ -42,7 +73,7 @@ Provides a Dictionary implementation that can delegate to any other - dictionary, regardless of its value type. Used for coercion of + dictionary, regardless of its value type. Used for coercion of dictionaries when returning them to users. The resulting type of value in the dictionary. @@ -51,7 +82,7 @@ Provides a List implementation that can delegate to any other - list, regardless of its value type. Used for coercion of + list, regardless of its value type. Used for coercion of lists when returning them to users. The resulting type of value in the list. @@ -64,6 +95,91 @@ ISets and IDictionaries. + + + Executes HTTP request to a with HTTP verb + and . + + The HTTP request to be executed. + Upload progress callback. + Download progress callback. + The cancellation token. + A task that resolves to Htt + + + + Represents an object that can be converted into JSON. + + + + + Converts the object to a data structure that can be converted to JSON. + + An object to be JSONified. + + + + Sets current installationId and saves it to local storage. + + The installationId to be saved. + + + + Gets current installationId from local storage. Generates a none exists. + + Current installationid. + + + + Clears current installationId from memory and local storage. + + + + + IParseObjectCurrentController controls the single-instance + persistence used throughout the code-base. Sample usages are and + . + + Type of object being persisted. + + + + Persists current . + + to be persisted. + The cancellation token. + + + + Gets the persisted current . + + The cancellation token. + + + + Returns a that resolves to true if current + exists. + + The cancellation token. + + + + Returns true if the given is the persisted current + . + + The object to check. + True if obj is the current persisted . + + + + Nullifies the current from memory. + + + + + Clears current from disk. + + Provides helper methods that allow us to use terser code elsewhere. @@ -114,7 +230,7 @@ A ParseFieldOperation represents a modification to a value in a ParseObject. For example, setting, deleting, or incrementing a value are all different kinds of - ParseFieldOperations. ParseFieldOperations themselves can be considered to be + ParseFieldOperations. ParseFieldOperations themselves can be considered to be immutable. @@ -138,9 +254,9 @@ The most recent operation on the field, or null if none. A new ParseFieldOperation or this. - + - Returns a new estimated value based on a previous value and this operation. This + Returns a new estimated value based on a previous value and this operation. This value is not intended to be sent to Parse, but it is used locally on the client to inspect the most likely current value for a field. @@ -148,10 +264,22 @@ that refer back to their parents. The previous value for the field. - The object that contains this value. The key that this value is for. The new value for the field. + + + Executes platform specific hook that mutate the installation based on + the device platforms. + + Installation to be mutated. + + + + + A thread-safe dictionary that persists key-value pair objects to disk. + + A simple recursive-descent JSON Parser based on the grammar defined at http://www.json.org @@ -191,48 +319,77 @@ Encodes an object into a JSON string. - + Parses JSON object syntax (e.g. '{}') - + Parses JSON member syntax (e.g. '"keyname" : null') - + Parses JSON array syntax (e.g. '[]') - + Parses a value (i.e. the right-hand side of an object member assignment or an element in an array) - + Parses a JSON string (e.g. '"foo\u1234bar\n"') - + Parses a number. Returns a long if the number is an integer or has an exponent, otherwise returns a double. - + Matches the string to a regex, consuming part of the string and returning the match. + + + Find the first occurences of a character, consuming part of the string. + + + + + Find the first occurences of a string, consuming part of the string. + + + + + A that throws an exception if it attempts to encode + a + + + + + A ParseEncoder can be used to transform objects such as into JSON + data structures. + + + An operation where a field is deleted from the object. + + + A that encode as pointers. If the object + does not have an , uses a local id. + + The ParseConfig is a representation of the remote configuration object, @@ -331,7 +488,7 @@ - We only need to keep the tail of the queue. Cancelled tasks will + We only need to keep the tail of the queue. Cancelled tasks will just complete normally/immediately when their turn arrives. @@ -349,7 +506,7 @@ - Enqueues a task created by . If the task is + Enqueues a task created by . If the task is cancellable (or should be able to be cancelled while it is waiting in the queue), pass a cancellationToken. @@ -441,12 +598,6 @@ The progress callback. The cancellation token. - - - A list of file extensions to mime types as found here: - http://stackoverflow.com/questions/58510/using-net-how-can-you-find-the-mime-type-of-a-file-based-on-the-file-signature - - Gets whether the file still needs to be saved. @@ -454,1451 +605,1563 @@ - Gets the name of the file. Before save is called, this is the filename given by - the user. After save is called, that name gets prefixed with a unique identifier. + Gets the name of the file. Before save is called, this is the filename given by + the user. After save is called, that name gets prefixed with a unique identifier. - Gets the MIME type of the file. This is either passed in to the constructor or - inferred from the file extension. "unknown/unknown" will be used if neither is + Gets the MIME type of the file. This is either passed in to the constructor or + inferred from the file extension. "unknown/unknown" will be used if neither is available. - Gets the url of the file. It is only available after you save the file or after + Gets the url of the file. It is only available after you save the file or after you get the file from a . - + - Provides extension methods for to support - Linq-style queries. + Represents download progress. - + - Gets a MethodInfo for a top-level method call. + Gets the progress (a number between 0.0 and 1.0) of a download. - + - When a query is normalized, this is a placeholder to indicate we should - add a WhereContainedIn() clause. + Represents this app installed on this device. Use this class to track infomation you want + to sample from (i.e. if you update a field on app launch, you can issue a query to see + the number of devices which were active in the last N hours). - + - When a query is normalized, this is a placeholder to indicate we should - add a WhereNotContainedIn() clause. + The ParseObject is a local representation of data that can be saved and + retrieved from the Parse cloud. + + + The basic workflow for creating new data is to construct a new ParseObject, + use the indexer to fill it with data, and then use SaveAsync() to persist to the + database. + + + The basic workflow for accessing existing data is to use a ParseQuery + to specify which existing data to retrieve. + + + + + + Constructor for use in ParseObject subclasses. Subclasses must specify a ParseClassName attribute. - + - When a query is normalized, this is a placeholder to indicate that we should - add a WhereExists() clause. + Constructs a new ParseObject with no data in it. A ParseObject constructed in this way will + not have an ObjectId and will not persist to the database until + is called. + + Class names must be alphanumerical plus underscore, and start with a letter. It is recommended + to name classes in CamelCaseLikeThis. + + The className for this ParseObject. - + - When a query is normalized, this is a placeholder to indicate that we should - add a WhereDoesNotExist() clause. + Creates a new ParseObject based upon a class name. If the class name is a special type (e.g. + for ), then the appropriate type of ParseObject is returned. + The class of object to create. + A new ParseObject for the given class name. - + - Evaluates an expression and throws if the expression has components that can't be - evaluated (e.g. uses the parameter that's only represented by an object on the server). + Creates a reference to an existing ParseObject for use in creating associations between + ParseObjects. Calling on this object will return + false until has been called. + No network request will be made. + The object's class. + The object id for the referenced object. + A ParseObject without data. - + - Checks whether the MethodCallExpression is a call to ParseObject.Get(), - which is the call we normalize all indexing into the ParseObject to. + Creates a new ParseObject based upon a given subclass type. + A new ParseObject for the given class name. - + - Converts a normalized method call expression into the appropriate ParseQuery clause. + Creates a reference to an existing ParseObject for use in creating associations between + ParseObjects. Calling on this object will return + false until has been called. + No network request will be made. + The object id for the referenced object. + A ParseObject without data. - + - Converts a normalized binary expression into the appropriate ParseQuery clause. + Sets the value of a property based upon its associated ParseFieldName attribute. + The new value. + The name of the property. + The type for the property. - + - Filters a query based upon the predicate provided. + Gets a relation for a property based upon its associated ParseFieldName attribute. - The type of ParseObject being queried for. - The base to which - the predicate will be added. - A function to test each ParseObject for a condition. - The predicate must be able to be represented by one of the standard Where - functions on ParseQuery - A new ParseQuery whose results will match the given predicate as - well as the source's filters. + The ParseRelation for the property. + The name of the property. + The ParseObject subclass type of the ParseRelation. - + - Normalizes an OrderBy's keySelector expression and then extracts the path - from the ParseObject.Get() call. + Gets the value of a property based upon its associated ParseFieldName attribute. + The value of the property. + The name of the property. + The return type of the property. - + - Orders a query based upon the key selector provided. + Gets the value of a property based upon its associated ParseFieldName attribute. - The type of ParseObject being queried for. - The type of key returned by keySelector. - The query to order. - A function to extract a key from the ParseObject. - A new ParseQuery based on source whose results will be ordered by - the key specified in the keySelector. + The value of the property. + The value to return if the property is not present on the ParseObject. + The name of the property. + The return type of the property. - + - Orders a query based upon the key selector provided. + Allows subclasses to set values for non-pointer construction. - The type of ParseObject being queried for. - The type of key returned by keySelector. - The query to order. - A function to extract a key from the ParseObject. - A new ParseQuery based on source whose results will be ordered by - the key specified in the keySelector. - + - Performs a subsequent ordering of a query based upon the key selector provided. + Gets the appropriate factory for the given class name. If there is no factory for the class, + a factory that produces a regular ParseObject will be created. - The type of ParseObject being queried for. - The type of key returned by keySelector. - The query to order. - A function to extract a key from the ParseObject. - A new ParseQuery based on source whose results will be ordered by - the key specified in the keySelector. + The class name for the ParseObjects the factory will create. + - + - Performs a subsequent ordering of a query based upon the key selector provided. + Registers a custom subclass type with the Parse SDK, enabling strong-typing of those ParseObjects whenever + they appear. Subclasses must specify the ParseClassName attribute, have a default constructor, and properties + backed by ParseObject fields should have ParseFieldName attributes supplied. - The type of ParseObject being queried for. - The type of key returned by keySelector. - The query to order. - A function to extract a key from the ParseObject. - A new ParseQuery based on source whose results will be ordered by - the key specified in the keySelector. + The ParseObject subclass type to register. - + - Correlates the elements of two queries based on matching keys. + Clears any changes to this object made since the last call to . - The type of ParseObjects of the first query. - The type of ParseObjects of the second query. - The type of the keys returned by the key selector - functions. - The type of the result. This must match either - TOuter or TInner - The first query to join. - The query to join to the first query. - A function to extract a join key from the results of - the first query. - A function to extract a join key from the results of - the second query. - A function to select either the outer or inner query - result to determine which query is the base query. - A new ParseQuery with a WhereMatchesQuery or WhereMatchesKeyInQuery - clause based upon the query indicated in the . - + - Visits an Expression, converting ParseObject.Get/ParseObject[]/ParseObject.Property, - and nested indices into a single call to ParseObject.Get() with a "field path" like - "foo.bar.baz" + Updates the JSON cache value for the given object. - + - Check for a ParseFieldName attribute and use that as the path component, turning - properties like foo.ObjectId into foo.Get("objectId") + Inspects to see if a given mutable container owned by this object has + been mutated, and treats any mutation as a new "set" operation. - + - If a ParseObject.Get() call has been cast, just change the generic parameter. + Inspects to see if any mutable container owned by this object has been mutated, and + treats any mutation as a new 'Set' operation. - + - Normalizes Where expressions. + Flattens dictionaries and lists into a single enumerable of all contained objects + that can then be queried over. + The root of the traversal + Whether to traverse into ParseObjects' children + Whether to include the root in the result + - + - Normalizes binary operators. <, >, <=, >= !=, and == - This puts the ParseObject.Get() on the left side of the operation - (reversing it if necessary), and normalizes the ParseObject.Get() + Deep traversal of this object to grab a copy of any object referenced by this object. + These instances may have already been fetched, and we don't want to lose their data when + refreshing or saving. + Map of objectId to ParseObject which have been fetched. - + - If a ! operator is used, this removes the ! and instead calls the equivalent - function (so e.g. == becomes !=, < becomes >=, Contains becomes NotContains) + Pushes new operations onto the queue and returns the current set of operations. - + - Normalizes .Equals into == and Contains() into the appropriate stub. + Saves this object to the server. - + - A ParseACL is used to control which users and roles can access or modify a particular object. Each - can have its own ParseACL. You can grant read and write permissions - separately to specific users, to groups of users that belong to roles, or you can grant permissions - to "the public" so that, for example, any user could read a particular object but only a particular - set of users could write to that object. + Saves this object to the server. + The cancellation token. - + - Creates an ACL with no permissions granted. + Saves each object in the provided list. + The objects to save. - + - Creates an ACL where only the provided user has access. + Saves each object in the provided list. - The only user that can read or write objects governed by this ACL. + The objects to save. + The cancellation token. - + - Sets whether the given user id is allowed to read this object. + Fetches this object with the data from the server. - The objectId of the user. - Whether the user has permission. + The cancellation token. - + - Sets whether the given user is allowed to read this object. + If this ParseObject has not been fetched (i.e. returns + false), fetches this object with the data from the server. - The user. - Whether the user has permission. + The cancellation token. - + - Sets whether the given user id is allowed to write this object. + Fetches all of the objects that don't have data in the provided list. - The objectId of the user. - Whether the user has permission. + The list passed in for convenience. - + - Sets whether the given user is allowed to write this object. + Fetches all of the objects that don't have data in the provided list. - The user. - Whether the user has permission. + The objects to fetch. + The cancellation token. + The list passed in for convenience. - + - Gets whether the given user id is *explicitly* allowed to read this object. - Even if this returns false, the user may still be able to read it if - PublicReadAccess is true or a role that the user belongs to has read access. + Fetches all of the objects in the provided list. - The user objectId to check. - Whether the user has access. + The objects to fetch. + The list passed in for convenience. - + - Gets whether the given user is *explicitly* allowed to read this object. - Even if this returns false, the user may still be able to read it if - PublicReadAccess is true or a role that the user belongs to has read access. + Fetches all of the objects in the provided list. - The user to check. - Whether the user has access. + The objects to fetch. + The cancellation token. + The list passed in for convenience. - + - Gets whether the given user id is *explicitly* allowed to write this object. - Even if this returns false, the user may still be able to write it if - PublicReadAccess is true or a role that the user belongs to has write access. + Fetches all of the objects in the list. - The user objectId to check. - Whether the user has access. + The objects to fetch. + If false, only objects without data will be fetched. + A task to await before starting. + The cancellation token. + The list passed in for convenience. - + - Gets whether the given user is *explicitly* allowed to write this object. - Even if this returns false, the user may still be able to write it if - PublicReadAccess is true or a role that the user belongs to has write access. + Deletes this object on the server. - The user to check. - Whether the user has access. - + - Sets whether users belonging to the role with the given - are allowed to read this object. + Deletes this object on the server. - The name of the role. - Whether the role has access. + The cancellation token. - + - Sets whether users belonging to the given role are allowed to read this object. + Deletes each object in the provided list. - The role. - Whether the role has access. + The objects to delete. - + - Gets whether users belonging to the role with the given - are allowed to read this object. Even if this returns false, the role may still be - able to read it if a parent role has read access. + Deletes each object in the provided list. - The name of the role. - Whether the role has access. + The objects to delete. + The cancellation token. - + - Gets whether users belonging to the role are allowed to read this object. - Even if this returns false, the role may still be able to read it if a - parent role has read access. + Helper version of CollectDirtyChildren so that callers don't have to add the internally + used parameters. - The name of the role. - Whether the role has access. - + - Sets whether users belonging to the role with the given - are allowed to write this object. + Returns true if the given object can be serialized for saving as a value + that is pointed to by a ParseObject. - The name of the role. - Whether the role has access. - + - Sets whether users belonging to the given role are allowed to write this object. + Adds a task to the queue for all of the given objects. - The role. - Whether the role has access. - + - Gets whether users belonging to the role with the given - are allowed to write this object. Even if this returns false, the role may still be - able to write it if a parent role has write access. + Removes a key from the object's data if it exists. - The name of the role. - Whether the role has access. + The key to remove. - + - Gets whether users belonging to the role are allowed to write this object. - Even if this returns false, the role may still be able to write it if a - parent role has write access. + Regenerates the estimatedData map from the serverData and operations. - The name of the role. - Whether the role has access. - + - Gets or sets whether the public is allowed to read this object. + PerformOperation is like setting a value at an index, but instead of + just taking a new value, it takes a ParseFieldOperation that modifies the value. - + - Gets or sets whether the public is allowed to write this object. + Override to run validations on key/value pairs. Make sure to still + call the base version. - + - ParseClient contains static functions that handle global - configuration for the Parse library. + Perform Set internally which is not gated by mutability check. + key for the object. + the value for the key. - + - Authenticates this client as belonging to your application. This must be - called before your application can use the Parse library. The recommended - way is to put a call to ParseFramework.Initialize in your - Application startup. + Atomically increments the given key by 1. - The Application ID provided in the Parse dashboard. - - The .NET API Key provided in the Parse dashboard. - + The key to increment. - + - Convenience alias for RequestAsync that takes a string instead of a Uri. + Atomically increments the given key by the given number. + The key to increment. + The amount to increment by. - + - The main mechanism for making requests to Parse. Attaches headers related to - the SDK, session token, etc., then JSON-parses the result of the request and throws - a ParseException if necessary. + Atomically increments the given key by the given number. - The HTTP method to use. - A relative URI for the API. - The session token for the request. - A JSON-style data object that will be stringified - for the request body. - The cancellation token for the request. - A tuple indicating the HTTP status code and the JSON data - returned by the request. + The key to increment. + The amount to increment by. - + - Performs an upload that reports progress. + Atomically adds an object to the end of the list associated with the given key. + The key. + The object to add. - + - Performs a ConvertTo, but returns null if the object can't be - converted to that type. + Atomically adds objects to the end of the list associated with the given key. + The key. + The objects to add. - + - Converts a value to the requested type -- coercing primitives to - the desired type, wrapping lists and dictionaries appropriately, - or else passing the object along to the caller unchanged. - - This should be used on any containers that might be coming from a - user to normalize the collection types. Collection types coming from - JSON deserialization can be safely assumed to be lists or dictionaries of - objects. + Atomically adds an object to the end of the list associated with the given key, + only if it is not already present in the list. The position of the insert is not + guaranteed. + The key. + The object to add. - + - Holds a dictionary that maps a cache of interface types for related concrete types. - The lookup is slow the first time for each type because it has to enumerate all interface - on the object type, but made fast by the cache. - - The map is: - (object type, generic interface type) => constructed generic type + Atomically adds objects to the end of the list associated with the given key, + only if they are not already present in the list. The position of the inserts are not + guaranteed. + The key. + The objects to add. - + - Flattens dictionaries and lists into a single enumerable of all contained objects - that can then be queried over. + Atomically removes all instances of the objects in + from the list associated with the given key. - The root of the traversal - Whether to traverse into ParseObjects' children - Whether to include the root in the result - + The key. + The objects to remove. - + - The ParseCloud class provides methods for interacting with Parse Cloud Functions. + Returns whether this object has a particular key. - - For example, this sample code calls the - "validateGame" Cloud Function and calls processResponse if the call succeeded - and handleError if it failed. - - - var result = - await ParseCloud.CallFunctionAsync<IDictionary<string, object>>("validateGame", parameters); - - + The key to check for - + - Calls a cloud function. + Gets a value for the key of a particular type. + The type to convert the value to. Supported types are + ParseObject and its descendents, Parse types such as ParseRelation and ParseGeopoint, + primitive types,IList<T>, IDictionary<string, T>, and strings. + The key of the element to get. + The property is + retrieved and is not found. - The type of data you will receive from the cloud function. This - can be an IDictionary, string, IList, ParseObject, or any other type supported by - ParseObject. - The cloud function to call. - The parameters to send to the cloud function. This - dictionary can contain anything that could be passed into a ParseObject except for - ParseObjects themselves. - The result of the cloud call. - + - Calls a cloud function. + Access or create a Relation value for a key. - The type of data you will receive from the cloud function. This - can be an IDictionary, string, IList, ParseObject, or any other type supported by - ParseObject. - The cloud function to call. - The parameters to send to the cloud function. This - dictionary can contain anything that could be passed into a ParseObject except for - ParseObjects themselves. - The cancellation token. - The result of the cloud call. + The type of object to create a relation for. + The key for the relation field. + A ParseRelation for the key. - + - Exceptions that may occur when sending requests to Parse. + Populates result with the value for the key, if possible. + The desired type for the value. + The key to retrieve a value for. + The value for the given key, converted to the + requested type, or null if unsuccessful. + true if the lookup and conversion succeeded, otherwise + false. - + - The Parse error code associated with the exception. + A helper function for checking whether two ParseObjects point to + the same object in the cloud. - + - Error codes that may be delivered in response to requests to Parse. + Indicates whether key is unsaved for this ParseObject. + The key to check for. + true if the key has been altered and not saved yet, otherwise + false. - + - Error code indicating that an unknown error or an error unrelated to Parse - occurred. + Sets the objectId without marking dirty. + The new objectId - + - Error code indicating that something has gone wrong with the server. - If you get this error code, it is Parse's fault. Please report the bug to - https://parse.com/help. + Adds a value for the given key, throwing an Exception if the key + already has a value. + + This allows you to use collection initialization syntax when creating ParseObjects, + such as: + + var obj = new ParseObject("MyType") + { + {"name", "foo"}, + {"count", 10}, + {"found", false} + }; + + + The key for which a value should be set. + The value for the key. - + - Error code indicating the connection to the Parse servers failed. + Gets a for the type of object specified by + + The class name of the object. + A new . - + - Error code indicating the specified object doesn't exist. + Raises change notifications for all properties associated with the given + field names. If fieldNames is null, this will notify for all known field-linked + properties (e.g. this happens when we recalculate all estimated data from scratch) - + - Error code indicating you tried to query with a datatype that doesn't - support it, like exact matching an array or object. + Raises change notifications for a property. Passing null or the empty string + notifies the binding framework that all properties/indexes have changed. + Passing "Item[]" tells the binding framework that all indexed values + have changed (but not all properties) - + - Error code indicating a missing or invalid classname. Classnames are - case-sensitive. They must start with a letter, and a-zA-Z0-9_ are the - only valid characters. + Gets or sets a value on the object. It is recommended to name + keys in partialCamelCaseLikeThis. + The key for the object. Keys must be alphanumeric plus underscore + and start with a letter. + The property is + retrieved and is not found. + The value for the key. - + - Error code indicating an unspecified object id. + Gets whether the ParseObject has been fetched. - + - Error code indicating an invalid key name. Keys are case-sensitive. They - must start with a letter, and a-zA-Z0-9_ are the only valid characters. + Gets a set view of the keys contained in this object. This does not include createdAt, + updatedAt, or objectId. It does include things like username and ACL. - + - Error code indicating a malformed pointer. You should not see this unless - you have been mucking about changing internal Parse code. + Gets or sets the ParseACL governing this object. - + - Error code indicating that badly formed JSON was received upstream. This - either indicates you have done something unusual with modifying how - things encode to JSON, or the network is failing badly. + Returns true if this object was created by the Parse server when the + object might have already been there (e.g. in the case of a Facebook + login) - + - Error code indicating that the feature you tried to access is only - available internally for testing purposes. + Gets the last time this object was updated as the server sees it, so that if you make changes + to a ParseObject, then wait a while, and then call , the updated time + will be the time of the call rather than the time the object was + changed locally. - + - You must call Parse.initialize before using the Parse library. + Gets the first time this object was saved as the server sees it, so that if you create a + ParseObject, then wait a while, and then call , the + creation time will be the time of the first call rather than + the time the object was created locally. - + - Error code indicating that a field was set to an inconsistent type. + Indicates whether this ParseObject has unsaved changes. - + - Error code indicating an invalid channel name. A channel name is either - an empty string (the broadcast channel) or contains only a-zA-Z0-9_ - characters and starts with a letter. + Gets or sets the object id. An object id is assigned as soon as an object is + saved to the server. The combination of a and an + uniquely identifies an object in your application. - + - Error code indicating that push is misconfigured. + Gets the class name for the ParseObject. - + - Error code indicating that the object is too large. + Gets the set of fieldName->propertyName mappings for the current class. - + - Error code indicating that the operation isn't allowed for clients. + Occurs when a property value changes. - + - Error code indicating the result was not found in the cache. + Constructs a new ParseInstallation. Generally, you should not need to construct + ParseInstallations yourself. Instead use . - + - Error code indicating that an invalid key was used in a nested - JSONObject. + Gets the locale identifier in the format: [language code]-[COUNTRY CODE]. + The locale identifier in the format: [language code]-[COUNTRY CODE]. - + - Error code indicating that an invalid filename was used for ParseFile. - A valid file name contains only a-zA-Z0-9_. characters and is between 1 - and 128 characters. + This mapping of Windows names to a standard everyone else uses is maintained + by the Unicode consortium, which makes this officially the first helpful + interaction between Unicode and Microsoft. + Unfortunately this is a little lossy in that we only store the first mapping in each zone because + Microsoft does not give us more granular location information. + Built from http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/zone_tzid.html - + - Error code indicating an invalid ACL was provided. + Gets the ParseInstallation representing this app on this device. - + - Error code indicating that the request timed out on the server. Typically - this indicates that the request is too expensive to run. + Constructs a for ParseInstallations. + + Only the following types of queries are allowed for installations: + + + query.GetAsync(objectId) + query.WhereEqualTo(key, value) + query.WhereMatchesKeyInQuery<TOther>(key, keyInQuery, otherQuery) + + + You can add additional query conditions, but one of the above must appear as a top-level AND + clause in the query. + - + - Error code indicating that the email address was invalid. + A GUID that uniquely names this app installed on this device. - + - Error code indicating that a unique field was given a value that is - already taken. + The runtime target of this installation object. - + - Error code indicating that a role's name is invalid. + The user-friendly display name of this application. - + - Error code indicating that an application quota was exceeded. Upgrade to - resolve. + A version string consisting of Major.Minor.Build.Revision. - + - Error code indicating that a Cloud Code script failed. + The system-dependent unique identifier of this installation. This identifier should be + sufficient to distinctly name an app on stores which may allow multiple apps with the + same display name. - + - Error code indicating that a Cloud Code validation failed. + The time zone in which this device resides. This string is in the tz database format + Parse uses for local-time pushes. Due to platform restrictions, the mapping is less + granular on Windows than it may be on other systems. E.g. The zones + America/Vancouver America/Dawson America/Whitehorse, America/Tijuana, PST8PDT, and + America/Los_Angeles are all reported as America/Los_Angeles. - + - Error code indicating that deleting a file failed. + The users locale. This field gets automatically populated by the SDK. + Can be null (Parse Push uses default language in this case). - + - Error code indicating that the application has exceeded its request limit. + The version of the Parse SDK used to build this application. - + - Error code indicating that the provided event name is invalid. + A sequence of arbitrary strings which are used to identify this installation for push notifications. + By convention, the empty string is known as the "Broadcast" channel. - + - Error code indicating that the username is missing or empty. + A wrapper around Parse push notification payload. - + - Error code indicating that the password is missing or empty. + The payload of the push notification as IDictionary. - + - Error code indicating that the username has already been taken. + The payload of the push notification as string. - + - Error code indicating that the email has already been taken. + Provides extension methods for to support + Linq-style queries. - + - Error code indicating that the email is missing, but must be specified. + Gets a MethodInfo for a top-level method call. - + - Error code indicating that a user with the specified email was not found. + When a query is normalized, this is a placeholder to indicate we should + add a WhereContainedIn() clause. - + - Error code indicating that a user object without a valid session could - not be altered. + When a query is normalized, this is a placeholder to indicate we should + add a WhereNotContainedIn() clause. - + - Error code indicating that a user can only be created through signup. + When a query is normalized, this is a placeholder to indicate that we should + add a WhereExists() clause. - + - Error code indicating that an an account being linked is already linked - to another user. + When a query is normalized, this is a placeholder to indicate that we should + add a WhereDoesNotExist() clause. - + - Error code indicating that the current session token is invalid. + Evaluates an expression and throws if the expression has components that can't be + evaluated (e.g. uses the parameter that's only represented by an object on the server). - + - Error code indicating that a user cannot be linked to an account because - that account's id could not be found. + Checks whether the MethodCallExpression is a call to ParseObject.Get(), + which is the call we normalize all indexing into the ParseObject to. - + - Error code indicating that a user with a linked (e.g. Facebook) account - has an invalid session. + Converts a normalized method call expression into the appropriate ParseQuery clause. - + - Error code indicating that a service being linked (e.g. Facebook or - Twitter) is unsupported. + Converts a normalized binary expression into the appropriate ParseQuery clause. - + - Provides convenience extension methods for working with collections - of ParseObjects so that you can easily save and fetch them in batches. + Filters a query based upon the predicate provided. + The type of ParseObject being queried for. + The base to which + the predicate will be added. + A function to test each ParseObject for a condition. + The predicate must be able to be represented by one of the standard Where + functions on ParseQuery + A new ParseQuery whose results will match the given predicate as + well as the source's filters. - + - Saves all of the ParseObjects in the enumeration. Equivalent to - calling . + Normalizes an OrderBy's keySelector expression and then extracts the path + from the ParseObject.Get() call. - The objects to save. - + - Saves all of the ParseObjects in the enumeration. Equivalent to - calling - . + Orders a query based upon the key selector provided. - The objects to save. - The cancellation token. + The type of ParseObject being queried for. + The type of key returned by keySelector. + The query to order. + A function to extract a key from the ParseObject. + A new ParseQuery based on source whose results will be ordered by + the key specified in the keySelector. - + - Fetches all of the objects in the enumeration. Equivalent to - calling . + Orders a query based upon the key selector provided. - The objects to save. + The type of ParseObject being queried for. + The type of key returned by keySelector. + The query to order. + A function to extract a key from the ParseObject. + A new ParseQuery based on source whose results will be ordered by + the key specified in the keySelector. - + - Fetches all of the objects in the enumeration. Equivalent to - calling - . + Performs a subsequent ordering of a query based upon the key selector provided. - The objects to fetch. - The cancellation token. + The type of ParseObject being queried for. + The type of key returned by keySelector. + The query to order. + A function to extract a key from the ParseObject. + A new ParseQuery based on source whose results will be ordered by + the key specified in the keySelector. - + - Fetches all of the objects in the enumeration that don't already have - data. Equivalent to calling - . + Performs a subsequent ordering of a query based upon the key selector provided. - The objects to fetch. + The type of ParseObject being queried for. + The type of key returned by keySelector. + The query to order. + A function to extract a key from the ParseObject. + A new ParseQuery based on source whose results will be ordered by + the key specified in the keySelector. - + - Fetches all of the objects in the enumeration that don't already have - data. Equivalent to calling - . + Correlates the elements of two queries based on matching keys. - The objects to fetch. - The cancellation token. + The type of ParseObjects of the first query. + The type of ParseObjects of the second query. + The type of the keys returned by the key selector + functions. + The type of the result. This must match either + TOuter or TInner + The first query to join. + The query to join to the first query. + A function to extract a join key from the results of + the first query. + A function to extract a join key from the results of + the second query. + A function to select either the outer or inner query + result to determine which query is the base query. + A new ParseQuery with a WhereMatchesQuery or WhereMatchesKeyInQuery + clause based upon the query indicated in the . - + - Constructs a query that is the or of the given queries. + Visits an Expression, converting ParseObject.Get/ParseObject[]/ParseObject.Property, + and nested indices into a single call to ParseObject.Get() with a "field path" like + "foo.bar.baz" - The type of ParseObject being queried. - An initial query to 'or' with additional queries. - The list of ParseQueries to 'or' together. - A query that is the or of the given queries. - + - Fetches this object with the data from the server. + Check for a ParseFieldName attribute and use that as the path component, turning + properties like foo.ObjectId into foo.Get("objectId") - + - Fetches this object with the data from the server. + If a ParseObject.Get() call has been cast, just change the generic parameter. - The ParseObject to fetch. - The cancellation token. - + - If this ParseObject has not been fetched (i.e. returns - false), fetches this object with the data from the server. + Normalizes Where expressions. - The ParseObjhect to fetch. - + - If this ParseObject has not been fetched (i.e. returns - false), fetches this object with the data from the server. + Normalizes binary operators. <, >, <=, >= !=, and == + This puts the ParseObject.Get() on the left side of the operation + (reversing it if necessary), and normalizes the ParseObject.Get() - The ParseObject to fetch. - The cancellation token. - + - Represents a distance between two ParseGeoPoints. + If a ! operator is used, this removes the ! and instead calls the equivalent + function (so e.g. == becomes !=, < becomes >=, Contains becomes NotContains) - + - Creates a ParseGeoDistance. + Normalizes .Equals into == and Contains() into the appropriate stub. - The distance in radians. - + - Gets a ParseGeoDistance from a number of miles. + A ParseACL is used to control which users and roles can access or modify a particular object. Each + can have its own ParseACL. You can grant read and write permissions + separately to specific users, to groups of users that belong to roles, or you can grant permissions + to "the public" so that, for example, any user could read a particular object but only a particular + set of users could write to that object. - The number of miles. - A ParseGeoDistance for the given number of miles. - + - Gets a ParseGeoDistance from a number of kilometers. + Creates an ACL with no permissions granted. - The number of kilometers. - A ParseGeoDistance for the given number of kilometers. - + - Gets a ParseGeoDistance from a number of radians. + Creates an ACL where only the provided user has access. - The number of radians. - A ParseGeoDistance for the given number of radians. + The only user that can read or write objects governed by this ACL. - + - Gets the distance in radians. + Sets whether the given user id is allowed to read this object. + The objectId of the user. + Whether the user has permission. - + - Gets the distance in miles. + Sets whether the given user is allowed to read this object. + The user. + Whether the user has permission. - + - Gets the distance in kilometers. + Sets whether the given user id is allowed to write this object. + The objectId of the user. + Whether the user has permission. - + - ParseGeoPoint represents a latitude / longitude point that may be associated - with a key in a ParseObject or used as a reference point for geo queries. - This allows proximity-based queries on the key. - - Only one key in a class may contain a GeoPoint. + Sets whether the given user is allowed to write this object. + The user. + Whether the user has permission. - + - Constructs a ParseGeoPoint with the specified latitude and longitude. + Gets whether the given user id is *explicitly* allowed to read this object. + Even if this returns false, the user may still be able to read it if + PublicReadAccess is true or a role that the user belongs to has read access. - The point's latitude. - The point's longitude. + The user objectId to check. + Whether the user has access. - + - Get the distance in radians between this point and another GeoPoint. This is the smallest angular - distance between the two points. + Gets whether the given user is *explicitly* allowed to read this object. + Even if this returns false, the user may still be able to read it if + PublicReadAccess is true or a role that the user belongs to has read access. - GeoPoint describing the other point being measured against. - The distance in between the two points. + The user to check. + Whether the user has access. - + - Gets or sets the latitude of the GeoPoint. Valid range is [-90, 90]. - Extremes should not be used. + Gets whether the given user id is *explicitly* allowed to write this object. + Even if this returns false, the user may still be able to write it if + PublicReadAccess is true or a role that the user belongs to has write access. + The user objectId to check. + Whether the user has access. - + - Gets or sets the longitude. Valid range is [-180, 180]. - Extremes should not be used. + Gets whether the given user is *explicitly* allowed to write this object. + Even if this returns false, the user may still be able to write it if + PublicReadAccess is true or a role that the user belongs to has write access. + The user to check. + Whether the user has access. - + - The ParseObject is a local representation of data that can be saved and - retrieved from the Parse cloud. - - - The basic workflow for creating new data is to construct a new ParseObject, - use the indexer to fill it with data, and then use SaveAsync() to persist to the - database. - - - The basic workflow for accessing existing data is to use a ParseQuery - to specify which existing data to retrieve. - - + Sets whether users belonging to the role with the given + are allowed to read this object. + + The name of the role. + Whether the role has access. - + - Constructor for use in ParseObject subclasses. Subclasses must specify a ParseClassName attribute. + Sets whether users belonging to the given role are allowed to read this object. + The role. + Whether the role has access. - + - Constructs a new ParseObject with no data in it. A ParseObject constructed in this way will - not have an ObjectId and will not persist to the database until - is called. + Gets whether users belonging to the role with the given + are allowed to read this object. Even if this returns false, the role may still be + able to read it if a parent role has read access. - - Class names must be alphanumerical plus underscore, and start with a letter. It is recommended - to name classes in CamelCaseLikeThis. - - The className for this ParseObject. + The name of the role. + Whether the role has access. - + - Sets the value of a property based upon its associated ParseFieldName attribute. + Gets whether users belonging to the role are allowed to read this object. + Even if this returns false, the role may still be able to read it if a + parent role has read access. - The new value. - The name of the property. - The type for the property. + The name of the role. + Whether the role has access. - + - Gets a relation for a property based upon its associated ParseFieldName attribute. + Sets whether users belonging to the role with the given + are allowed to write this object. - The ParseRelation for the property. - The name of the property. - The ParseObject subclass type of the ParseRelation. + The name of the role. + Whether the role has access. - + - Gets the value of a property based upon its associated ParseFieldName attribute. + Sets whether users belonging to the given role are allowed to write this object. - The value of the property. - The name of the property. - The return type of the property. + The role. + Whether the role has access. - + + + Gets whether users belonging to the role with the given + are allowed to write this object. Even if this returns false, the role may still be + able to write it if a parent role has write access. + + The name of the role. + Whether the role has access. + + + + Gets whether users belonging to the role are allowed to write this object. + Even if this returns false, the role may still be able to write it if a + parent role has write access. + + The name of the role. + Whether the role has access. + + + + Gets or sets whether the public is allowed to read this object. + + + + + Gets or sets whether the public is allowed to write this object. + + + + + ParseClient contains static functions that handle global + configuration for the Parse library. + + + + + Authenticates this client as belonging to your application. This must be + called before your application can use the Parse library. The recommended + way is to put a call to ParseFramework.Initialize in your + Application startup. + + The Application ID provided in the Parse dashboard. + + The .NET API Key provided in the Parse dashboard. + + + + + Performs a ConvertTo, but returns null if the object can't be + converted to that type. + + + + + Converts a value to the requested type -- coercing primitives to + the desired type, wrapping lists and dictionaries appropriately, + or else passing the object along to the caller unchanged. + + This should be used on any containers that might be coming from a + user to normalize the collection types. Collection types coming from + JSON deserialization can be safely assumed to be lists or dictionaries of + objects. + + + + + Holds a dictionary that maps a cache of interface types for related concrete types. + The lookup is slow the first time for each type because it has to enumerate all interface + on the object type, but made fast by the cache. + + The map is: + (object type, generic interface type) => constructed generic type + + + + + The ParseCloud class provides methods for interacting with Parse Cloud Functions. + + + For example, this sample code calls the + "validateGame" Cloud Function and calls processResponse if the call succeeded + and handleError if it failed. + + + var result = + await ParseCloud.CallFunctionAsync<IDictionary<string, object>>("validateGame", parameters); + + + + + + Calls a cloud function. + + The type of data you will receive from the cloud function. This + can be an IDictionary, string, IList, ParseObject, or any other type supported by + ParseObject. + The cloud function to call. + The parameters to send to the cloud function. This + dictionary can contain anything that could be passed into a ParseObject except for + ParseObjects themselves. + The result of the cloud call. + + + + Calls a cloud function. + + The type of data you will receive from the cloud function. This + can be an IDictionary, string, IList, ParseObject, or any other type supported by + ParseObject. + The cloud function to call. + The parameters to send to the cloud function. This + dictionary can contain anything that could be passed into a ParseObject except for + ParseObjects themselves. + The cancellation token. + The result of the cloud call. + + + + Exceptions that may occur when sending requests to Parse. + + + + + The Parse error code associated with the exception. + + + + + Error codes that may be delivered in response to requests to Parse. + + + + + Error code indicating that an unknown error or an error unrelated to Parse + occurred. + + + + + Error code indicating that something has gone wrong with the server. + If you get this error code, it is Parse's fault. Please report the bug to + https://parse.com/help. + + + - Gets the value of a property based upon its associated ParseFieldName attribute. + Error code indicating the connection to the Parse servers failed. - The value of the property. - The value to return if the property is not present on the ParseObject. - The name of the property. - The return type of the property. - + - Allows subclasses to set values for non-pointer construction. + Error code indicating the specified object doesn't exist. - + - Gets the appropriate factory for the given class name. If there is no factory for the class, - a factory that produces a regular ParseObject will be created. + Error code indicating you tried to query with a datatype that doesn't + support it, like exact matching an array or object. - The class name for the ParseObjects the factory will create. - - + - Creates a new ParseObject based upon a class name. If the class name is a special type (e.g. - for ), then the appropriate type of ParseObject is returned. + Error code indicating a missing or invalid classname. Classnames are + case-sensitive. They must start with a letter, and a-zA-Z0-9_ are the + only valid characters. - The class of object to create. - A new ParseObject for the given class name. - + - Creates a reference to an existing ParseObject for use in creating associations between - ParseObjects. Calling on this object will return - false until has been called. - No network request will be made. + Error code indicating an unspecified object id. - The object's class. - The object id for the referenced object. - A ParseObject without data. - + - Creates a new ParseObject based upon a given subclass type. + Error code indicating an invalid key name. Keys are case-sensitive. They + must start with a letter, and a-zA-Z0-9_ are the only valid characters. - A new ParseObject for the given class name. - + - Creates a reference to an existing ParseObject for use in creating associations between - ParseObjects. Calling on this object will return - false until has been called. - No network request will be made. + Error code indicating a malformed pointer. You should not see this unless + you have been mucking about changing internal Parse code. - The object id for the referenced object. - A ParseObject without data. - + - Registers a custom subclass type with the Parse SDK, enabling strong-typing of those ParseObjects whenever - they appear. Subclasses must specify the ParseClassName attribute, have a default constructor, and properties - backed by ParseObject fields should have ParseFieldName attributes supplied. + Error code indicating that badly formed JSON was received upstream. This + either indicates you have done something unusual with modifying how + things encode to JSON, or the network is failing badly. - The ParseObject subclass type to register. - + - Clears any changes to this object made since the last call to . + Error code indicating that the feature you tried to access is only + available internally for testing purposes. - + - Updates the JSON cache value for the given object. + You must call Parse.initialize before using the Parse library. - + - Inspects to see if a given mutable container owned by this object has - been mutated, and treats any mutation as a new "set" operation. + Error code indicating that a field was set to an inconsistent type. - + - Inspects to see if any mutable container owned by this object has been mutated, and - treats any mutation as a new 'Set' operation. + Error code indicating an invalid channel name. A channel name is either + an empty string (the broadcast channel) or contains only a-zA-Z0-9_ + characters and starts with a letter. - + - Deep traversal of this object to grab a copy of any object referenced by this object. - These instances may have already been fetched, and we don't want to lose their data when - refreshing or saving. + Error code indicating that push is misconfigured. - Map of objectId to ParseObject which have been fetched. - + - Pushes new operations onto the queue and returns the current set of operations. + Error code indicating that the object is too large. - + - Saves this object to the server. + Error code indicating that the operation isn't allowed for clients. - + - Saves this object to the server. + Error code indicating the result was not found in the cache. - The cancellation token. - + - Fetches this object with the data from the server. + Error code indicating that an invalid key was used in a nested + JSONObject. - The cancellation token. - + - If this ParseObject has not been fetched (i.e. returns - false), fetches this object with the data from the server. + Error code indicating that an invalid filename was used for ParseFile. + A valid file name contains only a-zA-Z0-9_. characters and is between 1 + and 128 characters. - The cancellation token. - + - Deletes this object on the server. + Error code indicating an invalid ACL was provided. - + - Deletes this object on the server. + Error code indicating that the request timed out on the server. Typically + this indicates that the request is too expensive to run. - The cancellation token. - + - Helper version of CollectDirtyChildren so that callers don't have to add the internally - used parameters. + Error code indicating that the email address was invalid. - + - Returns true if the given object can be serialized for saving as a value - that is pointed to by a ParseObject. + Error code indicating that a unique field was given a value that is + already taken. - + - Adds a task to the queue for all of the given objects. + Error code indicating that a role's name is invalid. - + - Fetches all of the objects that don't have data in the provided list. + Error code indicating that an application quota was exceeded. Upgrade to + resolve. - The list passed in for convenience. - + - Fetches all of the objects that don't have data in the provided list. + Error code indicating that a Cloud Code script failed. - The objects to fetch. - The cancellation token. - The list passed in for convenience. - + - Fetches all of the objects in the provided list. + Error code indicating that a Cloud Code validation failed. - The objects to fetch. - The list passed in for convenience. - + - Fetches all of the objects in the provided list. + Error code indicating that deleting a file failed. - The objects to fetch. - The cancellation token. - The list passed in for convenience. - + - Fetches all of the objects in the list. + Error code indicating that the application has exceeded its request limit. - The objects to fetch. - If false, only objects without data will be fetched. - A task to await before starting. - The cancellation token. - The list passed in for convenience. - + - Saves each object in the provided list. + Error code indicating that the provided event name is invalid. - The objects to save. - + - Saves each object in the provided list. + Error code indicating that the username is missing or empty. - The objects to save. - The cancellation token. - + - Removes a key from the object's data if it exists. + Error code indicating that the password is missing or empty. - The key to remove. - + - Updates the estimated values in the map based on the given set of ParseFieldOperations. + Error code indicating that the username has already been taken. - + - Regenerates the estimatedData map from the serverData and operations. + Error code indicating that the email has already been taken. - + - PerformOperation is like setting a value at an index, but instead of - just taking a new value, it takes a ParseFieldOperation that modifies the value. + Error code indicating that the email is missing, but must be specified. - + - Override to run validations on key/value pairs. Make sure to still - call the base version. + Error code indicating that a user with the specified email was not found. - + - Perform Set internally which is not gated by mutability check. + Error code indicating that a user object without a valid session could + not be altered. - key for the object. - the value for the key. - + - Atomically increments the given key by 1. + Error code indicating that a user can only be created through signup. - The key to increment. - + - Atomically increments the given key by the given number. + Error code indicating that an an account being linked is already linked + to another user. - The key to increment. - The amount to increment by. - + - Atomically increments the given key by the given number. + Error code indicating that the current session token is invalid. - The key to increment. - The amount to increment by. - + - Atomically adds an object to the end of the list associated with the given key. + Error code indicating that a user cannot be linked to an account because + that account's id could not be found. - The key. - The object to add. - + - Atomically adds objects to the end of the list associated with the given key. + Error code indicating that a user with a linked (e.g. Facebook) account + has an invalid session. - The key. - The objects to add. - + - Atomically adds an object to the end of the list associated with the given key, - only if it is not already present in the list. The position of the insert is not - guaranteed. + Error code indicating that a service being linked (e.g. Facebook or + Twitter) is unsupported. - The key. - The object to add. - + - Atomically adds objects to the end of the list associated with the given key, - only if they are not already present in the list. The position of the inserts are not - guaranteed. + Provides convenience extension methods for working with collections + of ParseObjects so that you can easily save and fetch them in batches. - The key. - The objects to add. - + - Atomically removes all instances of the objects in - from the list associated with the given key. + Saves all of the ParseObjects in the enumeration. Equivalent to + calling . - The key. - The objects to remove. + The objects to save. - + - Returns whether this object has a particular key. + Saves all of the ParseObjects in the enumeration. Equivalent to + calling + . - The key to check for + The objects to save. + The cancellation token. - + - Gets a value for the key of a particular type. - The type to convert the value to. Supported types are - ParseObject and its descendents, Parse types such as ParseRelation and ParseGeopoint, - primitive types,IList<T>, IDictionary<string, T>, and strings. - The key of the element to get. - The property is - retrieved and is not found. + Fetches all of the objects in the enumeration. Equivalent to + calling . + The objects to save. - + - Access or create a Relation value for a key. + Fetches all of the objects in the enumeration. Equivalent to + calling + . - The type of object to create a relation for. - The key for the relation field. - A ParseRelation for the key. + The objects to fetch. + The cancellation token. - + - Populates result with the value for the key, if possible. + Fetches all of the objects in the enumeration that don't already have + data. Equivalent to calling + . - The desired type for the value. - The key to retrieve a value for. - The value for the given key, converted to the - requested type, or null if unsuccessful. - true if the lookup and conversion succeeded, otherwise - false. + The objects to fetch. - + - A helper function for checking whether two ParseObjects point to - the same object in the cloud. + Fetches all of the objects in the enumeration that don't already have + data. Equivalent to calling + . + The objects to fetch. + The cancellation token. - + - Indicates whether key is unsaved for this ParseObject. + Constructs a query that is the or of the given queries. - The key to check for. - true if the key has been altered and not saved yet, otherwise - false. + The type of ParseObject being queried. + An initial query to 'or' with additional queries. + The list of ParseQueries to 'or' together. + A query that is the or of the given queries. - + - Sets the objectId without marking dirty. + Fetches this object with the data from the server. - The new objectId - + - Adds a value for the given key, throwing an Exception if the key - already has a value. + Fetches this object with the data from the server. - - This allows you to use collection initialization syntax when creating ParseObjects, - such as: - - var obj = new ParseObject("MyType") - { - {"name", "foo"}, - {"count", 10}, - {"found", false} - }; - - - The key for which a value should be set. - The value for the key. + The ParseObject to fetch. + The cancellation token. - + - Gets a for the type of object specified by - + If this ParseObject has not been fetched (i.e. returns + false), fetches this object with the data from the server. - The class name of the object. - A new . + The ParseObjhect to fetch. - + - Raises change notifications for all properties associated with the given - field names. If fieldNames is null, this will notify for all known field-linked - properties (e.g. this happens when we recalculate all estimated data from scratch) + If this ParseObject has not been fetched (i.e. returns + false), fetches this object with the data from the server. + The ParseObject to fetch. + The cancellation token. - + - Raises change notifications for a property. Passing null or the empty string - notifies the binding framework that all properties/indexes have changed. - Passing "Item[]" tells the binding framework that all indexed values - have changed (but not all properties) + Represents a distance between two ParseGeoPoints. - + - Gets or sets a value on the object. It is recommended to name - keys in partialCamelCaseLikeThis. + Creates a ParseGeoDistance. - The key for the object. Keys must be alphanumeric plus underscore - and start with a letter. - The property is - retrieved and is not found. - The value for the key. + The distance in radians. - + - Gets whether the ParseObject has been fetched. + Gets a ParseGeoDistance from a number of miles. + The number of miles. + A ParseGeoDistance for the given number of miles. - + - Gets a set view of the keys contained in this object. This does not include createdAt, - updatedAt, or objectId. It does include things like username and ACL. + Gets a ParseGeoDistance from a number of kilometers. + The number of kilometers. + A ParseGeoDistance for the given number of kilometers. - + - Gets or sets the ParseACL governing this object. + Gets a ParseGeoDistance from a number of radians. + The number of radians. + A ParseGeoDistance for the given number of radians. - + - Returns true if this object was created by the Parse server when the - object might have already been there (e.g. in the case of a Facebook - login) + Gets the distance in radians. - + - Gets the last time this object was updated as the server sees it, so that if you make changes - to a ParseObject, then wait a while, and then call , the updated time - will be the time of the call rather than the time the object was - changed locally. + Gets the distance in miles. - + - Gets the first time this object was saved as the server sees it, so that if you create a - ParseObject, then wait a while, and then call , the - creation time will be the time of the first call rather than - the time the object was created locally. + Gets the distance in kilometers. - + - Indicates whether this ParseObject has unsaved changes. + ParseGeoPoint represents a latitude / longitude point that may be associated + with a key in a ParseObject or used as a reference point for geo queries. + This allows proximity-based queries on the key. + + Only one key in a class may contain a GeoPoint. - + - Gets or sets the object id. An object id is assigned as soon as an object is - saved to the server. The combination of a and an - uniquely identifies an object in your application. + Constructs a ParseGeoPoint with the specified latitude and longitude. + The point's latitude. + The point's longitude. - + - Gets the class name for the ParseObject. + Get the distance in radians between this point and another GeoPoint. This is the smallest angular + distance between the two points. + GeoPoint describing the other point being measured against. + The distance in between the two points. - + - Gets the set of fieldName->propertyName mappings for the current class. + Gets or sets the latitude of the GeoPoint. Valid range is [-90, 90]. + Extremes should not be used. - + - Occurs when a property value changes. + Gets or sets the longitude. Valid range is [-180, 180]. + Extremes should not be used. @@ -1937,7 +2200,7 @@ - Private constructor for composition of queries. A source query is required, + Private constructor for composition of queries. A source query is required, but the remaining values can be null if they won't be changed in this composition. @@ -1978,27 +2241,27 @@ A new query with the additional constraint. - - Sorts the results in ascending order by the given key, after previous - ordering has been applied. + + Sorts the results in ascending order by the given key, after previous + ordering has been applied. - This method can only be called if there is already an - or - on this query. - - The key to order by. - A new query with the additional constraint. + This method can only be called if there is already an + or + on this query. + + The key to order by. + A new query with the additional constraint. - - Sorts the results in descending order by the given key, after previous - ordering has been applied. + + Sorts the results in descending order by the given key, after previous + ordering has been applied. - This method can only be called if there is already an - or on this query. - - The key to order by. - A new query with the additional constraint. + This method can only be called if there is already an + or on this query. + + The key to order by. + A new query with the additional constraint. @@ -2019,8 +2282,8 @@ - Skips a number of results before returning. This is useful for pagination - of large queries. Chaining multiple skips together will cause more results + Skips a number of results before returning. This is useful for pagination + of large queries. Chaining multiple skips together will cause more results to be skipped. The number of results to skip. @@ -2028,8 +2291,8 @@ - Controls the maximum number of results that are returned. Setting a negative - limit denotes retrieval without a limit. Chaining multiple limits + Controls the maximum number of results that are returned. Setting a negative + limit denotes retrieval without a limit. Chaining multiple limits results in the last limit specified being used. The default limit is 100, with a maximum of 1000 results being returned at a time. @@ -2073,7 +2336,7 @@ Adds a constraint to the query that requires that a particular key's value - does not match another ParseQuery. This only works on keys whose values are + does not match another ParseQuery. This only works on keys whose values are ParseObjects or lists of ParseObjects. The key to check. @@ -2208,7 +2471,7 @@ Adds a constraint to the query that requires that a particular key's value - matches another ParseQuery. This only works on keys whose values are + matches another ParseQuery. This only works on keys whose values are ParseObjects or lists of ParseObjects. The key to check. @@ -2342,11 +2605,6 @@ The cancellation token. The ParseObject for the given objectId. - - - For debugging purposes. - - A common base class for ParseRelations. @@ -2359,7 +2617,7 @@ - Provides access to all of the children of a many-to-many relationship. Each instance of + Provides access to all of the children of a many-to-many relationship. Each instance of ParseRelation is associated with a particular parent and key. The type of the child objects. @@ -2372,7 +2630,7 @@ - Removes an object from this relation. The object must already have been saved. + Removes an object from this relation. The object must already have been saved. The object to remove. @@ -2383,7 +2641,7 @@ - Represents a Role on the Parse server. ParseRoles represent groupings + Represents a Role on the Parse server. ParseRoles represent groupings of s for the purposes of granting permissions (e.g. specifying a for a . Roles are specified by their sets of child users and child roles, all of which are granted @@ -2395,7 +2653,7 @@ - Constructs a new ParseRole. You must assign a name and ACL to the role. + Constructs a new ParseRole. You must assign a name and ACL to the role. @@ -2472,18 +2730,6 @@ Represents a user for a Parse application. - - - Whether the currentUser is known to match the serialized version on disk. - This is useful for saving a filesystem check if you try to load currentUser - frequently while there is none on disk. - - - - - Constructs a new ParseUser with no data. - - Removes a key from the object's data if it exists. @@ -2547,15 +2793,19 @@ Logs out the currently logged in user session. This will remove the session from disk, log out of linked services, and future calls to will return null. + + Typically, you should use , unless you are managing your own threading. + Logs out the currently logged in user session. This will remove the session from disk, log out of linked services, and future calls to will return null. - + + This is preferable to using , unless your code is already running from a background thread. - + @@ -2597,14 +2847,14 @@ Requests a password reset email to be sent to the specified email address associated with the - user account. This email allows the user to securely reset their password on the Parse site. + user account. This email allows the user to securely reset their password on the Parse site. The email address associated with the user that forgot their password. Requests a password reset email to be sent to the specified email address associated with the - user account. This email allows the user to securely reset their password on the Parse site. + user account. This email allows the user to securely reset their password on the Parse site. The email address associated with the user that forgot their password. The cancellation token. @@ -2631,7 +2881,7 @@ - Whether the ParseUser has been authenticated on this device. Only an authenticated + Whether the ParseUser has been authenticated on this device. Only an authenticated ParseUser can be saved and deleted. @@ -2666,5 +2916,64 @@ Gets the authData for this user. + + + Fetchs the config from the server asynchrounously. + + The config async. + Session token. + Cancellation token. + + + + Gets the current config controller. + + The current config controller. + + + + Config controller. + + + + + Initializes a new instance of the class. + + + + + Gets the current config async. + + The current config async. + + + + Sets the current config async. + + The current config async. + Config. + + + + Clears the current config async. + + The current config async. + + + + Clears the current config in memory async. + + The current config in memory async. + + + + Parse current config controller. + + + + + Initializes a new instance of the class. + +