Full Code of Azure/azure-mobile-services for AI

master 1198c8576bf1 cached
1814 files
17.4 MB
4.7M tokens
7864 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (18,690K chars total). Download the full file to get everything.
Repository: Azure/azure-mobile-services
Branch: master
Commit: 1198c8576bf1
Files: 1814
Total size: 17.4 MB

Directory structure:
gitextract_8ud35due/

├── .gitattributes
├── .gitignore
├── .gitmodules
├── CHANGELOG.android.md
├── CHANGELOG.ios.md
├── CHANGELOG.javascript.md
├── CHANGELOG.managed.md
├── CHANGELOG.md
├── LICENSE.txt
├── README.md
├── component/
│   ├── .gitignore
│   ├── Details.md
│   ├── GettingStarted.md
│   ├── License.md
│   ├── component.yaml
│   ├── icon.psd
│   └── samples/
│       ├── androidsample/
│       │   ├── androidsample/
│       │   │   ├── Assets/
│       │   │   │   └── AboutAssets.txt
│       │   │   ├── Properties/
│       │   │   │   ├── AndroidManifest.xml
│       │   │   │   └── AssemblyInfo.cs
│       │   │   ├── Resources/
│       │   │   │   ├── AboutResources.txt
│       │   │   │   ├── Resource.designer.cs
│       │   │   │   ├── layout/
│       │   │   │   │   ├── Activity_To_Do.axml
│       │   │   │   │   └── Row_List_To_Do.axml
│       │   │   │   ├── menu/
│       │   │   │   │   └── activity_main.xml
│       │   │   │   ├── values/
│       │   │   │   │   ├── Strings.xml
│       │   │   │   │   └── styles.xml
│       │   │   │   ├── values-v11/
│       │   │   │   │   └── styles.xml
│       │   │   │   └── values-v14/
│       │   │   │       └── styles.xml
│       │   │   ├── ToDoActivity.cs
│       │   │   ├── ToDoItem.cs
│       │   │   ├── ToDoItemAdapter.cs
│       │   │   ├── androidsample.csproj
│       │   │   └── app.config
│       │   └── androidsample.sln
│       └── iOSsample/
│           ├── iOSsample/
│           │   ├── AppDelegate.cs
│           │   ├── Info.plist
│           │   ├── Main.cs
│           │   ├── MainStoryboard_iPad.storyboard
│           │   ├── MainStoryboard_iPhone.storyboard
│           │   ├── QSTodoListViewController.cs
│           │   ├── QSTodoListViewController.designer.cs
│           │   ├── QSTodoService.cs
│           │   ├── ToDoItem.cs
│           │   ├── app.config
│           │   └── iOSsample.csproj
│           └── iOSsample.sln
├── docs/
│   ├── README.md
│   ├── mobile-services-android-get-started-data.md
│   ├── mobile-services-android-get-started-offline-data.md
│   ├── mobile-services-android-get-started-users.md
│   ├── mobile-services-android-get-started.md
│   ├── mobile-services-android-how-to-use-client-library.md
│   ├── mobile-services-android-upload-data-blob-storage.md
│   ├── mobile-services-concepts-links.md
│   ├── mobile-services-disaster-recovery.md
│   ├── mobile-services-dotnet-backend-android-get-started-push.md
│   ├── mobile-services-dotnet-backend-android-get-started-users.md
│   ├── mobile-services-dotnet-backend-android-get-started.md
│   ├── mobile-services-dotnet-backend-define-custom-api.md
│   ├── mobile-services-dotnet-backend-get-started-custom-authentication.md
│   ├── mobile-services-dotnet-backend-how-to-configure-iis-express.md
│   ├── mobile-services-dotnet-backend-how-to-troubleshoot.md
│   ├── mobile-services-dotnet-backend-how-to-use-code-first-migrations.md
│   ├── mobile-services-dotnet-backend-hybrid-connections-get-started.md
│   ├── mobile-services-dotnet-backend-ios-adal-sso-authentication.md
│   ├── mobile-services-dotnet-backend-ios-get-started-push.md
│   ├── mobile-services-dotnet-backend-ios-get-started-users.md
│   ├── mobile-services-dotnet-backend-ios-get-started.md
│   ├── mobile-services-dotnet-backend-ios-push-notifications-app-users.md
│   ├── mobile-services-dotnet-backend-schedule-recurring-tasks.md
│   ├── mobile-services-dotnet-backend-service-side-authorization.md
│   ├── mobile-services-dotnet-backend-store-code-source-control.md
│   ├── mobile-services-dotnet-backend-store-data-table-storage.md
│   ├── mobile-services-dotnet-backend-use-existing-sql-database.md
│   ├── mobile-services-dotnet-backend-windows-store-dotnet-aad-rbac.md
│   ├── mobile-services-dotnet-backend-windows-store-dotnet-get-started.md
│   ├── mobile-services-dotnet-backend-windows-store-dotnet-leaderboard.md
│   ├── mobile-services-dotnet-backend-windows-store-dotnet-push-notifications-app-users.md
│   ├── mobile-services-dotnet-backend-windows-universal-dotnet-get-started-data.md
│   ├── mobile-services-dotnet-backend-windows-universal-dotnet-get-started-push.md
│   ├── mobile-services-dotnet-backend-windows-universal-dotnet-get-started-users.md
│   ├── mobile-services-dotnet-backend-windows-universal-dotnet-upload-data-blob-storage.md
│   ├── mobile-services-dotnet-backend-xamarin-android-get-started-push.md
│   ├── mobile-services-dotnet-backend-xamarin-android-get-started-users.md
│   ├── mobile-services-dotnet-backend-xamarin-android-get-started.md
│   ├── mobile-services-dotnet-backend-xamarin-ios-get-started-users.md
│   ├── mobile-services-dotnet-backend-xamarin-ios-get-started.md
│   ├── mobile-services-dotnet-how-to-use-client-library.md
│   ├── mobile-services-how-to-register-active-directory-authentication.md
│   ├── mobile-services-how-to-register-facebook-authentication.md
│   ├── mobile-services-how-to-register-google-authentication.md
│   ├── mobile-services-how-to-register-microsoft-authentication.md
│   ├── mobile-services-how-to-register-twitter-authentication.md
│   ├── mobile-services-how-to-use-multiple-clients-single-service.md
│   ├── mobile-services-how-to-use-server-scripts.md
│   ├── mobile-services-html-get-started-users.md
│   ├── mobile-services-html-get-started.md
│   ├── mobile-services-html-how-to-use-client-library.md
│   ├── mobile-services-ios-get-started-offline-data.md
│   ├── mobile-services-ios-get-started-users.md
│   ├── mobile-services-ios-get-started.md
│   ├── mobile-services-ios-handling-conflicts-offline-data.md
│   ├── mobile-services-ios-how-to-use-client-library.md
│   ├── mobile-services-javascript-backend-android-get-started-push.md
│   ├── mobile-services-javascript-backend-define-custom-api.md
│   ├── mobile-services-javascript-backend-ios-get-started-push.md
│   ├── mobile-services-javascript-backend-ios-push-notifications-app-users.md
│   ├── mobile-services-javascript-backend-phonegap-get-started.md
│   ├── mobile-services-javascript-backend-service-side-authorization.md
│   ├── mobile-services-javascript-backend-windows-phone-get-started-push.md
│   ├── mobile-services-javascript-backend-windows-store-dotnet-get-started.md
│   ├── mobile-services-javascript-backend-windows-store-dotnet-push-notifications-app-users.md
│   ├── mobile-services-javascript-backend-windows-store-javascript-get-started.md
│   ├── mobile-services-javascript-backend-windows-universal-dotnet-get-started-push.md
│   ├── mobile-services-javascript-backend-windows-universal-dotnet-get-started-users.md
│   ├── mobile-services-javascript-backend-windows-universal-dotnet-upload-data-blob-storage.md
│   ├── mobile-services-manage-command-line-interface.md
│   ├── mobile-services-schedule-recurring-tasks.md
│   ├── mobile-services-sql-scale-guidance.md
│   ├── mobile-services-store-scripts-source-control.md
│   ├── mobile-services-using-soft-delete.md
│   ├── mobile-services-windows-phone-get-started-data.md
│   ├── mobile-services-windows-phone-get-started-users.md
│   ├── mobile-services-windows-store-dotnet-adal-sso-authentication.md
│   ├── mobile-services-windows-store-dotnet-get-started-offline-data.md
│   ├── mobile-services-windows-store-dotnet-handle-database-conflicts.md
│   ├── mobile-services-windows-store-dotnet-handling-conflicts-offline-data.md
│   ├── mobile-services-xamarin-android-get-started-offline-data.md
│   ├── mobile-services-xamarin-ios-get-started-offline-data.md
│   ├── partner-sencha-mobile-services-get-started.md
│   ├── partner-twilio-mobile-services-how-to-use-voice-sms.md
│   ├── partner-xamarin-mobile-services-android-get-started-push.md
│   ├── partner-xamarin-mobile-services-android-get-started-users.md
│   ├── partner-xamarin-mobile-services-android-get-started.md
│   ├── partner-xamarin-mobile-services-ios-get-started-push.md
│   ├── partner-xamarin-mobile-services-ios-get-started-users.md
│   ├── partner-xamarin-mobile-services-ios-get-started.md
│   ├── partner-xamarin-mobile-services-xamarin-forms-get-started-push.md
│   ├── store-sendgrid-mobile-services-send-email-scripts.md
│   ├── vs-mobile-services-cordova-getting-started.md
│   ├── vs-mobile-services-cordova-what-happened.md
│   ├── vs-mobile-services-dotnet-getting-started.md
│   ├── vs-mobile-services-dotnet-what-happened.md
│   ├── vs-mobile-services-javascript-getting-started.md
│   └── vs-mobile-services-javascript-what-happened.md
├── sdk/
│   ├── Javascript/
│   │   ├── .gitignore
│   │   ├── Gruntfile.js
│   │   ├── Microsoft.WindowsAzure.Mobile.JS.sln
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Generated/
│   │   │   │   └── .gitignore
│   │   │   ├── Internals/
│   │   │   │   ├── DevIntellisense.js
│   │   │   │   ├── InternalsVisible.js
│   │   │   │   └── NodeExports.js
│   │   │   ├── LoginUis/
│   │   │   │   ├── BrowserPopup.js
│   │   │   │   ├── CordovaPopup.js
│   │   │   │   └── WebAuthBroker.js
│   │   │   ├── Microsoft.WindowsAzure.Mobile.JS.csproj
│   │   │   ├── MobileServiceClient.js
│   │   │   ├── MobileServiceLogin.js
│   │   │   ├── MobileServiceTable.js
│   │   │   ├── MobileServices.intellisense.js
│   │   │   ├── MobileServices.intellisense.txt
│   │   │   ├── MobileServices.priconfig.xml
│   │   │   ├── Platforms/
│   │   │   │   ├── Platform.Web.js
│   │   │   │   └── Platform.WinJS.js
│   │   │   ├── Properties/
│   │   │   │   └── AssemblyInfo.cs
│   │   │   ├── Push/
│   │   │   │   ├── LocalStorageManager.js
│   │   │   │   ├── Push.Web.js
│   │   │   │   ├── Push.WinJS.js
│   │   │   │   ├── PushHttpClient.js
│   │   │   │   └── RegistrationManager.js
│   │   │   ├── Require.js
│   │   │   ├── Strings/
│   │   │   │   └── en-US/
│   │   │   │       └── Resources.resjson
│   │   │   ├── Transports/
│   │   │   │   ├── DirectAjaxTransport.js
│   │   │   │   └── IframeTransport.js
│   │   │   └── Utilities/
│   │   │       ├── Extensions.js
│   │   │       ├── PostMessageExchange.js
│   │   │       ├── Promises.js
│   │   │       └── Validate.js
│   │   ├── test/
│   │   │   ├── framework/
│   │   │   │   ├── ActionContinuation.cs
│   │   │   │   ├── Assert.cs
│   │   │   │   ├── FunctionalTestFilter.cs
│   │   │   │   ├── IAsyncExecution.cs
│   │   │   │   ├── IContinuation.cs
│   │   │   │   ├── ITestReporter.cs
│   │   │   │   ├── Microsoft.WindowsAzure.Mobile.WinJS.TestFramework.csproj
│   │   │   │   ├── Properties/
│   │   │   │   │   └── AssemblyInfo.cs
│   │   │   │   ├── RuntimeTestFilter.cs
│   │   │   │   ├── Tagging/
│   │   │   │   │   ├── TagManager.ExpressionEvaluator.cs
│   │   │   │   │   ├── TagManager.Tags.cs
│   │   │   │   │   ├── TagManager.cs
│   │   │   │   │   └── TagTestFilter.cs
│   │   │   │   ├── TestFilter.cs
│   │   │   │   ├── TestGroup.cs
│   │   │   │   ├── TestHarness.cs
│   │   │   │   ├── TestMethod.cs
│   │   │   │   ├── TestSettings.cs
│   │   │   │   └── WinJS/
│   │   │   │       ├── Formatter.cs
│   │   │   │       ├── MessageEventArgs.cs
│   │   │   │       ├── PromiseAsyncExecution.cs
│   │   │   │       ├── PromiseAsyncExecutionEventArgs.cs
│   │   │   │       └── TestReporter.cs
│   │   │   ├── web/
│   │   │   │   ├── Microsoft.Azure.Zumo.Web.Test.csproj
│   │   │   │   ├── Tests.library
│   │   │   │   ├── Web.Debug.config
│   │   │   │   ├── Web.Release.config
│   │   │   │   ├── Web.config
│   │   │   │   ├── css/
│   │   │   │   │   └── styles.css
│   │   │   │   ├── generated/
│   │   │   │   │   └── .gitignore
│   │   │   │   ├── index.html
│   │   │   │   ├── js/
│   │   │   │   │   ├── TestClientHelper.js
│   │   │   │   │   └── TestFrameworkAdapter.js
│   │   │   │   ├── promiseTests/
│   │   │   │   │   ├── package.json
│   │   │   │   │   ├── readme.txt
│   │   │   │   │   └── test-promises.js
│   │   │   │   └── tests/
│   │   │   │       └── unit/
│   │   │   │           └── push.js
│   │   │   └── winJS/
│   │   │       ├── Microsoft.Azure.Zumo.Windows.WinJS.Test_TemporaryKey.pfx
│   │   │       ├── Microsoft.WindowsAzure.Mobile.WinJS.Test.jsproj
│   │   │       ├── Tests.library
│   │   │       ├── css/
│   │   │       │   └── default.css
│   │   │       ├── default.html
│   │   │       ├── generated/
│   │   │       │   └── .gitignore
│   │   │       ├── js/
│   │   │       │   └── default.js
│   │   │       ├── package.appxmanifest
│   │   │       ├── packages.config
│   │   │       └── tests/
│   │   │           ├── TestFramework.js
│   │   │           ├── TestInterface.js
│   │   │           ├── functional/
│   │   │           │   ├── basics.js
│   │   │           │   ├── blogging.js
│   │   │           │   ├── dates.js
│   │   │           │   ├── mobileServiceTable.Functional.js
│   │   │           │   └── todo.js
│   │   │           ├── unit/
│   │   │           │   ├── extensions.js
│   │   │           │   ├── localStorageManager.js
│   │   │           │   ├── mobileServiceTables.js
│   │   │           │   ├── mobileServicesClient._request.js
│   │   │           │   ├── mobileServicesClient.js
│   │   │           │   ├── pushHttpClient.js
│   │   │           │   ├── registrationManager.js
│   │   │           │   └── validate.js
│   │   │           ├── utilities/
│   │   │           │   ├── TableHelper.js
│   │   │           │   └── constants.js
│   │   │           └── winJsOnly/
│   │   │               └── push.js
│   │   └── tools/
│   │       └── JSBuild/
│   │           ├── MergeJSModules.cs
│   │           ├── Microsoft.WindowsAzure.Mobile.JSBuild.csproj
│   │           └── Properties/
│   │               └── AssemblyInfo.cs
│   ├── Managed/
│   │   ├── .gitignore
│   │   ├── Microsoft.WindowsAzure.Mobile.Managed - IncludeXamarin.sln
│   │   ├── Microsoft.WindowsAzure.Mobile.Managed.SQLiteStore.sln
│   │   ├── Microsoft.WindowsAzure.Mobile.Managed.sln
│   │   ├── src/
│   │   │   ├── Microsoft.WindowsAzure.MobileServices/
│   │   │   │   ├── Authentication/
│   │   │   │   │   ├── MobileServiceAuthentication.cs
│   │   │   │   │   ├── MobileServiceAuthenticationProvider.cs
│   │   │   │   │   └── MobileServiceTokenAuthentication.cs
│   │   │   │   ├── Collections/
│   │   │   │   │   ├── MobileServiceCollection.cs
│   │   │   │   │   └── MobileServiceCollectionEventArgs.cs
│   │   │   │   ├── EnumValueAttribute.cs
│   │   │   │   ├── Exceptions/
│   │   │   │   │   ├── MobileServiceConflictException.cs
│   │   │   │   │   ├── MobileServiceInvalidOperationException.cs
│   │   │   │   │   ├── MobileServiceLocalStoreException.cs
│   │   │   │   │   ├── MobileServiceODataException.cs
│   │   │   │   │   ├── MobileServicePreconditionFailedException.cs
│   │   │   │   │   ├── MobileServicePushAbortException.cs
│   │   │   │   │   └── MobileServicePushFailedException.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── ExceptionExtensions.cs
│   │   │   │   │   ├── IDictionaryExtensions.cs
│   │   │   │   │   ├── JTokenExtensions.cs
│   │   │   │   │   ├── MobileServiceClientExtensions.cs
│   │   │   │   │   ├── MobileServiceCollectionExtensions.cs
│   │   │   │   │   ├── MobileServiceLocalStoreExtensions.cs
│   │   │   │   │   ├── MobileServiceSyncContextExtensions.cs
│   │   │   │   │   ├── MobileServiceSyncTableExtensions.cs
│   │   │   │   │   ├── MobileServiceTableExtensions.cs
│   │   │   │   │   ├── PlatformInformationExtensions.cs
│   │   │   │   │   ├── StringExtensions.cs
│   │   │   │   │   └── TypeExtensions.cs
│   │   │   │   ├── Http/
│   │   │   │   │   ├── HttpUtility.cs
│   │   │   │   │   ├── LinkHeaderValue.cs
│   │   │   │   │   ├── MobileServiceHttpClient.cs
│   │   │   │   │   └── MobileServiceHttpResponse.cs
│   │   │   │   ├── IMobileServiceClient.cs
│   │   │   │   ├── Microsoft.WindowsAzure.Mobile.csproj
│   │   │   │   ├── MobileServiceClient.cs
│   │   │   │   ├── MobileServiceFeatures.cs
│   │   │   │   ├── MobileServiceUrlBuilder.cs
│   │   │   │   ├── MobileServiceUser.cs
│   │   │   │   ├── Platform/
│   │   │   │   │   ├── IApplicationStorage.cs
│   │   │   │   │   ├── IExpressionUtility.cs
│   │   │   │   │   ├── IPlatform.cs
│   │   │   │   │   ├── IPlatformInformation.cs
│   │   │   │   │   ├── IPushUtility.cs
│   │   │   │   │   ├── Platform.cs
│   │   │   │   │   └── PreserveAttribute.cs
│   │   │   │   ├── Properties/
│   │   │   │   │   └── AssemblyInfo.cs
│   │   │   │   ├── Push/
│   │   │   │   │   ├── ILocalStorageManager.cs
│   │   │   │   │   ├── IRegistrationManager.cs
│   │   │   │   │   ├── LocalStorageManager.cs
│   │   │   │   │   ├── PushHttpClient.cs
│   │   │   │   │   ├── Registration.cs
│   │   │   │   │   ├── RegistrationClassConverter.cs
│   │   │   │   │   ├── RegistrationManager.cs
│   │   │   │   │   └── StoredRegistrationEntry.cs
│   │   │   │   ├── Resources.Designer.cs
│   │   │   │   ├── Resources.resx
│   │   │   │   ├── Table/
│   │   │   │   │   ├── IMobileServiceTable.Generic.cs
│   │   │   │   │   ├── IMobileServiceTable.cs
│   │   │   │   │   ├── MobileServiceObjectReader.cs
│   │   │   │   │   ├── MobileServiceSystemColumns.cs
│   │   │   │   │   ├── MobileServiceSystemProperties.cs
│   │   │   │   │   ├── MobileServiceTable.Generic.cs
│   │   │   │   │   ├── MobileServiceTable.cs
│   │   │   │   │   ├── Query/
│   │   │   │   │   │   ├── IQueryResultEnumerable.cs
│   │   │   │   │   │   ├── ITotalCountProvider.cs
│   │   │   │   │   │   ├── Linq/
│   │   │   │   │   │   │   ├── FilterBuildingExpressionVisitor.cs
│   │   │   │   │   │   │   ├── IMobileServiceTableQuery.cs
│   │   │   │   │   │   │   ├── MemberInfoKey.cs
│   │   │   │   │   │   │   ├── MobileServiceTableQuery.cs
│   │   │   │   │   │   │   ├── MobileServiceTableQueryProvider.cs
│   │   │   │   │   │   │   └── MobileServiceTableQueryTranslator.cs
│   │   │   │   │   │   ├── MobileServiceTableQueryDescription.cs
│   │   │   │   │   │   ├── OData/
│   │   │   │   │   │   │   ├── BinaryOperatorKind.cs
│   │   │   │   │   │   │   ├── BinaryOperatorNode.cs
│   │   │   │   │   │   │   ├── ConstantNode.cs
│   │   │   │   │   │   │   ├── ConvertNode.cs
│   │   │   │   │   │   │   ├── FunctionCallNode.cs
│   │   │   │   │   │   │   ├── MemberAccessNode.cs
│   │   │   │   │   │   │   ├── ODataExpressionLexer.cs
│   │   │   │   │   │   │   ├── ODataExpressionParser.cs
│   │   │   │   │   │   │   ├── ODataExpressionVisitor.cs
│   │   │   │   │   │   │   ├── OrderByDirection.cs
│   │   │   │   │   │   │   ├── OrderByNode.cs
│   │   │   │   │   │   │   ├── QueryNode.cs
│   │   │   │   │   │   │   ├── QueryNodeKind.cs
│   │   │   │   │   │   │   ├── QueryNodeVisitor.cs
│   │   │   │   │   │   │   ├── QueryToken.cs
│   │   │   │   │   │   │   ├── QueryTokenKind.cs
│   │   │   │   │   │   │   ├── UnaryOperatorKind.cs
│   │   │   │   │   │   │   └── UnaryOperatorNode.cs
│   │   │   │   │   │   ├── ODataOptions.cs
│   │   │   │   │   │   ├── QueryResult.cs
│   │   │   │   │   │   ├── QueryResultEnumerable.cs
│   │   │   │   │   │   └── QueryResultList.cs
│   │   │   │   │   ├── Serialization/
│   │   │   │   │   │   ├── CreatedAtAttribute.cs
│   │   │   │   │   │   ├── DataTableAttribute.cs
│   │   │   │   │   │   ├── DeletedAttribute.cs
│   │   │   │   │   │   ├── ISystemPropertyAttribute.cs
│   │   │   │   │   │   ├── MobileServiceContractResolver.cs
│   │   │   │   │   │   ├── MobileServiceIsoDateTimeConverter.cs
│   │   │   │   │   │   ├── MobileServiceJsonSerializerSettings.cs
│   │   │   │   │   │   ├── MobileServicePrecisionCheckConverter.cs
│   │   │   │   │   │   ├── MobileServiceSerializer.cs
│   │   │   │   │   │   ├── UpdatedAtAttribute.cs
│   │   │   │   │   │   └── VersionAttribute.cs
│   │   │   │   │   └── Sync/
│   │   │   │   │       ├── IMobileServiceLocalStore.cs
│   │   │   │   │       ├── IMobileServiceSyncContext.cs
│   │   │   │   │       ├── IMobileServiceSyncHandler.cs
│   │   │   │   │       ├── IMobileServiceSyncTable.Generic.cs
│   │   │   │   │       ├── IMobileServiceSyncTable.cs
│   │   │   │   │       ├── MobileServiceLocalStore.cs
│   │   │   │   │       ├── MobileServiceLocalSystemTables.cs
│   │   │   │   │       ├── MobileServicePushCompletionResult.cs
│   │   │   │   │       ├── MobileServicePushStatus.cs
│   │   │   │   │       ├── MobileServiceRemoteTableOptions.cs
│   │   │   │   │       ├── MobileServiceSyncContext.cs
│   │   │   │   │       ├── MobileServiceSyncHandler.cs
│   │   │   │   │       ├── MobileServiceSyncSettingsManager.cs
│   │   │   │   │       ├── MobileServiceSyncTable.Generic.cs
│   │   │   │   │       ├── MobileServiceSyncTable.cs
│   │   │   │   │       ├── PullOptions.cs
│   │   │   │   │       └── Queue/
│   │   │   │   │           ├── Actions/
│   │   │   │   │           │   ├── IncrementalPullStrategy.cs
│   │   │   │   │           │   ├── PullAction.cs
│   │   │   │   │           │   ├── PullCursor.cs
│   │   │   │   │           │   ├── PullStrategy.cs
│   │   │   │   │           │   ├── PurgeAction.cs
│   │   │   │   │           │   ├── PushAction.cs
│   │   │   │   │           │   ├── SyncAction.cs
│   │   │   │   │           │   └── TableAction.cs
│   │   │   │   │           ├── OperationBatch.cs
│   │   │   │   │           ├── OperationQueue.cs
│   │   │   │   │           └── Operations/
│   │   │   │   │               ├── DeleteOperation.cs
│   │   │   │   │               ├── IMobileServiceTableOperation.cs
│   │   │   │   │               ├── InsertOperation.cs
│   │   │   │   │               ├── MobileServiceTableKind.cs
│   │   │   │   │               ├── MobileServiceTableOperation.cs
│   │   │   │   │               ├── MobileServiceTableOperationError.cs
│   │   │   │   │               ├── MobileServiceTableOperationKind.cs
│   │   │   │   │               ├── MobileServiceTableOperationState.cs
│   │   │   │   │               └── UpdateOperation.cs
│   │   │   │   ├── Threading/
│   │   │   │   │   ├── ActionBlock.cs
│   │   │   │   │   ├── AsyncLock.cs
│   │   │   │   │   ├── AsyncLockDictionary.cs
│   │   │   │   │   ├── AsyncReaderWriterLock.cs
│   │   │   │   │   └── DisposeAction.cs
│   │   │   │   └── packages.config
│   │   │   ├── Microsoft.WindowsAzure.MobileServices.Android/
│   │   │   │   ├── Authentication/
│   │   │   │   │   └── MobileServiceUIAuthentication.cs
│   │   │   │   ├── ExpressionUtility/
│   │   │   │   │   └── ExpressionVisitor.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   └── MobileServiceClientExtensions.cs
│   │   │   │   ├── Microsoft.WindowsAzure.Mobile.Ext.Android.csproj
│   │   │   │   ├── Platform/
│   │   │   │   │   ├── ApplicationStorage.cs
│   │   │   │   │   ├── CurrentPlatform.cs
│   │   │   │   │   ├── PlatformInformation.cs
│   │   │   │   │   └── PushUtility.cs
│   │   │   │   ├── Properties/
│   │   │   │   │   └── AssemblyInfo.cs
│   │   │   │   ├── Push/
│   │   │   │   │   ├── GcmRegistration.cs
│   │   │   │   │   ├── GcmTemplateRegistration.cs
│   │   │   │   │   └── Push.cs
│   │   │   │   ├── Resources/
│   │   │   │   │   └── Resource.designer.cs
│   │   │   │   ├── app.config
│   │   │   │   └── packages.config
│   │   │   ├── Microsoft.WindowsAzure.MobileServices.Net45/
│   │   │   │   ├── Microsoft.WindowsAzure.Mobile.Ext.Net45.csproj
│   │   │   │   ├── Platform/
│   │   │   │   │   ├── ApplicationStorage.cs
│   │   │   │   │   ├── CurrentPlatform.cs
│   │   │   │   │   └── PlatformInformation.cs
│   │   │   │   ├── Properties/
│   │   │   │   │   └── AssemblyInfo.cs
│   │   │   │   ├── app.config
│   │   │   │   └── packages.config
│   │   │   ├── Microsoft.WindowsAzure.MobileServices.SQLiteStore/
│   │   │   │   ├── ColumnDefinition.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   └── EnumerableExtensions.cs
│   │   │   │   ├── Microsoft.WindowsAzure.Mobile.SQLiteStore.csproj
│   │   │   │   ├── MobileServiceSQLiteStore.cs
│   │   │   │   ├── MobileServiceSQLiteStoreExtensions.cs
│   │   │   │   ├── Properties/
│   │   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   │   ├── Resources.Designer.cs
│   │   │   │   │   └── Resources.resx
│   │   │   │   ├── SqlColumnType.cs
│   │   │   │   ├── SqlHelpers.cs
│   │   │   │   ├── SqlQueryFormatter.cs
│   │   │   │   ├── TableDefinition.cs
│   │   │   │   └── packages.config
│   │   │   ├── Microsoft.WindowsAzure.MobileServices.WindowsPhone8/
│   │   │   │   ├── Microsoft.WindowsAzure.Mobile.Ext.WP8.csproj
│   │   │   │   ├── Platform/
│   │   │   │   │   ├── ApplicationStorage.cs
│   │   │   │   │   ├── PlatformInformation.cs
│   │   │   │   │   └── PushUtility.cs
│   │   │   │   ├── Properties/
│   │   │   │   │   └── AssemblyInfo.cs
│   │   │   │   ├── Push/
│   │   │   │   │   ├── MpnsRegistration.cs
│   │   │   │   │   ├── MpnsTemplateRegistration.cs
│   │   │   │   │   └── Push.cs
│   │   │   │   ├── app.config
│   │   │   │   └── packages.config
│   │   │   ├── Microsoft.WindowsAzure.MobileServices.WindowsPhone8.UI/
│   │   │   │   ├── Authentication/
│   │   │   │   │   └── AuthenticationBroker.cs
│   │   │   │   ├── LoginPage.xaml
│   │   │   │   ├── LoginPage.xaml.cs
│   │   │   │   ├── Microsoft.WindowsAzure.Mobile.UI.WP8.csproj
│   │   │   │   ├── Properties/
│   │   │   │   │   └── AssemblyInfo.cs
│   │   │   │   ├── app.config
│   │   │   │   └── packages.config
│   │   │   ├── Microsoft.WindowsAzure.MobileServices.WindowsPhone81/
│   │   │   │   ├── Authentication/
│   │   │   │   │   └── AuthenticationBroker.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   └── MobileServiceClientExtensions.cs
│   │   │   │   ├── Microsoft.WindowsAzure.Mobile.Ext.WP81.csproj
│   │   │   │   ├── Platform/
│   │   │   │   │   ├── ApplicationStorage.cs
│   │   │   │   │   └── PlatformInformation.cs
│   │   │   │   ├── Properties/
│   │   │   │   │   └── AssemblyInfo.cs
│   │   │   │   ├── app.config
│   │   │   │   └── packages.config
│   │   │   ├── Microsoft.WindowsAzure.MobileServices.WindowsStore/
│   │   │   │   ├── App.config
│   │   │   │   ├── Authentication/
│   │   │   │   │   ├── AuthenticationBroker.cs
│   │   │   │   │   ├── MobileServiceSingleSignOnAuthentication.cs
│   │   │   │   │   └── MobileServiceUIAuthentication.cs
│   │   │   │   ├── Collections/
│   │   │   │   │   └── MobileServiceIncrementalLoadingCollection.cs
│   │   │   │   ├── ExpressionUtility/
│   │   │   │   │   ├── PartialEvaluator.cs
│   │   │   │   │   └── VisitorHelper.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── MobileServiceClientExtensions.cs
│   │   │   │   │   ├── MobileServiceCollectionViewExtensions.cs
│   │   │   │   │   ├── MobileServiceIncrementalLoadingCollectionExtensions.cs
│   │   │   │   │   └── SingleSignOnExtensions.cs
│   │   │   │   ├── Microsoft.WindowsAzure.Mobile.Ext.Win8.csproj
│   │   │   │   ├── MobileServices.priconfig.xml
│   │   │   │   ├── Platform/
│   │   │   │   │   ├── ApplicationStorage.cs
│   │   │   │   │   ├── CurrentPlatform.cs
│   │   │   │   │   ├── ExpressionUtility.cs
│   │   │   │   │   ├── PlatformInformation.cs
│   │   │   │   │   └── PushUtility.cs
│   │   │   │   ├── Properties/
│   │   │   │   │   └── AssemblyInfo.cs
│   │   │   │   ├── Push/
│   │   │   │   │   ├── Push.cs
│   │   │   │   │   ├── WnsRegistration.cs
│   │   │   │   │   └── WnsTemplateRegistration.cs
│   │   │   │   └── packages.config
│   │   │   └── Microsoft.WindowsAzure.MobileServices.iOS/
│   │   │       ├── Authentication/
│   │   │       │   └── MobileServiceUIAuthentication.cs
│   │   │       ├── Extensions/
│   │   │       │   └── MobileServiceClientExtensions.cs
│   │   │       ├── Microsoft.WindowsAzure.Mobile.Ext.iOS-Classic.csproj
│   │   │       ├── Microsoft.WindowsAzure.Mobile.Ext.iOS.csproj
│   │   │       ├── Platform/
│   │   │       │   ├── ApplicationStorage.cs
│   │   │       │   ├── CurrentPlatform.cs
│   │   │       │   ├── PlatformInformation.cs
│   │   │       │   └── PushUtility.cs
│   │   │       ├── Properties/
│   │   │       │   └── AssemblyInfo.cs
│   │   │       ├── Push/
│   │   │       │   ├── ApnsRegistration.cs
│   │   │       │   ├── ApnsTemplateRegistration.cs
│   │   │       │   └── Push.cs
│   │   │       ├── app.config
│   │   │       └── packages.config
│   │   └── test/
│   │       ├── Microsoft.WindowsAzure.Mobile.Net45.Test/
│   │       │   ├── App.config
│   │       │   ├── App.xaml
│   │       │   ├── App.xaml.cs
│   │       │   ├── Common/
│   │       │   │   └── StandardStyles.xaml
│   │       │   ├── ConsoleHelper.cs
│   │       │   ├── Microsoft.WindowsAzure.Mobile.Net45.Test.csproj
│   │       │   ├── Properties/
│   │       │   │   ├── AssemblyInfo.cs
│   │       │   │   ├── Resources.Designer.cs
│   │       │   │   └── Resources.resx
│   │       │   ├── Settings.Designer.cs
│   │       │   ├── Settings.settings
│   │       │   ├── UI/
│   │       │   │   ├── MainPage.xaml
│   │       │   │   ├── MainPage.xaml.cs
│   │       │   │   ├── MainWindow.xaml
│   │       │   │   ├── MainWindow.xaml.cs
│   │       │   │   ├── TestPage.xaml
│   │       │   │   └── TestPage.xaml.cs
│   │       │   └── packages.config
│   │       ├── Microsoft.WindowsAzure.Mobile.Net45.Vb.Test/
│   │       │   ├── Microsoft.WindowsAzure.Mobile.Net45.Vb.Test.vbproj
│   │       │   ├── My Project/
│   │       │   │   ├── Application.Designer.vb
│   │       │   │   ├── Application.myapp
│   │       │   │   └── AssemblyInfo.vb
│   │       │   ├── QueryTests.vb
│   │       │   ├── TestsForOptionCompareBinary.vb
│   │       │   ├── TestsForOptionCompareText.vb
│   │       │   ├── app.config
│   │       │   └── packages.config
│   │       ├── Microsoft.WindowsAzure.MobileServices.Android.Test/
│   │       │   ├── App.cs
│   │       │   ├── GroupDescription.cs
│   │       │   ├── HarnessActivity.cs
│   │       │   ├── LoginActivity.cs
│   │       │   ├── Microsoft.WindowsAzure.Mobile.Android.Test.csproj
│   │       │   ├── Properties/
│   │       │   │   ├── AndroidManifest.xml
│   │       │   │   └── AssemblyInfo.cs
│   │       │   ├── Resources/
│   │       │   │   ├── Layout/
│   │       │   │   │   ├── Harness.axml
│   │       │   │   │   ├── ListedGroup.axml
│   │       │   │   │   ├── ListedTest.axml
│   │       │   │   │   ├── Login.axml
│   │       │   │   │   └── Test.axml
│   │       │   │   ├── Resource.Designer.cs
│   │       │   │   └── Values/
│   │       │   │       └── Strings.xml
│   │       │   ├── TestActivity.cs
│   │       │   ├── TestDescription.cs
│   │       │   ├── TestListener.cs
│   │       │   ├── TestPlatform/
│   │       │   │   └── PushTestUtility.cs
│   │       │   ├── app.config
│   │       │   └── packages.config
│   │       ├── Microsoft.WindowsAzure.MobileServices.SQLiteStore.Android.Test/
│   │       │   ├── App.cs
│   │       │   ├── GroupDescription.cs
│   │       │   ├── HarnessActivity.cs
│   │       │   ├── LoginActivity.cs
│   │       │   ├── Microsoft.WindowsAzure.Mobile.SQLiteStore.Android.Test.csproj
│   │       │   ├── Properties/
│   │       │   │   ├── AndroidManifest.xml
│   │       │   │   └── AssemblyInfo.cs
│   │       │   ├── Resources/
│   │       │   │   ├── Layout/
│   │       │   │   │   ├── Harness.axml
│   │       │   │   │   ├── ListedGroup.axml
│   │       │   │   │   ├── ListedTest.axml
│   │       │   │   │   ├── Login.axml
│   │       │   │   │   └── Test.axml
│   │       │   │   ├── Resource.Designer.cs
│   │       │   │   └── Values/
│   │       │   │       └── Strings.xml
│   │       │   ├── TestActivity.cs
│   │       │   ├── TestDescription.cs
│   │       │   ├── TestListener.cs
│   │       │   ├── app.config
│   │       │   └── packages.config
│   │       ├── Microsoft.WindowsAzure.MobileServices.SQLiteStore.Net45.Test/
│   │       │   ├── App.config
│   │       │   ├── App.xaml
│   │       │   ├── App.xaml.cs
│   │       │   ├── Common/
│   │       │   │   └── StandardStyles.xaml
│   │       │   ├── Microsoft.WindowsAzure.Mobile.SQLiteStore.Net45.Test.csproj
│   │       │   ├── Properties/
│   │       │   │   ├── AssemblyInfo.cs
│   │       │   │   ├── Resources.Designer.cs
│   │       │   │   └── Resources.resx
│   │       │   ├── Settings.Designer.cs
│   │       │   ├── Settings.settings
│   │       │   ├── UI/
│   │       │   │   ├── MainPage.xaml
│   │       │   │   ├── MainPage.xaml.cs
│   │       │   │   ├── MainWindow.xaml
│   │       │   │   ├── MainWindow.xaml.cs
│   │       │   │   ├── TestPage.xaml
│   │       │   │   └── TestPage.xaml.cs
│   │       │   └── packages.config
│   │       ├── Microsoft.WindowsAzure.MobileServices.SQLiteStore.Test/
│   │       │   ├── Microsoft.WindowsAzure.Mobile.SQLiteStore.Test.csproj
│   │       │   ├── Properties/
│   │       │   │   └── AssemblyInfo.cs
│   │       │   ├── TestUtilities.cs
│   │       │   ├── UnitTests/
│   │       │   │   ├── SQLiteStoreTests.Integration.cs
│   │       │   │   ├── SQLiteStoreTests.Query.cs
│   │       │   │   ├── SQLiteStoreTests.cs
│   │       │   │   └── SyncSettingsManagerTests.Integration.cs
│   │       │   └── packages.config
│   │       ├── Microsoft.WindowsAzure.MobileServices.SQLiteStore.Test.Unit/
│   │       │   ├── Microsoft.WindowsAzure.Mobile.SQLiteStore.Test.Unit.csproj
│   │       │   ├── MobileServiceSQLiteStoreExtensionTests.cs
│   │       │   ├── Properties/
│   │       │   │   └── AssemblyInfo.cs
│   │       │   ├── SqlHelperTests.cs
│   │       │   ├── SqlQueryFormatterTests.cs
│   │       │   ├── app.config
│   │       │   └── packages.config
│   │       ├── Microsoft.WindowsAzure.MobileServices.SQLiteStore.WindowsPhone8.Test/
│   │       │   ├── App.xaml
│   │       │   ├── App.xaml.cs
│   │       │   ├── LocalizedStrings.cs
│   │       │   ├── MainPage.xaml
│   │       │   ├── MainPage.xaml.cs
│   │       │   ├── Microsoft.WindowsAzure.Mobile.SQLiteStore.WP8.Test.csproj
│   │       │   ├── Properties/
│   │       │   │   ├── AppManifest.xml
│   │       │   │   ├── AssemblyInfo.cs
│   │       │   │   └── WMAppManifest.xml
│   │       │   ├── Resources/
│   │       │   │   ├── AppResources.Designer.cs
│   │       │   │   └── AppResources.resx
│   │       │   ├── app.config
│   │       │   └── packages.config
│   │       ├── Microsoft.WindowsAzure.MobileServices.SQLiteStore.WindowsStore.Test/
│   │       │   ├── App.xaml
│   │       │   ├── App.xaml.cs
│   │       │   ├── Common/
│   │       │   │   └── StandardStyles.xaml
│   │       │   ├── Microsoft.WindowsAzure.Mobile.SQLiteStore.Win8.Test.csproj
│   │       │   ├── Microsoft.WindowsAzure.Mobile.SQLiteStore.Win8.Test_TemporaryKey.pfx
│   │       │   ├── Mocks/
│   │       │   │   └── MobileServiceTableQueryMock.cs
│   │       │   ├── Package.appxmanifest
│   │       │   ├── Properties/
│   │       │   │   └── AssemblyInfo.cs
│   │       │   ├── UI/
│   │       │   │   ├── GroupDescription.cs
│   │       │   │   ├── MainPage.xaml
│   │       │   │   ├── MainPage.xaml.cs
│   │       │   │   ├── Microsoft.WindowsAzure.Mobile.Win8.Test_TemporaryKey.pfx
│   │       │   │   ├── TestDescription.cs
│   │       │   │   ├── TestPage.xaml
│   │       │   │   └── TestPage.xaml.cs
│   │       │   └── packages.config
│   │       ├── Microsoft.WindowsAzure.MobileServices.SQLiteStore.iOS.Test/
│   │       │   ├── AppDelegate.cs
│   │       │   ├── Info.plist
│   │       │   ├── Main.cs
│   │       │   ├── Microsoft.WindowsAzure.Mobile.SQLiteStore.iOS.Test.csproj
│   │       │   ├── Properties/
│   │       │   │   └── AssemblyInfo.cs
│   │       │   ├── UI/
│   │       │   │   ├── HarnessViewController.cs
│   │       │   │   ├── LoginViewController.cs
│   │       │   │   └── TestViewController.cs
│   │       │   ├── app.config
│   │       │   ├── packages.config
│   │       │   └── readme.txt
│   │       ├── Microsoft.WindowsAzure.MobileServices.Test/
│   │       │   ├── AssertEx.cs
│   │       │   ├── FunctionalTests/
│   │       │   │   ├── BloggingTest.cs
│   │       │   │   ├── Book.cs
│   │       │   │   ├── DataSourceTest.cs
│   │       │   │   ├── DateTests.cs
│   │       │   │   ├── FunctionalTestBase.cs
│   │       │   │   ├── QueryingTest.cs
│   │       │   │   ├── Table/
│   │       │   │   │   └── MobileServiceTableTest.cs
│   │       │   │   └── ToDoTest.cs
│   │       │   ├── Microsoft.WindowsAzure.Mobile.Test.csproj
│   │       │   ├── Mocks/
│   │       │   │   ├── MobileServiceLocalStoreMock.cs
│   │       │   │   ├── MobileServiceSyncHandlerMock.cs
│   │       │   │   └── MobileServiceTableQueryMock.cs
│   │       │   ├── Properties/
│   │       │   │   └── AssemblyInfo.cs
│   │       │   ├── SerializationTypes/
│   │       │   │   ├── BaseTypes.cs
│   │       │   │   ├── ComplexType.cs
│   │       │   │   ├── ConverterType.cs
│   │       │   │   ├── DataContractDerivedDataContractType.cs
│   │       │   │   ├── DataContractDerivedJsonPropertyType.cs
│   │       │   │   ├── DataContractDerivedPocoType.cs
│   │       │   │   ├── DataContractType.cs
│   │       │   │   ├── DataMemberType.cs
│   │       │   │   ├── DataTableType.cs
│   │       │   │   ├── DerivedDuplicateKeyType.cs
│   │       │   │   ├── DuplicateKeyType.cs
│   │       │   │   ├── IdTypes.cs
│   │       │   │   ├── InterfacePropertyType.cs
│   │       │   │   ├── JObjectTypes.cs
│   │       │   │   ├── JsonContainerType.cs
│   │       │   │   ├── JsonPropertyDerivedDataContractType.cs
│   │       │   │   ├── JsonPropertyDerivedJsonPropertyType.cs
│   │       │   │   ├── JsonPropertyType.cs
│   │       │   │   ├── PocoDerivedDataContractType.cs
│   │       │   │   ├── PocoDerivedJsonPropertyType.cs
│   │       │   │   ├── PocoDerivedPocoType.cs
│   │       │   │   ├── PocoType.cs
│   │       │   │   ├── SerializationTypeUtility.cs
│   │       │   │   ├── SimpleTreeType.cs
│   │       │   │   ├── SystemPropertyTypes.cs
│   │       │   │   ├── TestConverter.cs
│   │       │   │   └── TypeWithConstructor.cs
│   │       │   ├── TestData/
│   │       │   │   ├── IdTestData.cs
│   │       │   │   └── SystemPropertiesTestData.cs
│   │       │   ├── TestPlatform/
│   │       │   │   ├── IPushTestUtility.cs
│   │       │   │   ├── ITestPlatform.cs
│   │       │   │   ├── MissingPushTestUtility.cs
│   │       │   │   ├── MissingTestPlatform.cs
│   │       │   │   └── TestPlatform.cs
│   │       │   ├── UnitTests/
│   │       │   │   ├── Authentication/
│   │       │   │   │   └── MobileServiceTokenAuthenticationTests.cs
│   │       │   │   ├── Collections/
│   │       │   │   │   └── MobileServiceCollection.Test.cs
│   │       │   │   ├── Http/
│   │       │   │   │   └── HttpUtilityTests.cs
│   │       │   │   ├── HttpHandlers/
│   │       │   │   │   ├── ComplexDelegatingHandler.cs
│   │       │   │   │   └── TestHttpHandler.cs
│   │       │   │   ├── MobileServiceClient.Test.cs
│   │       │   │   ├── MobileServiceFeatures.Test.cs
│   │       │   │   ├── MobileServiceUrlBuilder.Test.cs
│   │       │   │   ├── MobileServiceUser.Test.cs
│   │       │   │   ├── OData/
│   │       │   │   │   └── ODataExpressionParser.Test.cs
│   │       │   │   ├── Push/
│   │       │   │   │   ├── LocalStorageMananger.Test.cs
│   │       │   │   │   └── PushHttpClient.Test.cs
│   │       │   │   └── Table/
│   │       │   │       ├── MobileServiceObjectReaderTests.cs
│   │       │   │       ├── MobileServiceTable.Generic.Test.cs
│   │       │   │       ├── MobileServiceTable.Test.cs
│   │       │   │       ├── Query/
│   │       │   │       │   ├── MemberInfoKey.Test.cs
│   │       │   │       │   └── ZumoQuery.Test.cs
│   │       │   │       ├── Serialization/
│   │       │   │       │   ├── MobileServiceContractResolver.Test.cs
│   │       │   │       │   ├── MobileServiceIsoDateTimeConverter.Test.cs
│   │       │   │       │   ├── MobileServicePrecisionCheckConverter.Test.cs
│   │       │   │       │   └── MobileServiceSerializer.Test.cs
│   │       │   │       └── Sync/
│   │       │   │           ├── MobileServiceSyncContext.Test.cs
│   │       │   │           ├── MobileServiceSyncTable.Generic.Test.cs
│   │       │   │           └── MobileServiceSyncTable.Test.cs
│   │       │   └── packages.config
│   │       ├── Microsoft.WindowsAzure.MobileServices.Test.Unit/
│   │       │   ├── Extensions/
│   │       │   │   ├── ExceptionExtensions.Test.cs
│   │       │   │   └── JTokenExtensionsTests.cs
│   │       │   ├── Microsoft.WindowsAzure.Mobile.Test.Unit.csproj
│   │       │   ├── Properties/
│   │       │   │   └── AssemblyInfo.cs
│   │       │   ├── Table/
│   │       │   │   ├── MobileServiceSyncContextTests.cs
│   │       │   │   ├── Query/
│   │       │   │   │   └── MobileServiceTableQueryDescriptionTests.cs
│   │       │   │   └── Sync/
│   │       │   │       ├── MobileServiceSyncTableTests.cs
│   │       │   │       └── Queue/
│   │       │   │           ├── Actions/
│   │       │   │           │   ├── PullActionTests.cs
│   │       │   │           │   └── PushActionTests.cs
│   │       │   │           └── Operations/
│   │       │   │               ├── DeleteOperationTests.cs
│   │       │   │               ├── InsertOperationTests.cs
│   │       │   │               ├── MobileServiceTableOperationErrorTests.cs
│   │       │   │               ├── MobileServiceTableOperationTests.cs
│   │       │   │               └── UpdateOperationTests.cs
│   │       │   ├── Threading/
│   │       │   │   └── AsyncLockDictionaryTests.cs
│   │       │   ├── app.config
│   │       │   └── packages.config
│   │       ├── Microsoft.WindowsAzure.MobileServices.TestFramework/
│   │       │   ├── Framework/
│   │       │   │   ├── ActionContinuation.cs
│   │       │   │   ├── Assert.cs
│   │       │   │   ├── AsyncTestMethodAsyncAction.cs
│   │       │   │   ├── AsyncTestMethodAttribute.cs
│   │       │   │   ├── ExcludeTestAttribute.cs
│   │       │   │   ├── FunctionalTestAttribute.cs
│   │       │   │   ├── FunctionalTestFilter.cs
│   │       │   │   ├── IAsyncExecution.cs
│   │       │   │   ├── IContinuation.cs
│   │       │   │   ├── ITestReporter.cs
│   │       │   │   ├── TagAttribute.cs
│   │       │   │   ├── TagManager.ExpressionEvaluator.cs
│   │       │   │   ├── TagManager.Tags.cs
│   │       │   │   ├── TagManager.cs
│   │       │   │   ├── TagTestFilter.cs
│   │       │   │   ├── TestBase.cs
│   │       │   │   ├── TestFilter.cs
│   │       │   │   ├── TestGroup.cs
│   │       │   │   ├── TestHarness.cs
│   │       │   │   ├── TestMethod.cs
│   │       │   │   ├── TestMethodAsyncAction.cs
│   │       │   │   ├── TestMethodAttribute.cs
│   │       │   │   └── TestSettings.cs
│   │       │   ├── Microsoft.WindowsAzure.Mobile.TestFramework.csproj
│   │       │   ├── Properties/
│   │       │   │   └── AssemblyInfo.cs
│   │       │   └── packages.config
│   │       ├── Microsoft.WindowsAzure.MobileServices.WindowsPhone8.Test/
│   │       │   ├── App.xaml
│   │       │   ├── App.xaml.cs
│   │       │   ├── LocalizedStrings.cs
│   │       │   ├── MainPage.xaml
│   │       │   ├── MainPage.xaml.cs
│   │       │   ├── Microsoft.WindowsAzure.Mobile.WP8.Test.csproj
│   │       │   ├── Package.appxmanifest
│   │       │   ├── PlatformTests/
│   │       │   │   └── LoginTests.cs
│   │       │   ├── Properties/
│   │       │   │   ├── AppManifest.xml
│   │       │   │   ├── AssemblyInfo.cs
│   │       │   │   └── WMAppManifest.xml
│   │       │   ├── Resources/
│   │       │   │   ├── AppResources.Designer.cs
│   │       │   │   └── AppResources.resx
│   │       │   ├── TestPlatform/
│   │       │   │   └── PushTestUtility.cs
│   │       │   ├── UnitTests/
│   │       │   │   └── MobileServiceSerializer.Test.cs
│   │       │   ├── app.config
│   │       │   └── packages.config
│   │       ├── Microsoft.WindowsAzure.MobileServices.WindowsPhone81.Test/
│   │       │   ├── App.xaml
│   │       │   ├── App.xaml.cs
│   │       │   ├── MainPage.xaml
│   │       │   ├── MainPage.xaml.cs
│   │       │   ├── Microsoft.WindowsAzure.Mobile.WP81.Test.csproj
│   │       │   ├── Package.appxmanifest
│   │       │   ├── Properties/
│   │       │   │   └── AssemblyInfo.cs
│   │       │   ├── UI/
│   │       │   │   ├── LoginPage.xaml
│   │       │   │   └── LoginPage.xaml.cs
│   │       │   ├── app.config
│   │       │   └── packages.config
│   │       ├── Microsoft.WindowsAzure.MobileServices.WindowsStore.Test/
│   │       │   ├── App.xaml
│   │       │   ├── App.xaml.cs
│   │       │   ├── Common/
│   │       │   │   └── StandardStyles.xaml
│   │       │   ├── Functional/
│   │       │   │   └── PushFunctional.Test.cs
│   │       │   ├── Microsoft.WindowsAzure.Mobile.Win8.Test.csproj
│   │       │   ├── Microsoft.WindowsAzure.Mobile.Win8.Test_TemporaryKey.pfx
│   │       │   ├── Mocks/
│   │       │   │   └── MobileServiceTableQueryMock.cs
│   │       │   ├── Package.appxmanifest
│   │       │   ├── PlatformTests/
│   │       │   │   └── LoginTests.cs
│   │       │   ├── Properties/
│   │       │   │   └── AssemblyInfo.cs
│   │       │   ├── TestPlatform/
│   │       │   │   ├── CurrentTestPlatform.cs
│   │       │   │   └── PushTestUtility.cs
│   │       │   ├── UI/
│   │       │   │   ├── GroupDescription.cs
│   │       │   │   ├── LoginPage.xaml
│   │       │   │   ├── LoginPage.xaml.cs
│   │       │   │   ├── MainPage.xaml
│   │       │   │   ├── MainPage.xaml.cs
│   │       │   │   ├── TestDescription.cs
│   │       │   │   ├── TestPage.xaml
│   │       │   │   └── TestPage.xaml.cs
│   │       │   ├── UnitTests/
│   │       │   │   ├── Collections/
│   │       │   │   │   └── IncrementalLoadingMobileServiceCollection.Test.cs
│   │       │   │   └── PushUnit.Test.cs
│   │       │   └── packages.config
│   │       └── Microsoft.WindowsAzure.MobileServices.iOS.Test/
│   │           ├── AppDelegate.cs
│   │           ├── Info.plist
│   │           ├── Main.cs
│   │           ├── Microsoft.WindowsAzure.Mobile.iOS.Test.csproj
│   │           ├── Properties/
│   │           │   └── AssemblyInfo.cs
│   │           ├── TestPlatform/
│   │           │   └── PushTestUtility.cs
│   │           ├── UI/
│   │           │   ├── HarnessViewController.cs
│   │           │   ├── LoginViewController.cs
│   │           │   └── TestViewController.cs
│   │           ├── UnitTests/
│   │           │   └── PushPlatformTest.cs
│   │           ├── app.config
│   │           ├── packages.config
│   │           └── readme.txt
│   ├── android/
│   │   ├── .gitattributes
│   │   ├── .gitignore
│   │   ├── android-libraries.gradle
│   │   ├── build.gradle
│   │   ├── gradle/
│   │   │   └── wrapper/
│   │   │       └── gradle-wrapper.properties
│   │   ├── gradle.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   ├── settings.gradle
│   │   ├── src/
│   │   │   ├── notifications-handler/
│   │   │   │   ├── .settings/
│   │   │   │   │   └── org.eclipse.jdt.core.prefs
│   │   │   │   ├── build.gradle
│   │   │   │   ├── doc/
│   │   │   │   │   ├── allclasses-frame.html
│   │   │   │   │   ├── allclasses-noframe.html
│   │   │   │   │   ├── com/
│   │   │   │   │   │   └── microsoft/
│   │   │   │   │   │       └── windowsazure/
│   │   │   │   │   │           └── notifications/
│   │   │   │   │   │               ├── BuildConfig.html
│   │   │   │   │   │               ├── NotificationsBroadcastReceiver.html
│   │   │   │   │   │               ├── NotificationsHandler.html
│   │   │   │   │   │               ├── NotificationsManager.html
│   │   │   │   │   │               ├── class-use/
│   │   │   │   │   │               │   ├── BuildConfig.html
│   │   │   │   │   │               │   ├── NotificationsBroadcastReceiver.html
│   │   │   │   │   │               │   ├── NotificationsHandler.html
│   │   │   │   │   │               │   └── NotificationsManager.html
│   │   │   │   │   │               ├── package-frame.html
│   │   │   │   │   │               ├── package-summary.html
│   │   │   │   │   │               ├── package-tree.html
│   │   │   │   │   │               └── package-use.html
│   │   │   │   │   ├── constant-values.html
│   │   │   │   │   ├── help-doc.html
│   │   │   │   │   ├── index-files/
│   │   │   │   │   │   ├── index-1.html
│   │   │   │   │   │   ├── index-2.html
│   │   │   │   │   │   ├── index-3.html
│   │   │   │   │   │   ├── index-4.html
│   │   │   │   │   │   ├── index-5.html
│   │   │   │   │   │   ├── index-6.html
│   │   │   │   │   │   └── index-7.html
│   │   │   │   │   ├── index.html
│   │   │   │   │   ├── overview-tree.html
│   │   │   │   │   ├── package-list
│   │   │   │   │   └── stylesheet.css
│   │   │   │   ├── proguard-rules.pro
│   │   │   │   └── src/
│   │   │   │       └── main/
│   │   │   │           ├── AndroidManifest.xml
│   │   │   │           ├── java/
│   │   │   │           │   └── com/
│   │   │   │           │       └── microsoft/
│   │   │   │           │           └── windowsazure/
│   │   │   │           │               └── notifications/
│   │   │   │           │                   ├── NotificationsBroadcastReceiver.java
│   │   │   │           │                   ├── NotificationsHandler.java
│   │   │   │           │                   └── NotificationsManager.java
│   │   │   │           └── res/
│   │   │   │               └── values/
│   │   │   │                   └── strings.xml
│   │   │   ├── sdk/
│   │   │   │   ├── .pmd
│   │   │   │   ├── .settings/
│   │   │   │   │   └── org.eclipse.jdt.core.prefs
│   │   │   │   ├── build.gradle
│   │   │   │   ├── doc/
│   │   │   │   │   ├── allclasses-frame.html
│   │   │   │   │   ├── allclasses-noframe.html
│   │   │   │   │   ├── com/
│   │   │   │   │   │   └── microsoft/
│   │   │   │   │   │       └── windowsazure/
│   │   │   │   │   │           └── mobileservices/
│   │   │   │   │   │               ├── ApiJsonOperationCallback.html
│   │   │   │   │   │               ├── ApiOperationCallback.html
│   │   │   │   │   │               ├── BuildConfig.html
│   │   │   │   │   │               ├── MobileServiceApplication.html
│   │   │   │   │   │               ├── MobileServiceClient.html
│   │   │   │   │   │               ├── MobileServiceException.html
│   │   │   │   │   │               ├── MobileServiceFeatures.html
│   │   │   │   │   │               ├── MobileServiceList.html
│   │   │   │   │   │               ├── ServiceFilterResponseCallback.html
│   │   │   │   │   │               ├── UserAuthenticationCallback.html
│   │   │   │   │   │               ├── authentication/
│   │   │   │   │   │               │   ├── LoginManager.html
│   │   │   │   │   │               │   ├── MobileServiceAuthenticationProvider.html
│   │   │   │   │   │               │   ├── MobileServiceUser.html
│   │   │   │   │   │               │   ├── class-use/
│   │   │   │   │   │               │   │   ├── LoginManager.html
│   │   │   │   │   │               │   │   ├── MobileServiceAuthenticationProvider.html
│   │   │   │   │   │               │   │   └── MobileServiceUser.html
│   │   │   │   │   │               │   ├── package-frame.html
│   │   │   │   │   │               │   ├── package-summary.html
│   │   │   │   │   │               │   ├── package-tree.html
│   │   │   │   │   │               │   └── package-use.html
│   │   │   │   │   │               ├── class-use/
│   │   │   │   │   │               │   ├── ApiJsonOperationCallback.html
│   │   │   │   │   │               │   ├── ApiOperationCallback.html
│   │   │   │   │   │               │   ├── BuildConfig.html
│   │   │   │   │   │               │   ├── MobileServiceApplication.html
│   │   │   │   │   │               │   ├── MobileServiceClient.html
│   │   │   │   │   │               │   ├── MobileServiceException.html
│   │   │   │   │   │               │   ├── MobileServiceFeatures.html
│   │   │   │   │   │               │   ├── MobileServiceList.html
│   │   │   │   │   │               │   ├── ServiceFilterResponseCallback.html
│   │   │   │   │   │               │   └── UserAuthenticationCallback.html
│   │   │   │   │   │               ├── http/
│   │   │   │   │   │               │   ├── AndroidHttpClientFactory.html
│   │   │   │   │   │               │   ├── AndroidHttpClientFactoryImpl.html
│   │   │   │   │   │               │   ├── HttpPatch.html
│   │   │   │   │   │               │   ├── MobileServiceConnection.html
│   │   │   │   │   │               │   ├── MobileServiceHttpClient.html
│   │   │   │   │   │               │   ├── NextServiceFilterCallback.html
│   │   │   │   │   │               │   ├── RequestAsyncTask.html
│   │   │   │   │   │               │   ├── ServiceFilter.html
│   │   │   │   │   │               │   ├── ServiceFilterRequest.html
│   │   │   │   │   │               │   ├── ServiceFilterRequestImpl.html
│   │   │   │   │   │               │   ├── ServiceFilterResponse.html
│   │   │   │   │   │               │   ├── ServiceFilterResponseImpl.html
│   │   │   │   │   │               │   ├── class-use/
│   │   │   │   │   │               │   │   ├── AndroidHttpClientFactory.html
│   │   │   │   │   │               │   │   ├── AndroidHttpClientFactoryImpl.html
│   │   │   │   │   │               │   │   ├── HttpPatch.html
│   │   │   │   │   │               │   │   ├── MobileServiceConnection.html
│   │   │   │   │   │               │   │   ├── MobileServiceHttpClient.html
│   │   │   │   │   │               │   │   ├── NextServiceFilterCallback.html
│   │   │   │   │   │               │   │   ├── RequestAsyncTask.html
│   │   │   │   │   │               │   │   ├── ServiceFilter.html
│   │   │   │   │   │               │   │   ├── ServiceFilterRequest.html
│   │   │   │   │   │               │   │   ├── ServiceFilterRequestImpl.html
│   │   │   │   │   │               │   │   ├── ServiceFilterResponse.html
│   │   │   │   │   │               │   │   └── ServiceFilterResponseImpl.html
│   │   │   │   │   │               │   ├── package-frame.html
│   │   │   │   │   │               │   ├── package-summary.html
│   │   │   │   │   │               │   ├── package-tree.html
│   │   │   │   │   │               │   └── package-use.html
│   │   │   │   │   │               ├── notifications/
│   │   │   │   │   │               │   ├── GcmNativeRegistration.html
│   │   │   │   │   │               │   ├── GcmTemplateRegistration.html
│   │   │   │   │   │               │   ├── MobileServicePush.html
│   │   │   │   │   │               │   ├── Registration.html
│   │   │   │   │   │               │   ├── RegistrationCallback.html
│   │   │   │   │   │               │   ├── RegistrationGoneException.html
│   │   │   │   │   │               │   ├── TemplateRegistration.html
│   │   │   │   │   │               │   ├── TemplateRegistrationCallback.html
│   │   │   │   │   │               │   ├── UnregisterCallback.html
│   │   │   │   │   │               │   ├── class-use/
│   │   │   │   │   │               │   │   ├── GcmNativeRegistration.html
│   │   │   │   │   │               │   │   ├── GcmTemplateRegistration.html
│   │   │   │   │   │               │   │   ├── MobileServicePush.html
│   │   │   │   │   │               │   │   ├── Registration.html
│   │   │   │   │   │               │   │   ├── RegistrationCallback.html
│   │   │   │   │   │               │   │   ├── RegistrationGoneException.html
│   │   │   │   │   │               │   │   ├── TemplateRegistration.html
│   │   │   │   │   │               │   │   ├── TemplateRegistrationCallback.html
│   │   │   │   │   │               │   │   └── UnregisterCallback.html
│   │   │   │   │   │               │   ├── package-frame.html
│   │   │   │   │   │               │   ├── package-summary.html
│   │   │   │   │   │               │   ├── package-tree.html
│   │   │   │   │   │               │   └── package-use.html
│   │   │   │   │   │               ├── package-frame.html
│   │   │   │   │   │               ├── package-summary.html
│   │   │   │   │   │               ├── package-tree.html
│   │   │   │   │   │               ├── package-use.html
│   │   │   │   │   │               ├── table/
│   │   │   │   │   │               │   ├── MobileServiceJsonTable.html
│   │   │   │   │   │               │   ├── MobileServicePreconditionFailedException.html
│   │   │   │   │   │               │   ├── MobileServicePreconditionFailedExceptionBase.html
│   │   │   │   │   │               │   ├── MobileServiceSystemProperty.html
│   │   │   │   │   │               │   ├── MobileServiceTable.html
│   │   │   │   │   │               │   ├── MobileServiceTableSystemPropertiesProvider.html
│   │   │   │   │   │               │   ├── TableDeleteCallback.html
│   │   │   │   │   │               │   ├── TableJsonOperationCallback.html
│   │   │   │   │   │               │   ├── TableJsonQueryCallback.html
│   │   │   │   │   │               │   ├── TableOperationCallback.html
│   │   │   │   │   │               │   ├── TableQueryCallback.html
│   │   │   │   │   │               │   ├── class-use/
│   │   │   │   │   │               │   │   ├── MobileServiceJsonTable.html
│   │   │   │   │   │               │   │   ├── MobileServicePreconditionFailedException.html
│   │   │   │   │   │               │   │   ├── MobileServicePreconditionFailedExceptionBase.html
│   │   │   │   │   │               │   │   ├── MobileServiceSystemProperty.html
│   │   │   │   │   │               │   │   ├── MobileServiceTable.html
│   │   │   │   │   │               │   │   ├── MobileServiceTableSystemPropertiesProvider.html
│   │   │   │   │   │               │   │   ├── TableDeleteCallback.html
│   │   │   │   │   │               │   │   ├── TableJsonOperationCallback.html
│   │   │   │   │   │               │   │   ├── TableJsonQueryCallback.html
│   │   │   │   │   │               │   │   ├── TableOperationCallback.html
│   │   │   │   │   │               │   │   └── TableQueryCallback.html
│   │   │   │   │   │               │   ├── package-frame.html
│   │   │   │   │   │               │   ├── package-summary.html
│   │   │   │   │   │               │   ├── package-tree.html
│   │   │   │   │   │               │   ├── package-use.html
│   │   │   │   │   │               │   ├── query/
│   │   │   │   │   │               │   │   ├── ExecutableJsonQuery.html
│   │   │   │   │   │               │   │   ├── ExecutableQuery.html
│   │   │   │   │   │               │   │   ├── Query.html
│   │   │   │   │   │               │   │   ├── QueryException.html
│   │   │   │   │   │               │   │   ├── QueryNodeSQLWriter.html
│   │   │   │   │   │               │   │   ├── QueryODataWriter.html
│   │   │   │   │   │               │   │   ├── QueryOperations.html
│   │   │   │   │   │               │   │   ├── QueryOrder.html
│   │   │   │   │   │               │   │   ├── QuerySQLWriter.html
│   │   │   │   │   │               │   │   ├── UnaryOperatorKind.html
│   │   │   │   │   │               │   │   ├── class-use/
│   │   │   │   │   │               │   │   │   ├── ExecutableJsonQuery.html
│   │   │   │   │   │               │   │   │   ├── ExecutableQuery.html
│   │   │   │   │   │               │   │   │   ├── Query.html
│   │   │   │   │   │               │   │   │   ├── QueryException.html
│   │   │   │   │   │               │   │   │   ├── QueryNodeSQLWriter.html
│   │   │   │   │   │               │   │   │   ├── QueryODataWriter.html
│   │   │   │   │   │               │   │   │   ├── QueryOperations.html
│   │   │   │   │   │               │   │   │   ├── QueryOrder.html
│   │   │   │   │   │               │   │   │   ├── QuerySQLWriter.html
│   │   │   │   │   │               │   │   │   └── UnaryOperatorKind.html
│   │   │   │   │   │               │   │   ├── package-frame.html
│   │   │   │   │   │               │   │   ├── package-summary.html
│   │   │   │   │   │               │   │   ├── package-tree.html
│   │   │   │   │   │               │   │   └── package-use.html
│   │   │   │   │   │               │   ├── serialization/
│   │   │   │   │   │               │   │   ├── DateSerializer.html
│   │   │   │   │   │               │   │   ├── JsonEntityParser.html
│   │   │   │   │   │               │   │   ├── LongSerializer.html
│   │   │   │   │   │               │   │   ├── class-use/
│   │   │   │   │   │               │   │   │   ├── DateSerializer.html
│   │   │   │   │   │               │   │   │   ├── JsonEntityParser.html
│   │   │   │   │   │               │   │   │   └── LongSerializer.html
│   │   │   │   │   │               │   │   ├── package-frame.html
│   │   │   │   │   │               │   │   ├── package-summary.html
│   │   │   │   │   │               │   │   ├── package-tree.html
│   │   │   │   │   │               │   │   └── package-use.html
│   │   │   │   │   │               │   └── sync/
│   │   │   │   │   │               │       ├── MobileServiceJsonSyncTable.html
│   │   │   │   │   │               │       ├── MobileServiceSyncContext.html
│   │   │   │   │   │               │       ├── MobileServiceSyncTable.html
│   │   │   │   │   │               │       ├── class-use/
│   │   │   │   │   │               │       │   ├── MobileServiceJsonSyncTable.html
│   │   │   │   │   │               │       │   ├── MobileServiceSyncContext.html
│   │   │   │   │   │               │       │   └── MobileServiceSyncTable.html
│   │   │   │   │   │               │       ├── localstore/
│   │   │   │   │   │               │       │   ├── ColumnDataType.html
│   │   │   │   │   │               │       │   ├── MobileServiceLocalStore.html
│   │   │   │   │   │               │       │   ├── MobileServiceLocalStoreException.html
│   │   │   │   │   │               │       │   ├── SQLiteLocalStore.html
│   │   │   │   │   │               │       │   ├── class-use/
│   │   │   │   │   │               │       │   │   ├── ColumnDataType.html
│   │   │   │   │   │               │       │   │   ├── MobileServiceLocalStore.html
│   │   │   │   │   │               │       │   │   ├── MobileServiceLocalStoreException.html
│   │   │   │   │   │               │       │   │   └── SQLiteLocalStore.html
│   │   │   │   │   │               │       │   ├── package-frame.html
│   │   │   │   │   │               │       │   ├── package-summary.html
│   │   │   │   │   │               │       │   ├── package-tree.html
│   │   │   │   │   │               │       │   └── package-use.html
│   │   │   │   │   │               │       ├── operations/
│   │   │   │   │   │               │       │   ├── DeleteOperation.html
│   │   │   │   │   │               │       │   ├── InsertOperation.html
│   │   │   │   │   │               │       │   ├── LocalTableOperationProcessor.html
│   │   │   │   │   │               │       │   ├── RemoteTableOperationProcessor.html
│   │   │   │   │   │               │       │   ├── TableOperation.html
│   │   │   │   │   │               │       │   ├── TableOperationCollapser.html
│   │   │   │   │   │               │       │   ├── TableOperationError.html
│   │   │   │   │   │               │       │   ├── TableOperationKind.html
│   │   │   │   │   │               │       │   ├── TableOperationVisitor.html
│   │   │   │   │   │               │       │   ├── UpdateOperation.html
│   │   │   │   │   │               │       │   ├── class-use/
│   │   │   │   │   │               │       │   │   ├── DeleteOperation.html
│   │   │   │   │   │               │       │   │   ├── InsertOperation.html
│   │   │   │   │   │               │       │   │   ├── LocalTableOperationProcessor.html
│   │   │   │   │   │               │       │   │   ├── RemoteTableOperationProcessor.html
│   │   │   │   │   │               │       │   │   ├── TableOperation.html
│   │   │   │   │   │               │       │   │   ├── TableOperationCollapser.html
│   │   │   │   │   │               │       │   │   ├── TableOperationError.html
│   │   │   │   │   │               │       │   │   ├── TableOperationKind.html
│   │   │   │   │   │               │       │   │   ├── TableOperationVisitor.html
│   │   │   │   │   │               │       │   │   └── UpdateOperation.html
│   │   │   │   │   │               │       │   ├── package-frame.html
│   │   │   │   │   │               │       │   ├── package-summary.html
│   │   │   │   │   │               │       │   ├── package-tree.html
│   │   │   │   │   │               │       │   └── package-use.html
│   │   │   │   │   │               │       ├── package-frame.html
│   │   │   │   │   │               │       ├── package-summary.html
│   │   │   │   │   │               │       ├── package-tree.html
│   │   │   │   │   │               │       ├── package-use.html
│   │   │   │   │   │               │       ├── push/
│   │   │   │   │   │               │       │   ├── MobileServicePushCompletionResult.html
│   │   │   │   │   │               │       │   ├── MobileServicePushFailedException.html
│   │   │   │   │   │               │       │   ├── MobileServicePushStatus.html
│   │   │   │   │   │               │       │   ├── class-use/
│   │   │   │   │   │               │       │   │   ├── MobileServicePushCompletionResult.html
│   │   │   │   │   │               │       │   │   ├── MobileServicePushFailedException.html
│   │   │   │   │   │               │       │   │   └── MobileServicePushStatus.html
│   │   │   │   │   │               │       │   ├── package-frame.html
│   │   │   │   │   │               │       │   ├── package-summary.html
│   │   │   │   │   │               │       │   ├── package-tree.html
│   │   │   │   │   │               │       │   └── package-use.html
│   │   │   │   │   │               │       ├── queue/
│   │   │   │   │   │               │       │   ├── OperationErrorList.html
│   │   │   │   │   │               │       │   ├── OperationQueue.Bookmark.html
│   │   │   │   │   │               │       │   ├── OperationQueue.html
│   │   │   │   │   │               │       │   ├── class-use/
│   │   │   │   │   │               │       │   │   ├── OperationErrorList.html
│   │   │   │   │   │               │       │   │   ├── OperationQueue.Bookmark.html
│   │   │   │   │   │               │       │   │   └── OperationQueue.html
│   │   │   │   │   │               │       │   ├── package-frame.html
│   │   │   │   │   │               │       │   ├── package-summary.html
│   │   │   │   │   │               │       │   ├── package-tree.html
│   │   │   │   │   │               │       │   └── package-use.html
│   │   │   │   │   │               │       └── synchandler/
│   │   │   │   │   │               │           ├── MobileServiceSyncHandler.html
│   │   │   │   │   │               │           ├── MobileServiceSyncHandlerException.html
│   │   │   │   │   │               │           ├── SimpleSyncHandler.html
│   │   │   │   │   │               │           ├── class-use/
│   │   │   │   │   │               │           │   ├── MobileServiceSyncHandler.html
│   │   │   │   │   │               │           │   ├── MobileServiceSyncHandlerException.html
│   │   │   │   │   │               │           │   └── SimpleSyncHandler.html
│   │   │   │   │   │               │           ├── package-frame.html
│   │   │   │   │   │               │           ├── package-summary.html
│   │   │   │   │   │               │           ├── package-tree.html
│   │   │   │   │   │               │           └── package-use.html
│   │   │   │   │   │               └── threading/
│   │   │   │   │   │                   ├── MultiLockDictionary.MultiLock.html
│   │   │   │   │   │                   ├── MultiLockDictionary.html
│   │   │   │   │   │                   ├── MultiReadWriteLockDictionary.MultiReadWriteLock.html
│   │   │   │   │   │                   ├── MultiReadWriteLockDictionary.html
│   │   │   │   │   │                   ├── class-use/
│   │   │   │   │   │                   │   ├── MultiLockDictionary.MultiLock.html
│   │   │   │   │   │                   │   ├── MultiLockDictionary.html
│   │   │   │   │   │                   │   ├── MultiReadWriteLockDictionary.MultiReadWriteLock.html
│   │   │   │   │   │                   │   └── MultiReadWriteLockDictionary.html
│   │   │   │   │   │                   ├── package-frame.html
│   │   │   │   │   │                   ├── package-summary.html
│   │   │   │   │   │                   ├── package-tree.html
│   │   │   │   │   │                   └── package-use.html
│   │   │   │   │   ├── constant-values.html
│   │   │   │   │   ├── deprecated-list.html
│   │   │   │   │   ├── help-doc.html
│   │   │   │   │   ├── index-files/
│   │   │   │   │   │   ├── index-1.html
│   │   │   │   │   │   ├── index-10.html
│   │   │   │   │   │   ├── index-11.html
│   │   │   │   │   │   ├── index-12.html
│   │   │   │   │   │   ├── index-13.html
│   │   │   │   │   │   ├── index-14.html
│   │   │   │   │   │   ├── index-15.html
│   │   │   │   │   │   ├── index-16.html
│   │   │   │   │   │   ├── index-17.html
│   │   │   │   │   │   ├── index-18.html
│   │   │   │   │   │   ├── index-19.html
│   │   │   │   │   │   ├── index-2.html
│   │   │   │   │   │   ├── index-20.html
│   │   │   │   │   │   ├── index-21.html
│   │   │   │   │   │   ├── index-22.html
│   │   │   │   │   │   ├── index-23.html
│   │   │   │   │   │   ├── index-24.html
│   │   │   │   │   │   ├── index-3.html
│   │   │   │   │   │   ├── index-4.html
│   │   │   │   │   │   ├── index-5.html
│   │   │   │   │   │   ├── index-6.html
│   │   │   │   │   │   ├── index-7.html
│   │   │   │   │   │   ├── index-8.html
│   │   │   │   │   │   └── index-9.html
│   │   │   │   │   ├── index.html
│   │   │   │   │   ├── overview-frame.html
│   │   │   │   │   ├── overview-summary.html
│   │   │   │   │   ├── overview-tree.html
│   │   │   │   │   ├── package-list
│   │   │   │   │   ├── script.js
│   │   │   │   │   ├── serialized-form.html
│   │   │   │   │   └── stylesheet.css
│   │   │   │   ├── proguard-rules.pro
│   │   │   │   └── src/
│   │   │   │       └── main/
│   │   │   │           ├── AndroidManifest.xml
│   │   │   │           ├── java/
│   │   │   │           │   └── com/
│   │   │   │           │       └── microsoft/
│   │   │   │           │           └── windowsazure/
│   │   │   │           │               └── mobileservices/
│   │   │   │           │                   ├── ApiJsonOperationCallback.java
│   │   │   │           │                   ├── ApiOperationCallback.java
│   │   │   │           │                   ├── MobileServiceApplication.java
│   │   │   │           │                   ├── MobileServiceClient.java
│   │   │   │           │                   ├── MobileServiceException.java
│   │   │   │           │                   ├── MobileServiceFeatures.java
│   │   │   │           │                   ├── MobileServiceList.java
│   │   │   │           │                   ├── ServiceFilterResponseCallback.java
│   │   │   │           │                   ├── UserAuthenticationCallback.java
│   │   │   │           │                   ├── authentication/
│   │   │   │           │                   │   ├── LoginManager.java
│   │   │   │           │                   │   ├── MobileServiceAuthenticationProvider.java
│   │   │   │           │                   │   └── MobileServiceUser.java
│   │   │   │           │                   ├── http/
│   │   │   │           │                   │   ├── AndroidHttpClientFactory.java
│   │   │   │           │                   │   ├── AndroidHttpClientFactoryImpl.java
│   │   │   │           │                   │   ├── HttpPatch.java
│   │   │   │           │                   │   ├── MobileServiceConnection.java
│   │   │   │           │                   │   ├── MobileServiceHttpClient.java
│   │   │   │           │                   │   ├── NextServiceFilterCallback.java
│   │   │   │           │                   │   ├── RequestAsyncTask.java
│   │   │   │           │                   │   ├── ServiceFilter.java
│   │   │   │           │                   │   ├── ServiceFilterRequest.java
│   │   │   │           │                   │   ├── ServiceFilterRequestImpl.java
│   │   │   │           │                   │   ├── ServiceFilterResponse.java
│   │   │   │           │                   │   └── ServiceFilterResponseImpl.java
│   │   │   │           │                   ├── notifications/
│   │   │   │           │                   │   ├── GcmNativeRegistration.java
│   │   │   │           │                   │   ├── GcmTemplateRegistration.java
│   │   │   │           │                   │   ├── MobileServicePush.java
│   │   │   │           │                   │   ├── PnsSpecificRegistrationFactory.java
│   │   │   │           │                   │   ├── Registration.java
│   │   │   │           │                   │   ├── RegistrationCallback.java
│   │   │   │           │                   │   ├── RegistrationGoneException.java
│   │   │   │           │                   │   ├── TemplateRegistration.java
│   │   │   │           │                   │   ├── TemplateRegistrationCallback.java
│   │   │   │           │                   │   └── UnregisterCallback.java
│   │   │   │           │                   ├── table/
│   │   │   │           │                   │   ├── DateTimeOffset.java
│   │   │   │           │                   │   ├── MobileServiceConflictException.java
│   │   │   │           │                   │   ├── MobileServiceConflictExceptionJson.java
│   │   │   │           │                   │   ├── MobileServiceExceptionBase.java
│   │   │   │           │                   │   ├── MobileServiceJsonTable.java
│   │   │   │           │                   │   ├── MobileServicePreconditionFailedException.java
│   │   │   │           │                   │   ├── MobileServicePreconditionFailedExceptionJson.java
│   │   │   │           │                   │   ├── MobileServiceSystemColumns.java
│   │   │   │           │                   │   ├── MobileServiceSystemProperty.java
│   │   │   │           │                   │   ├── MobileServiceTable.java
│   │   │   │           │                   │   ├── MobileServiceTableBase.java
│   │   │   │           │                   │   ├── MobileServiceTableSystemPropertiesProvider.java
│   │   │   │           │                   │   ├── TableDeleteCallback.java
│   │   │   │           │                   │   ├── TableJsonOperationCallback.java
│   │   │   │           │                   │   ├── TableJsonQueryCallback.java
│   │   │   │           │                   │   ├── TableOperationCallback.java
│   │   │   │           │                   │   ├── TableQueryCallback.java
│   │   │   │           │                   │   ├── query/
│   │   │   │           │                   │   │   ├── BinaryOperatorKind.java
│   │   │   │           │                   │   │   ├── BinaryOperatorNode.java
│   │   │   │           │                   │   │   ├── BinaryOperatorNodeMerger.java
│   │   │   │           │                   │   │   ├── ConstantNode.java
│   │   │   │           │                   │   │   ├── ConstantNodeMerger.java
│   │   │   │           │                   │   │   ├── ExecutableJsonQuery.java
│   │   │   │           │                   │   │   ├── ExecutableQuery.java
│   │   │   │           │                   │   │   ├── FieldNode.java
│   │   │   │           │                   │   │   ├── FieldNodeMerger.java
│   │   │   │           │                   │   │   ├── FunctionCallKind.java
│   │   │   │           │                   │   │   ├── FunctionCallNode.java
│   │   │   │           │                   │   │   ├── FunctionCallNodeMerger.java
│   │   │   │           │                   │   │   ├── Query.java
│   │   │   │           │                   │   │   ├── QueryBase.java
│   │   │   │           │                   │   │   ├── QueryException.java
│   │   │   │           │                   │   │   ├── QueryNode.java
│   │   │   │           │                   │   │   ├── QueryNodeKind.java
│   │   │   │           │                   │   │   ├── QueryNodeMerger.java
│   │   │   │           │                   │   │   ├── QueryNodeODataWriter.java
│   │   │   │           │                   │   │   ├── QueryNodeSQLWriter.java
│   │   │   │           │                   │   │   ├── QueryNodeVisitor.java
│   │   │   │           │                   │   │   ├── QueryODataWriter.java
│   │   │   │           │                   │   │   ├── QueryOperations.java
│   │   │   │           │                   │   │   ├── QueryOrder.java
│   │   │   │           │                   │   │   ├── QuerySQLWriter.java
│   │   │   │           │                   │   │   ├── UnaryOperatorKind.java
│   │   │   │           │                   │   │   ├── UnaryOperatorNode.java
│   │   │   │           │                   │   │   └── UnaryOperatorNodeMerger.java
│   │   │   │           │                   │   ├── serialization/
│   │   │   │           │                   │   │   ├── DateSerializer.java
│   │   │   │           │                   │   │   ├── JsonEntityParser.java
│   │   │   │           │                   │   │   └── LongSerializer.java
│   │   │   │           │                   │   └── sync/
│   │   │   │           │                   │       ├── MobileServiceJsonSyncTable.java
│   │   │   │           │                   │       ├── MobileServiceSyncContext.java
│   │   │   │           │                   │       ├── MobileServiceSyncTable.java
│   │   │   │           │                   │       ├── localstore/
│   │   │   │           │                   │       │   ├── ColumnDataInfo.java
│   │   │   │           │                   │       │   ├── ColumnDataType.java
│   │   │   │           │                   │       │   ├── MobileServiceLocalStore.java
│   │   │   │           │                   │       │   ├── MobileServiceLocalStoreException.java
│   │   │   │           │                   │       │   └── SQLiteLocalStore.java
│   │   │   │           │                   │       ├── operations/
│   │   │   │           │                   │       │   ├── DeleteOperation.java
│   │   │   │           │                   │       │   ├── DeleteOperationCollapser.java
│   │   │   │           │                   │       │   ├── InsertOperation.java
│   │   │   │           │                   │       │   ├── InsertOperationCollapser.java
│   │   │   │           │                   │       │   ├── LocalTableOperationProcessor.java
│   │   │   │           │                   │       │   ├── MobileServiceTableOperationState.java
│   │   │   │           │                   │       │   ├── RemoteTableOperationProcessor.java
│   │   │   │           │                   │       │   ├── TableOperation.java
│   │   │   │           │                   │       │   ├── TableOperationCollapser.java
│   │   │   │           │                   │       │   ├── TableOperationError.java
│   │   │   │           │                   │       │   ├── TableOperationKind.java
│   │   │   │           │                   │       │   ├── TableOperationVisitor.java
│   │   │   │           │                   │       │   ├── UpdateOperation.java
│   │   │   │           │                   │       │   └── UpdateOperationCollapser.java
│   │   │   │           │                   │       ├── pull/
│   │   │   │           │                   │       │   ├── IncrementalPullStrategy.java
│   │   │   │           │                   │       │   └── PullStrategy.java
│   │   │   │           │                   │       ├── push/
│   │   │   │           │                   │       │   ├── MobileServicePushCompletionResult.java
│   │   │   │           │                   │       │   ├── MobileServicePushFailedException.java
│   │   │   │           │                   │       │   └── MobileServicePushStatus.java
│   │   │   │           │                   │       ├── queue/
│   │   │   │           │                   │       │   ├── OperationErrorList.java
│   │   │   │           │                   │       │   └── OperationQueue.java
│   │   │   │           │                   │       └── synchandler/
│   │   │   │           │                   │           ├── MobileServiceSyncHandler.java
│   │   │   │           │                   │           ├── MobileServiceSyncHandlerException.java
│   │   │   │           │                   │           └── SimpleSyncHandler.java
│   │   │   │           │                   └── threading/
│   │   │   │           │                       ├── MultiLockDictionary.java
│   │   │   │           │                       └── MultiReadWriteLockDictionary.java
│   │   │   │           └── res/
│   │   │   │               └── values/
│   │   │   │                   └── strings.xml
│   │   │   └── tools/
│   │   │       ├── License.rtf
│   │   │       ├── package.bat
│   │   │       └── thirdpartynotices.rtf
│   │   └── test/
│   │       └── sdk.testapp/
│   │           ├── .gitignore
│   │           ├── build.gradle
│   │           ├── proguard-rules.pro
│   │           └── src/
│   │               └── main/
│   │                   ├── AndroidManifest.xml
│   │                   ├── java/
│   │                   │   └── com/
│   │                   │       └── microsoft/
│   │                   │           └── windowsazure/
│   │                   │               └── mobileservices/
│   │                   │                   └── sdk/
│   │                   │                       └── testapp/
│   │                   │                           ├── framework/
│   │                   │                           │   ├── filters/
│   │                   │                           │   │   ├── EchoFilter.java
│   │                   │                           │   │   ├── HttpMetaEchoFilter.java
│   │                   │                           │   │   ├── NullResponseContentFilter.java
│   │                   │                           │   │   ├── NullResponseFilter.java
│   │                   │                           │   │   ├── ServiceFilterRequestMock.java
│   │                   │                           │   │   ├── ServiceFilterResponseMock.java
│   │                   │                           │   │   └── StatusLineMock.java
│   │                   │                           │   └── mocks/
│   │                   │                           │       ├── MobileServiceLocalStoreMock.java
│   │                   │                           │       └── MobileServiceSyncHandlerMock.java
│   │                   │                           └── test/
│   │                   │                               ├── CustomApiClientTests.java
│   │                   │                               ├── EnhancedPushTests.java
│   │                   │                               ├── IdPropertyTests.java
│   │                   │                               ├── LoginTests.java
│   │                   │                               ├── MobileServiceClientTests.java
│   │                   │                               ├── MobileServiceFeaturesTests.java
│   │                   │                               ├── MobileServiceQueryTests.java
│   │                   │                               ├── MobileServiceSyncTableTests.java
│   │                   │                               ├── MobileServiceTableTests.java
│   │                   │                               ├── MobileServiceUserTests.java
│   │                   │                               ├── SQLiteStoreQueryTests.java
│   │                   │                               ├── SQLiteStoreTests.java
│   │                   │                               ├── SerializationTests.java
│   │                   │                               ├── ServiceFilterTests.java
│   │                   │                               ├── SystemPropertiesTests.java
│   │                   │                               ├── URLTests.java
│   │                   │                               ├── helpers/
│   │                   │                               │   ├── EncodingUtilities.java
│   │                   │                               │   └── SQLiteStoreTestsUtilities.java
│   │                   │                               └── types/
│   │                   │                                   ├── Address.java
│   │                   │                                   ├── ComplexPersonTestObject.java
│   │                   │                                   ├── CustomFunctionOneParameter.java
│   │                   │                                   ├── CustomFunctionTwoParameters.java
│   │                   │                                   ├── DateTestObject.java
│   │                   │                                   ├── IdPropertyTestClasses.java
│   │                   │                                   ├── PersonTestObject.java
│   │                   │                                   ├── PersonTestObjectWithStringId.java
│   │                   │                                   ├── PersonTestObjectWithoutId.java
│   │                   │                                   ├── ResultsContainer.java
│   │                   │                                   ├── SystemPropertyTestClasses.java
│   │                   │                                   └── data/
│   │                   │                                       ├── IdTestData.java
│   │                   │                                       └── SystemPropertiesTestData.java
│   │                   └── res/
│   │                       └── values/
│   │                           └── strings.xml
│   └── iOS/
│       ├── .gitignore
│       ├── License.rtf
│       ├── WindowsAzureMobileServices.xcodeproj/
│       │   ├── project.pbxproj
│       │   ├── project.xcworkspace/
│       │   │   └── contents.xcworkspacedata
│       │   └── xcshareddata/
│       │       └── xcschemes/
│       │           ├── AzureMobileServicesFunctionalTests.xcscheme
│       │           ├── WindowsAzureMobileServices.xcscheme
│       │           └── WindowsAzureMobileServicesFramework.xcscheme
│       ├── appledoc/
│       │   └── AppledocSettings.plist
│       ├── build.command
│       ├── doxygen.config
│       ├── src/
│       │   ├── Info.plist
│       │   ├── MSAPIConnection.h
│       │   ├── MSAPIConnection.m
│       │   ├── MSAPIRequest.h
│       │   ├── MSAPIRequest.m
│       │   ├── MSClient.h
│       │   ├── MSClient.m
│       │   ├── MSClientConnection.h
│       │   ├── MSClientConnection.m
│       │   ├── MSClientInternal.h
│       │   ├── MSCoreDataStore.h
│       │   ├── MSCoreDataStore.m
│       │   ├── MSDateOffset.h
│       │   ├── MSDateOffset.m
│       │   ├── MSError.h
│       │   ├── MSError.m
│       │   ├── MSFilter.h
│       │   ├── MSJSONSerializer.h
│       │   ├── MSJSONSerializer.m
│       │   ├── MSLocalStorage.h
│       │   ├── MSLocalStorage.m
│       │   ├── MSLogin.h
│       │   ├── MSLogin.m
│       │   ├── MSLoginController.h
│       │   ├── MSLoginController.m
│       │   ├── MSLoginSerializer.h
│       │   ├── MSLoginSerializer.m
│       │   ├── MSLoginView.h
│       │   ├── MSLoginView.m
│       │   ├── MSNaiveISODateFormatter.h
│       │   ├── MSNaiveISODateFormatter.m
│       │   ├── MSOperationQueue.h
│       │   ├── MSOperationQueue.m
│       │   ├── MSPredicateTranslator.h
│       │   ├── MSPredicateTranslator.m
│       │   ├── MSPullSettings.h
│       │   ├── MSPullSettings.m
│       │   ├── MSPullSettingsInternal.h
│       │   ├── MSPush.h
│       │   ├── MSPush.m
│       │   ├── MSPushHttp.h
│       │   ├── MSPushHttp.m
│       │   ├── MSPushRequest.h
│       │   ├── MSPushRequest.m
│       │   ├── MSQuery.h
│       │   ├── MSQuery.m
│       │   ├── MSQueryInternal.h
│       │   ├── MSQueryResult.h
│       │   ├── MSQueryResult.m
│       │   ├── MSQueuePullOperation.h
│       │   ├── MSQueuePullOperation.m
│       │   ├── MSQueuePullOperationInternal.h
│       │   ├── MSQueuePurgeOperation.h
│       │   ├── MSQueuePurgeOperation.m
│       │   ├── MSQueuePushOperation.h
│       │   ├── MSQueuePushOperation.m
│       │   ├── MSRegistrationManager.h
│       │   ├── MSRegistrationManager.m
│       │   ├── MSSDKFeatures.h
│       │   ├── MSSDKFeatures.m
│       │   ├── MSSerializer.h
│       │   ├── MSSyncContext.h
│       │   ├── MSSyncContext.m
│       │   ├── MSSyncContextInternal.h
│       │   ├── MSSyncContextReadResult.h
│       │   ├── MSSyncContextReadResult.m
│       │   ├── MSSyncTable.h
│       │   ├── MSSyncTable.m
│       │   ├── MSTable.h
│       │   ├── MSTable.m
│       │   ├── MSTableConfigValue.h
│       │   ├── MSTableConfigValue.m
│       │   ├── MSTableConnection.h
│       │   ├── MSTableConnection.m
│       │   ├── MSTableInternal.h
│       │   ├── MSTableOperation.h
│       │   ├── MSTableOperation.m
│       │   ├── MSTableOperationError.h
│       │   ├── MSTableOperationError.m
│       │   ├── MSTableOperationInternal.h
│       │   ├── MSTableRequest.h
│       │   ├── MSTableRequest.m
│       │   ├── MSURLBuilder.h
│       │   ├── MSURLBuilder.m
│       │   ├── MSUser.h
│       │   ├── MSUser.m
│       │   ├── MSUserAgentBuilder.h
│       │   ├── MSUserAgentBuilder.m
│       │   ├── WindowsAzureMobileServices-Prefix.pch
│       │   └── WindowsAzureMobileServices.h
│       └── test/
│           ├── CoreDataTestModel.xcdatamodeld/
│           │   └── CoreDataTestModel.xcdatamodel/
│           │       └── contents
│           ├── MSClientTests.m
│           ├── MSCoreDataStore+TestHelper.h
│           ├── MSCoreDataStore+TestHelper.m
│           ├── MSCoreDataStoreTests.m
│           ├── MSFilterTest.m
│           ├── MSJSONSerializerTests.m
│           ├── MSLocalStorageTests.m
│           ├── MSMultiRequestTestFilter.h
│           ├── MSMultiRequestTestFilter.m
│           ├── MSOfflinePassthroughHelper.h
│           ├── MSOfflinePassthroughHelper.m
│           ├── MSPredicateTranslatorTests.m
│           ├── MSPullSettingsTests.m
│           ├── MSPushHttpTests.m
│           ├── MSPushTests.m
│           ├── MSQueryTests.m
│           ├── MSSyncTableTests.m
│           ├── MSTable+MSTableTestUtilities.h
│           ├── MSTable+MSTableTestUtilities.m
│           ├── MSTableFuncTests.m
│           ├── MSTableOperationErrorTests.m
│           ├── MSTableOperationTests.m
│           ├── MSTableTests.m
│           ├── MSTestFilter.h
│           ├── MSTestFilter.m
│           ├── MSTestWaiter.h
│           ├── MSTestWaiter.m
│           ├── MSURLbuilderTests.m
│           ├── MSUserAgentBuilderTests.m
│           ├── MSUserTests.m
│           ├── TodoItem.h
│           ├── TodoItem.m
│           ├── WindowsAzureMobileServicesFunctionalTests.m
│           ├── WindowsAzureMobileServicesTests-Info.plist
│           ├── en.lproj/
│           │   └── InfoPlist.strings
│           └── settings.plist
└── test/
    ├── .gitignore
    ├── Android/
    │   ├── Automation/
    │   │   └── AndroidAutomation.bat
    │   └── ZumoE2ETestApp/
    │       ├── .gitignore
    │       ├── build.gradle
    │       ├── libs/
    │       │   ├── getLibs.ps1
    │       │   ├── getLibs.sh
    │       │   └── required-libs.txt
    │       ├── proguard-rules.pro
    │       └── src/
    │           └── main/
    │               ├── AndroidManifest.xml
    │               ├── java/
    │               │   └── com/
    │               │       └── microsoft/
    │               │           └── windowsazure/
    │               │               └── mobileservices/
    │               │                   └── zumoe2etestapp/
    │               │                       ├── Constants.java
    │               │                       ├── GCMIntentService.java
    │               │                       ├── MainActivity.java
    │               │                       ├── TestCaseAdapter.java
    │               │                       ├── ZumoPreferenceActivity.java
    │               │                       ├── framework/
    │               │                       │   ├── CompositeTestGroup.java
    │               │                       │   ├── ExpectedValueException.java
    │               │                       │   ├── FroyoAndroidHttpClientFactory.java
    │               │                       │   ├── FroyoSupport.java
    │               │                       │   ├── LogServiceFilter.java
    │               │                       │   ├── TestCase.java
    │               │                       │   ├── TestExecutionCallback.java
    │               │                       │   ├── TestGroup.java
    │               │                       │   ├── TestResult.java
    │               │                       │   ├── TestStatus.java
    │               │                       │   ├── Util.java
    │               │                       │   └── log/
    │               │                       │       └── DaylightLogger.java
    │               │                       ├── push/
    │               │                       │   ├── GCMMessageCallback.java
    │               │                       │   ├── GCMMessageHelper.java
    │               │                       │   ├── GCMMessageManager.java
    │               │                       │   └── GCMRegistrationMessage.java
    │               │                       └── tests/
    │               │                           ├── ClientSDKLoginTests.java
    │               │                           ├── CustomApiTests.java
    │               │                           ├── EnhancedPushTests.java
    │               │                           ├── LoginTests.java
    │               │                           ├── MiscTests.java
    │               │                           ├── MockResponse.java
    │               │                           ├── MultipleRequestFilter.java
    │               │                           ├── OfflineTests.java
    │               │                           ├── PushTests.java
    │               │                           ├── QueryTestData.java
    │               │                           ├── QueryTests.java
    │               │                           ├── RemoveAuthenticationServiceFilter.java
    │               │                           ├── RoundTripTests.java
    │               │                           ├── StringIdTests.java
    │               │                           ├── SystemPropertiesTests.java
    │               │                           ├── UpdateDeleteTests.java
    │               │                           └── types/
    │               │                               ├── AggregateException.java
    │               │                               ├── AllIntIdMovies.java
    │               │                               ├── AllStringIdMovies.java
    │               │                               ├── ComplexType.java
    │               │                               ├── ComplexType2.java
    │               │                               ├── EnumType.java
    │               │                               ├── FilterResult.java
    │               │                               ├── IntIdMovie.java
    │               │                               ├── IntIdRoundTripTableElement.java
    │               │                               ├── ListFilter.java
    │               │                               ├── Movie.java
    │               │                               ├── MovieComparator.java
    │               │                               ├── ParamsTestTableItem.java
    │               │                               ├── RoundTripTableElement.java
    │               │                               ├── SimpleFilter.java
    │               │                               ├── SimpleMovieFilter.java
    │               │                               ├── StringIdJsonElement.java
    │               │                               ├── StringIdMovie.java
    │               │                               ├── StringIdRoundTripTableElement.java
    │               │                               ├── StringIdRoundTripTableSoftDeleteElement.java
    │               │                               ├── StringIdTableItem.java
    │               │                               └── SystemPropertiesTestData.java
    │               └── res/
    │                   ├── layout/
    │                   │   ├── activity_main.xml
    │                   │   └── row_list_test_case.xml
    │                   ├── menu/
    │                   │   └── activity_main.xml
    │                   ├── raw/
    │                   │   └── mobileservicestore.bks
    │                   ├── values/
    │                   │   ├── strings.xml
    │                   │   ├── strings_activity_zumo_preference.xml
    │                   │   └── styles.xml
    │                   ├── values-v11/
    │                   │   └── styles.xml
    │                   ├── values-v14/
    │                   │   └── styles.xml
    │                   └── xml/
    │                       └── pref_general.xml
    ├── JavaScript/
    │   ├── .gitignore
    │   ├── TestFramework/
    │   │   ├── css/
    │   │   │   └── default.css
    │   │   └── js/
    │   │       ├── testFramework.js
    │   │       ├── testFrameworkConnections.js
    │   │       └── tests/
    │   │           ├── allTests.js
    │   │           ├── apiTests.js
    │   │           ├── loginTests.js
    │   │           ├── miscTests.js
    │   │           ├── pushTests.js
    │   │           ├── queryTestData.js
    │   │           ├── queryTests.js
    │   │           ├── roundTripTests.js
    │   │           └── updateDeleteTests.js
    │   └── ZumoE2ETestAppJs/
    │       ├── .gitignore
    │       ├── ZumoE2ETestAppHTML/
    │       │   ├── .gitignore
    │       │   ├── Properties/
    │       │   │   └── AssemblyInfo.cs
    │       │   ├── Web.Debug.config
    │       │   ├── Web.Release.config
    │       │   ├── Web.config
    │       │   ├── ZumoE2ETestAppHTML.csproj
    │       │   ├── default.html
    │       │   └── js/
    │       │       ├── lib/
    │       │       │   └── MobileServices.Web.js
    │       │       └── platformSpecificFunctions.js
    │       ├── ZumoE2ETestAppJs/
    │       │   ├── Package.StoreAssociation.xml
    │       │   ├── ZumoE2ETestAppJs.jsproj
    │       │   ├── ZumoE2ETestAppJs_StoreKey.pfx
    │       │   ├── ZumoE2ETestAppJs_TemporaryKey.pfx
    │       │   ├── css/
    │       │   │   └── where.txt
    │       │   ├── default.html
    │       │   ├── js/
    │       │   │   ├── MobileServices.intellisense.js
    │       │   │   ├── MobileServices.js
    │       │   │   ├── MobileServices.pri
    │       │   │   ├── default.js
    │       │   │   ├── platformSpecificFunctions.js
    │       │   │   ├── tests/
    │       │   │   │   └── where.txt
    │       │   │   └── wl.js
    │       │   ├── package.appxmanifest
    │       │   └── packages.config
    │       └── ZumoE2ETestAppJs.sln
    ├── PLib/
    │   ├── .gitignore
    │   └── ZumoE2ETestApp/
    │       ├── .gitignore
    │       ├── .nuget/
    │       │   ├── NuGet.Config
    │       │   └── NuGet.targets
    │       ├── UpgradeLog.htm
    │       ├── ZumoE2ETestApp/
    │       │   ├── App.xaml
    │       │   ├── App.xaml.cs
    │       │   ├── Common/
    │       │   │   └── StandardStyles.xaml
    │       │   ├── Framework/
    │       │   │   ├── TestStatus.cs
    │       │   │   ├── Util.cs
    │       │   │   ├── ZumoPushGlobals.cs
    │       │   │   ├── ZumoTest.cs
    │       │   │   ├── ZumoTestEventArgs.cs
    │       │   │   ├── ZumoTestGlobals.cs
    │       │   │   ├── ZumoTestGroup.cs
    │       │   │   └── ZumoTestGroupEventArgs.cs
    │       │   ├── MainPage.xaml
    │       │   ├── MainPage.xaml.cs
    │       │   ├── Package.StoreAssociation.xml
    │       │   ├── Package.appxmanifest
    │       │   ├── Properties/
    │       │   │   └── AssemblyInfo.cs
    │       │   ├── Tests/
    │       │   │   ├── ExceptionTypeWhichWillNeverBeThrown.cs
    │       │   │   ├── TestStore.cs
    │       │   │   ├── Types/
    │       │   │   │   ├── ICloneableItem.cs
    │       │   │   │   ├── Movie.cs
    │       │   │   │   ├── OfflineReadyItem.cs
    │       │   │   │   ├── OfflineReadyItemNoVersion.cs
    │       │   │   │   ├── RoundTripTableItem.cs
    │       │   │   │   ├── StringIdRoundTripTableItem.cs
    │       │   │   │   └── VersionedType.cs
    │       │   │   ├── ZumoCUDTests.cs
    │       │   │   ├── ZumoCustomApiTests.cs
    │       │   │   ├── ZumoLoginTests.cs
    │       │   │   ├── ZumoMiscTests.cs
    │       │   │   ├── ZumoOfflineTests.cs
    │       │   │   ├── ZumoPushTests.cs
    │       │   │   ├── ZumoQueryTestData.cs
    │       │   │   ├── ZumoQueryTests.cs
    │       │   │   ├── ZumoRoundTripTests.cs
    │       │   │   ├── ZumoSetupTests.cs
    │       │   │   └── ZumoTestCommon.cs
    │       │   ├── UIElements/
    │       │   │   ├── AppInfoRepository.cs
    │       │   │   ├── InputDialog.xaml
    │       │   │   ├── InputDialog.xaml.cs
    │       │   │   ├── ListViewForTest.cs
    │       │   │   ├── ListViewForTestGroup.cs
    │       │   │   ├── MoviesDisplayControl.xaml
    │       │   │   ├── MoviesDisplayControl.xaml.cs
    │       │   │   ├── SaveAppsControl.xaml
    │       │   │   ├── SaveAppsControl.xaml.cs
    │       │   │   ├── UploadLogsControl.xaml
    │       │   │   └── UploadLogsControl.xaml.cs
    │       │   ├── ZumoE2ETestApp.csproj
    │       │   ├── ZumoE2ETestApp_StoreKey.pfx
    │       │   ├── ZumoE2ETestApp_TemporaryKey.pfx
    │       │   └── packages.config
    │       ├── ZumoE2ETestApp.sln
    │       ├── ZumoE2ETestAppNet45/
    │       │   ├── App.config
    │       │   ├── App.xaml
    │       │   ├── App.xaml.cs
    │       │   ├── Common/
    │       │   │   └── StandardStyles.xaml
    │       │   ├── MainPage.xaml
    │       │   ├── MainPage.xaml.cs
    │       │   ├── MainWindow.xaml
    │       │   ├── MainWindow.xaml.cs
    │       │   ├── Properties/
    │       │   │   ├── AssemblyInfo.cs
    │       │   │   ├── Resources.Designer.cs
    │       │   │   ├── Resources.resx
    │       │   │   ├── Settings.Designer.cs
    │       │   │   └── Settings.settings
    │       │   ├── UIElements/
    │       │   │   ├── InputDialog.xaml
    │       │   │   ├── InputDialog.xaml.cs
    │       │   │   ├── MoviesDisplayControl.xaml
    │       │   │   ├── MoviesDisplayControl.xaml.cs
    │       │   │   ├── SaveAppsControl.xaml
    │       │   │   ├── SaveAppsControl.xaml.cs
    │       │   │   ├── UploadLogsControl.xaml
    │       │   │   └── UploadLogsControl.xaml.cs
    │       │   ├── ZumoE2ETestAppNet45.csproj
    │       │   └── packages.config
    │       └── ZumoE2ETestAppWP8/
    │           ├── App.xaml
    │           ├── App.xaml.cs
    │           ├── Framework/
    │           │   └── Readme.txt
    │           ├── LocalizedStrings.cs
    │           ├── MainPage.xaml
    │           ├── MainPage.xaml.cs
    │           ├── Properties/
    │           │   ├── AppManifest.xml
    │           │   ├── AssemblyInfo.cs
    │           │   └── WMAppManifest.xml
    │           ├── Resources/
    │           │   ├── AppResources.Designer.cs
    │           │   └── AppResources.resx
    │           ├── Tests/
    │           │   ├── Types/
    │           │   │   └── Readme.txt
    │           │   └── ZumoWP8PushTests.cs
    │           ├── UIElements/
    │           │   ├── InputDialog.xaml
    │           │   └── InputDialog.xaml.cs
    │           ├── ZumoE2ETestAppWP8.csproj
    │           ├── app.config
    │           └── packages.config
    ├── SetupScripts/
    │   ├── apis/
    │   │   ├── SetupAPIs.bat
    │   │   ├── SetupAPIs.sh
    │   │   ├── admin.js
    │   │   ├── admin.json
    │   │   ├── application.js
    │   │   ├── application.json
    │   │   ├── movieFinder.js
    │   │   ├── movieFinder.json
    │   │   ├── public.js
    │   │   ├── public.json
    │   │   ├── runtimeInfo.js
    │   │   ├── runtimeInfo.json
    │   │   ├── shared.js
    │   │   ├── shared.json
    │   │   ├── user.js
    │   │   └── user.json
    │   └── tables/
    │       ├── ParamsTestTable.delete.js
    │       ├── ParamsTestTable.insert.js
    │       ├── ParamsTestTable.read.js
    │       ├── ParamsTestTable.update.js
    │       ├── SetupTables.bat
    │       ├── SetupTables.sh
    │       ├── authenticated.delete.js
    │       ├── authenticated.insert.js
    │       ├── authenticated.read.js
    │       ├── authenticated.update.js
    │       ├── blog_comments.insert.js
    │       ├── blog_comments.read.js
    │       ├── bothIdTypeMovies.insert.js
    │       ├── droidPushTest.insert.js
    │       ├── droidRoundTripTable.insert.js
    │       ├── droidRoundTripTable.read.js
    │       ├── droidRoundTripTable.update.js
    │       ├── iosPushTest.insert.js
    │       ├── iosRoundTripTable.insert.js
    │       ├── offlinereadyitemnoversion.insert.js
    │       ├── stringIdRoundTripTable.insert.js
    │       ├── stringIdRoundTripTable.read.js
    │       ├── stringIdRoundTripTable.update.js
    │       ├── w8PushTest.insert.js
    │       ├── w8RoundTripTable.insert.js
    │       ├── w8RoundTripTable.read.js
    │       ├── w8RoundTripTable.update.js
    │       ├── w8jsRoundTripTable.insert.js
    │       ├── w8jsRoundTripTable.read.js
    │       ├── w8jsRoundTripTable.update.js
    │       ├── w8jsServerQueryMovies.read.js
    │       └── wp8PushTest.insert.js
    ├── ZumoE2EServerApp/
    │   ├── App_Start/
    │   │   └── WebApiConfig.cs
    │   ├── Controllers/
    │   │   ├── AdminController.cs
    │   │   ├── ApplicationApiController.cs
    │   │   ├── ApplicationController.cs
    │   │   ├── AuthenticatedController.cs
    │   │   ├── MovieFinderApiController.cs
    │   │   ├── OfflineReadyController.cs
    │   │   ├── ParamsTestTableController.cs
    │   │   ├── PublicController.cs
    │   │   ├── RuntimeInfoController.cs
    │   │   ├── StringIdMoviesController.cs
    │   │   ├── StringIdRoundTripTableController.cs
    │   │   ├── W8JSRoundTripTableController.cs
    │   │   ├── W8PushTestController.cs
    │   │   └── W8RoundTripTableController.cs
    │   ├── DataObjects/
    │   │   ├── Movie.cs
    │   │   ├── OfflineReady.cs
    │   │   ├── ParamsTestTableEntity.cs
    │   │   ├── RoundTripTableItem.cs
    │   │   ├── StringIdRoundTripTableItem.cs
    │   │   ├── TestUser.cs
    │   │   ├── W8JSRoundTripTableItem.cs
    │   │   └── W8PushTestEntity.cs
    │   ├── Global.asax
    │   ├── Global.asax.cs
    │   ├── Models/
    │   │   └── SDKClientTestContext.cs
    │   ├── Performance/
    │   │   └── Microsoft.ServiceBus.MessagingPerformanceCounters.man
    │   ├── Properties/
    │   │   └── AssemblyInfo.cs
    │   ├── ScheduledJobs/
    │   │   └── SimpleJob.cs
    │   ├── Utils/
    │   │   ├── ComplexTypeDomainManager.cs
    │   │   ├── CustomSharedApi.cs
    │   │   ├── InMemoryDomainManager.cs
    │   │   ├── StringIdRoundTripDomainManager.cs
    │   │   ├── W8JSRoundTripDomainManager.cs
    │   │   └── W8RoundTripDomainManager.cs
    │   ├── Web.Debug.config
    │   ├── Web.Release.config
    │   ├── Web.config
    │   ├── ZumoE2EServerApp.csproj
    │   ├── ZumoE2EServerApp.sln
    │   └── packages.config
    └── iOS/
        ├── .gitignore
        └── ZumoE2ETestApp/
            ├── WindowsAzureMobileServices.framework/
            │   ├── Headers/
            │   │   ├── MSClient.h
            │   │   ├── MSError.h
            │   │   ├── MSFilter.h
            │   │   ├── MSLoginController.h
            │   │   ├── MSPush.h
            │   │   ├── MSQuery.h
            │   │   ├── MSTable.h
            │   │   ├── MSUser.h
            │   │   └── WindowsAzureMobileServices.h
            │   ├── Versions/
            │   │   ├── A/
            │   │   │   ├── Headers/
            │   │   │   │   ├── MSClient.h
            │   │   │   │   ├── MSError.h
            │   │   │   │   ├── MSFilter.h
            │   │   │   │   ├── MSLoginController.h
            │   │   │   │   ├── MSPush.h
            │   │   │   │   ├── MSQuery.h
            │   │   │   │   ├── MSTable.h
            │   │   │   │   ├── MSUser.h
            │   │   │   │   └── WindowsAzureMobileServices.h
            │   │   │   └── WindowsAzureMobileServices
            │   │   └── Current/
            │   │       └── Headers/
            │   │           ├── MSClient.h
            │   │           ├── MSError.h
            │   │           ├── MSFilter.h
            │   │           ├── MSLoginController.h
            │   │           ├── MSPush.h
            │   │           ├── MSQuery.h
            │   │           ├── MSTable.h
            │   │           ├── MSUser.h
            │   │           └── WindowsAzureMobileServices.h
            │   ├── WindowsAzureMobileServices
            │   └── license.rtf
            ├── ZumoE2ETestApp/
            │   ├── TestLoggingFilter.h
            │   ├── TestLoggingFilter.m
            │   ├── ZumoAppDelegate.h
            │   ├── ZumoAppDelegate.m
            │   ├── ZumoCUDTests.h
            │   ├── ZumoCUDTests.m
            │   ├── ZumoCustomApiTests.h
            │   ├── ZumoCustomApiTests.m
            │   ├── ZumoE2ETestApp-Info.plist
            │   ├── ZumoE2ETestApp-Prefix.pch
            │   ├── ZumoLogUpdater.h
            │   ├── ZumoLogUpdater.m
            │   ├── ZumoLoginTests.h
            │   ├── ZumoLoginTests.m
            │   ├── ZumoMainTableHeader.xib
            │   ├── ZumoMainTableViewController.h
            │   ├── ZumoMainTableViewController.m
            │   ├── ZumoMiscTests.h
            │   ├── ZumoMiscTests.m
            │   ├── ZumoPushTests.h
            │   ├── ZumoPushTests.m
            │   ├── ZumoQueryTestData.h
            │   ├── ZumoQueryTestData.m
            │   ├── ZumoQueryTests.h
            │   ├── ZumoQueryTests.m
            │   ├── ZumoRoundTripTests.h
            │   ├── ZumoRoundTripTests.m
            │   ├── ZumoSavedAppsHeader.xib
            │   ├── ZumoSavedAppsTableViewController.h
            │   ├── ZumoSavedAppsTableViewController.m
            │   ├── ZumoTest.h
            │   ├── ZumoTest.m
            │   ├── ZumoTestCallbacks.h
            │   ├── ZumoTestGlobals.h
            │   ├── ZumoTestGlobals.m
            │   ├── ZumoTestGroup.h
            │   ├── ZumoTestGroup.m
            │   ├── ZumoTestGroupCallbacks.h
            │   ├── ZumoTestGroupTableHeader.xib
            │   ├── ZumoTestGroupTableViewController.h
            │   ├── ZumoTestGroupTableViewController.m
            │   ├── ZumoTestHelpViewController.h
            │   ├── ZumoTestHelpViewController.m
            │   ├── ZumoTestHelpViewController.xib
            │   ├── ZumoTestRunSetup.h
            │   ├── ZumoTestRunSetup.m
            │   ├── ZumoTestStore.h
            │   ├── ZumoTestStore.m
            │   ├── en.lproj/
            │   │   └── InfoPlist.strings
            │   └── main.m
            └── ZumoE2ETestApp.xcodeproj/
                └── project.pbxproj

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitattributes
================================================
# Auto detect text files and perform LF normalization
* text=auto

# Custom for Visual Studio
*.cs     diff=csharp
*.sln    merge=union
*.csproj merge=union
*.vbproj merge=union
*.fsproj merge=union
*.dbproj merge=union

# Standard to msysgit
*.doc	 diff=astextplain
*.DOC	 diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot  diff=astextplain
*.DOT  diff=astextplain
*.pdf  diff=astextplain
*.PDF	 diff=astextplain
*.rtf	 diff=astextplain
*.RTF	 diff=astextplain


================================================
FILE: .gitignore
================================================
.DS_Store
bin
gen
target
*.keystore
*.swp
*.orig
*.log
*.userprefs
seed.txt
map.txt
.metadata
sdk/android/src/notifications-handler/libs/google-play-services.jar
sdk/android/src/sdk/libs/gson-2.2.2.jar
sdk/android/src/sdk/libs/guava-16.0.1.jar
sdk/android/test/sdk.testapp.tests/libs/gson-2.2.2.jar
*.mdf
*.ldf
obj
*.csproj.user
test/ZumoE2EServerApp/Properties/PublishProfiles/
sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.SQLiteStore.Net45.Test/sqlite3.dll
StyleCop.Cache
packages
*.suo
*.jar
*.xccheckout
deriveddata

*.iml


================================================
FILE: .gitmodules
================================================
[submodule "sdk/Javascript/src/External/esprima"]
	path = sdk/Javascript/src/External/esprima
	url = https://github.com/ariya/esprima.git
[submodule "sdk/Javascript/src/External/queryjs"]
	path = sdk/Javascript/src/External/queryjs
	url = https://github.com/WindowsAzure/queryjs.git
[submodule "sdk/Managed/src/External/Xamarin.Auth"]
	path = sdk/Managed/src/External/Xamarin.Auth
	url = https://github.com/azure/azure-mobile-services-xamarin-auth.git


================================================
FILE: CHANGELOG.android.md
================================================
# Azure Mobile Services Android SDK Change Log

### Android SDK: Version 2.0.3
- Fix in the incremental sync query building logic [#720](https://github.com/Azure/azure-mobile-services/issues/720) to use correct parentheses and skip logic [c58d4e8](https://github.com/Azure/azure-mobile-services/commit/c58d4e8) 
- Fix for the deserialization bug [#718](https://github.com/Azure/azure-mobile-services/issues/718) on OperationErrorList table with datatype mismatch [15e9f9b](https://github.com/Azure/azure-mobile-services/commit/15e9f9b)

### Android SDK: Version 2.0.2
- Support for operation state tracking
- Fix for type incompatibility from datetime to datetimeoffset 
- Methods added for CancelAndDiscard and CancelAndUpdate for customized conflict handling 
- Fix for the local store database connection issue caused due to race condition in asynchronous operations
- Updated end to end test
- Support for binary data type on queries (for instance to query using the __version column)
- Improvements on the DateSerializer

### Android SDK: Version 2.0.2-Beta2
- Fix for the pull action with SQLite

### Android SDK: Version 2.0.2-Beta
- Mobile Services SDK version indicator with user-agent
- Introduced conflict exception to facilitate handling of 409 conflict
- Fix for the cropped UI for Facebook authentication
- Fix for SQL ordering issue
- Support for Incremental Sync to pull data with flexibility
- Support for Soft Delete
- Improved SQLite insert performance on pull
- Purge no longer pushes, instead it throws an exception as user expects
- Local item deletion exception is handled properly according to server state
- Support for continuation tokens in queries for paging
- InsertAsync throws expected exception on duplicate insert
- Fix for Local store & SQLite missing/mismatch table columns (i.e. “_deleted”)
- Support for Android Studio
- Send custom query string parameters with loginAsync Android

### Android SDK: Version 1.1.5
- Added support for Windows Azure Notification Hub integration

### Android SDK: Version 1.1.3
- Support for optimistic concurrency (version / ETag) validation
- Support for `__createdAt` / `__updatedAt` table columns
- Added support for the Windows Azure Active Directory authentication in the `MobileServiceAuthenticationProvider` enum.
- Also added a mapping from that name to the value used in the service REST API (`/login/aad`)

### Android SDK: Version 1.1.0
- Support for tables with string ids
- Overload for log in which takes the provider as a string, in addition to the one with enums
 

================================================
FILE: CHANGELOG.ios.md
================================================
# Azure Mobile Services iOS SDK Change Log

## SDK Downloads
- [Latest iOS 2.x SDK](http://aka.ms/gc6fex)
 - **requires XCode 7**
- [iOS 1.2.4 SDK](http://aka.ms/kymw2g)

### Version 2.2.2
- Updated build tooling to use XCode 7 and include BitCode [issue #794](https://github.com/Azure/azure-mobile-services/issues/794)
 - Note: Framework now requires using XCode 7
- Fixed issue with MSCoreDataStore.h that prevented it from bring used as part of a cocoapod

### Version 2.2.1
- Fixed [issue #768](https://github.com/Azure/azure-mobile-services/issues/768) that was causing a memory leak when using NSURLSession [204f210](https://github.com/Azure/azure-mobile-services/commit/204f210)
- Fix NSNull templateName [9347390](https://github.com/Azure/azure-mobile-services/commit/9347390)

### Version 2.2.0
- Updated offline sync logic to do a case-insensitive comparison on the ID column  [328aadf](https://github.com/Azure/azure-mobile-services/commit/328aadf)
- Added support for returning the underlying NSOperation when performing push, pull and purge operations [7c37f60](https://github.com/Azure/azure-mobile-services/commit/7c37f60)
- Added support for configuring the page size of a pull operation [0c31aa3](https://github.com/Azure/azure-mobile-services/commit/0c31aa3)
- Added support for NSUUID in PredicateTranslator [24c5a61](https://github.com/Azure/azure-mobile-services/commit/24c5a61)
- Fixed [issue #699] (https://github.com/Azure/azure-mobile-services/issues/699) that prevented properties with value nil from being sent to server [bf41081](https://github.com/Azure/azure-mobile-services/commit/bf41081)
- Fixed handling of network errors during push operations [1a9fdf4](https://github.com/Azure/azure-mobile-services/commit/1a9fdf4)
- Fixed potential race conditions while performing table operations [15581be](https://github.com/Azure/azure-mobile-services/commit/15581be)
- Fixed incorrect ID validation during insert operations [f5e44d4](https://github.com/Azure/azure-mobile-services/commit/f5e44d4)

### Version 2.1.0
- Fix cancelAndUpdate and cancelAndDiscard actions on the MSTableOperationError class
- Fix issues with sync operations not firing their completion blocks on the correct queue

### Version 2.0.0
- GA of offline sync changes from previous betas
- Now requires iOS 7 or newer to use

### Version 2.0.0 beta2
- **[Breaking]** Changed MSReadQueryBlock to return MSQueryResult instead of items and totalCount. See [this blog post](http://azure.microsoft.com/blog/2014/10/07/mobile-services-beta-ios-sdk-released/) for more information.
- Added support for incremental sync
- Added support for query parameters in pull operations
- Added support for following link headers returned from the .NET backend
- Fixed issue with login controller completing before animation completes
- Added a method for force purge of local data
- Added a helper method to return an NSDictionary from an NSManagedObject
- Fixed issue with the __includeDeleted flag sending the wrong value

### Version 2.0.0 beta1

- Added support for incremental sync
- Added support for query parameters in pull operations
- Fixed issue with login controller completing before animation completes
- Added a method for force purge of local data
- Added a helper method to return an NSDictionary from an NSManagedObject
- Fixed issue with the __includeDeleted flag sending the wrong value

### Version 1.3 alpha1
- Added support for offline and sync

### Version 1.2.4
- Address bug where version property was returned to the caller even when not asked for
- Fixes Swift QS for syntax changes up to Xcode Beta 7

### Version 1.2.3
- Fix issue with const when using both Azure Messaging and Mobile Services frameworks
- Fix issue [#306](https://github.com/Azure/azure-mobile-services/issues/306) with how arrays passed as query string params to table and custom APIs are converted
- Fix issue where system properties (__version, __updatedAt, etc) were returned to the caller when they were not requested

### Version 1.2.2
- Added support for APNS Azure Notification Hub integration
- Support for optimistic concurrency on delete

### iOS SDK
- - Fix issue [#218](https://github.com/WindowsAzure/azure-mobile-services/issues/218) in which some dates coming from the mobile services with the .NET runtime weren't parsed correctly

### Version 1.1.3
- Added a mapping in the authentication provider from WindowsAzureActiveDirectory to the value used in the REST API (`/login/aad`)

### Version 1.1.2
- Supports the arm64 architecture
- Now requires iOS 6 or newer to use

### Version 1.1.1
- Support for optimistic concurrency (version / ETag) validation
- Support for `__createdAt` / `__updatedAt` table columns
- Fix bug with using arrays in invokeAPI

### Version 1.1.0
- Support for tables with string ids


================================================
FILE: CHANGELOG.javascript.md
================================================
# Azure Mobile Services JavaScript SDK Change Log

### JavaScript SDK: Version 1.2.7
- Added support for phonegap/cordova with [plugin repo](https://github.com/Azure/azure-mobile-services-cordova)

### JavaScript SDK: Version 1.2.5
- Added support for sending provider specific query string parameters in login using new loginWithOptions method
- Added support for registering devices with notification hubs for apns and gcm
- Fixed issue with InAppBrowser on iOS devices during auth workflows when using Cordova/PhoneGap

### JavaScript SDK: Version 1.2.4
- Fixed crash when server response did not have a Content-Type header

### JavaScript SDK: Version 1.2.2 
- Support for optimistic concurrency on delete

### JavaScript SDK: Version 1.1.5
- Fix issue [#218](https://github.com/WindowsAzure/azure-mobile-services/issues/218) in which some dates coming from the mobile services with the .NET runtime weren't parsed correctly
- [WinJS only] Fix race condition on notification hub integration initialization when storage was corrupted

### JavaScript SDK: Version 1.1.4
- Added support for Windows Azure Notification Hub integration for WinJS.

### JavaScript SDK: Version 1.1.3
- Added a mapping in the authentication provider from WindowsAzureActiveDirectory to the value used in the REST API (`/login/aad`)

### JavaScript SDK: Version 1.1.2
- Support for optimistic concurrency (version / ETag) validation
- Support for `__createdAt` / `__updatedAt` table columns

### JavaScript SDK: Version 1.1.0
- Support for tables with string ids
- Removed client restriction on valid providers for login
- Files are now served from http://ajax.aspnetcdn.com/ajax/mobileservices/MobileServices.Web-[version].min.js (or [version].js for the non minified copy)

### JavaScript SDK: Version 1.0.3:
- Added support for `String.substr` inside functions on `where` clauses
- Fix [#152](https://github.com/WindowsAzure/azure-mobile-services/issues/152) - InvokeApi method crashes on IE9 and IE8
- Fixed issue with login popup not being closed when using IE11


================================================
FILE: CHANGELOG.managed.md
================================================
# Azure Mobile Services Managed SDK Change Log

### Managed SDK: Version 1.3.2
- Added workaround for WinRT issue [#658](https://github.com/WindowsAzure/azure-mobile-services/issues/658) by removing localization in SQLiteStore and in the SDK  [6af8b30](https://github.com/Azure/azure-mobile-services/commit/6af8b30) [58c5a44](https://github.com/Azure/azure-mobile-services/commit/58c5a44)
- Added partial fix for issue [#615](https://github.com/WindowsAzure/azure-mobile-services/issues/615), by removing operations from the queue before releasing the operation's lock. [a28ae32](https://github.com/Azure/azure-mobile-services/commit/a28ae32)

### Managed SDK: Version 1.3.1
- Update to latest version of sqlite pcl [ce1aa67](https://github.com/Azure/azure-mobile-services/commit/ce1aa67)
- Fix iOS classic compilation issues [316a57a](https://github.com/Azure/azure-mobile-services/commit/316a57a)
- Update Xamarin unified support for Xamarin.iOS 8.6
[da537b1](https://github.com/Azure/azure-mobile-services/commit/da537b1)
- Xamarin.iOS Unified API Support [d778c60](https://github.com/Azure/azure-mobile-services/commit/d778c60)
- Relax queryId restrictions #521 [offline] 
[3e2f645](https://github.com/Azure/azure-mobile-services/commit/3e2f645)
- Work around for resource missing error on windows phone [offline]

### Managed SDK: Version 1.3 

- allow underscore and hyphen in queryId [7d192a3](https://github.com/Azure/azure-mobile-services/commit/7d192a3)
- added force option to purge data and pending operations on data [aa51d9f](https://github.com/Azure/azure-mobile-services/commit/aa51d9f)
- delete errors with operation on cancel and collapse [372ba61](https://github.com/Azure/azure-mobile-services/commit/372ba61)
- rename queryKey to queryId [93e59f7](https://github.com/Azure/azure-mobile-services/commit/93e59f7)
- insert should throw if the item already exists [#491](https://github.com/Azure/azure-mobile-services/issues/491) [fc13891](https://github.com/Azure/azure-mobile-services/commit/fc13891)
- **[Breaking]** Removed PullAsync overloads that do not take queryId [88cac8c](https://github.com/Azure/azure-mobile-services/commit/88cac8c)

### Managed SDK: Version 1.3 beta3
- Improved the push failure error message [d49a72e](https://github.com/Azure/azure-mobile-services/commit/d49a72e)
- Implement true upsert [c5b0b38](https://github.com/Azure/azure-mobile-services/commit/c5b0b38)
- Use more fine grained types in sqlite store [de49712](https://github.com/Azure/azure-mobile-services/commit/de49712)
- Speedup store table creation [eb7cc8d](https://github.com/Azure/azure-mobile-services/commit/eb7cc8d)
- Allow query on member name datetime [7d831cd](https://github.com/Azure/azure-mobile-services/commit/7d831cd)
- Make the sync handler optional as there is alternate way for handling sync errors [edc04e5](https://github.com/Azure/azure-mobile-services/commit/edc04e5)
- Drop the unused createdat column in operations table [8a30df4](https://github.com/Azure/azure-mobile-services/commit/8a30df4)
- Remove redundant overloads in interface and move them to extensions [d0a46b6](https://github.com/Azure/azure-mobile-services/commit/d0a46b6)
- Support relative and absolute uri in pull same as table.read [c9d8e39](https://github.com/Azure/azure-mobile-services/commit/c9d8e39)
- Allow relative URI in invokeapi [5b3c6b3](https://github.com/Azure/azure-mobile-services/commit/5b3c6b3)
- Fixed the like implementation in sqlite store [77a0180](https://github.com/Azure/azure-mobile-services/commit/77a0180)
- Purge should forget the deltatoken [18f1803](https://github.com/Azure/azure-mobile-services/commit/18f1803)
- Renamed fromServer to ignoreMissingColumns [8b047eb](https://github.com/Azure/azure-mobile-services/commit/8b047eb)
- **[Breaking]** Removed PullAsync overloads that do not take queryKey [d4ff784](https://github.com/Azure/azure-mobile-services/commit/d4ff784)
- Save tableKind in the errors table [23f2ef0](https://github.com/Azure/azure-mobile-services/commit/23f2ef0)

### Managed SDK: Version 1.3 beta2
- Updated Nuget references
- Request __deleted system property for sync
- Default delta token set to 1970-01-01 for compatibility with Table Storage 
- Expose protected methods from the MobileServiceSQLiteStore for intercepting sql
- **[Breaking]** Expose a ReadOnlyCollection instead of IEnumerable from MobileServiceTableOperationError

### Managed SDK: Version 1.3 beta
- Added support for incremental sync for .NET backend
- Added support for byte[] properties in offline
- Fixed issue with timezone roundtripping in incremental sync
- Improved exception handling for 409 conflicts
- Improved error handling for timeout errors during sync
- Follow link headers returned from .NET backend and use skip and top for PullAsync()
- Introduced the SupportedOptions enum on IMobileServiceSyncTable to configure the pull strategy
- **[Breaking]** Do not Push changes on PurgeAsync() instead throw an exception
- **[Breaking]** Renamed ToQueryString method to ToODataString on MobileServiceTableQueryDescription class

### Managed SDK: Version 1.3 alpha2
- Added support for incremental sync (currently, for Mobile Services JavaScript backend only)
- Added client support for soft delete
- Added support for offline pull with query string

### Managed SDK: Version 1.3 alpha2
- Added support for offline and sync
- Added support for soft delete

### Managed SDK: Version 1.2.6
- Fixed an issue on Xamarin.iOS and Xamarin.Android where UI popups occur during failed user authentication flows. These popups are now suppressed so that the developer can handle the error however they want.

### Managed SDK: Version 1.2.5
- Updated to use a modified build of Xamarin.Auth that will not conflict with any user-included version of Xamarin.Auth

### Managed SDK: Version 1.2.4
- Added support for following link headers returned from the .NET backend
- Added a MobileServiceConflictException to detect duplicate inserts
- Added support for datetimeoffsets in queries
- Added support for sending provider specific query string parameters in LoginAsync()
- Fixed an issue causing duplicate registrations in Xamarin.iOS against .NET backends

### Managed SDK: Version 1.2.3
- Added support for Xamarin iOS Azure Notification Hub integration

### Managed SDK: Version 1.2.2
- Support for optimistic concurrency on delete
- Update to Push surface area with minor object model changes. Added Registration base class in PCL and changed name within each extension to match the push notifcation surface. Example: WnsRegistration, WnsTemplateRegistration
- Added support for Xamarin Android Azure Notification Hub integration

### Managed SDK: Version 1.2.1
- Added support for Windows Phone 8.1, requires using Visual Studio 2013 Update 2 RC

### Managed SDK: Version 1.1.5
- Added support for Xamarin (iOS / Android)
- Clean-up id validation on insert operations

### Managed SDK: Version 1.1.4
- Added support for Windows Azure Notification Hub integration.

### Managed SDK: Version 1.1.3
- Added support for the Windows Azure Active Directory authentication in the `MobileServiceAuthenticationProvider` enumeration.
- Also added a mapping from that name to the value used in the service REST API (`/login/aad`)
- Fixed a issue [#213](https://github.com/WindowsAzure/azure-mobile-services/issues/213) in which SDK prevented calls to custom APIs with query string parameters starting with `$`

### Managed SDK: Version 1.1.2
- Fix [#192](https://github.com/WindowsAzure/azure-mobile-services/issues/192) - Serialized query is ambiguous if double literal has no fractional part
- Fixed Nuget support for Windows Phone 8

### Managed SDK: Version 1.1.1
- Fix bug when inserting a derived type
- Dropped support for Windows Phone 7.x clients (WP7.5 can still use the client version 1.1.0)

### Managed SDK: Version 1.1.0
- Support for tables with string ids
- Support for optimistic concurrency (version / ETag) validation
- Support for `__createdAt` / `__updatedAt` table columns
- Overload for log in which takes the provider as a string, in addition to the one with enums
- Fix [#121](https://github.com/WindowsAzure/azure-mobile-services/issues/121) - exceptions in `MobileServiceIncrementalLoadingCollection.LoadMoreItemsAsync` causes the app to crash

### Managed SDK: Version 1.0.3:
- Fixed query issues in Visual Basic expressions



================================================
FILE: CHANGELOG.md
================================================
# Azure Mobile Services Change Log

## [iOS SDK](CHANGELOG.ios.md)

## [Managed SDK](CHANGELOG.managed.md)

## [Android SDK](CHANGELOG.android.md)

## [JavaScript SDK](CHANGELOG.javascript.md)


================================================
FILE: LICENSE.txt
================================================
                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

================================================
FILE: README.md
================================================
# Microsoft Azure Mobile Services

Azure Mobile Services has been superseded by Azure App Service Mobile Apps and is scheduled for removal from Azure.  We recommend using Azure Mobile Apps for all new mobile backend deployments.  Read [this announcement](https://azure.microsoft.com/blog/transition-of-azure-mobile-services/) to learn more about the pending deprecation of this service.  
> 
> Learn about [Mobile Apps in Azure App Service](https://docs.microsoft.com/en-us/azure/app-service-mobile/app-service-mobile-value-prop).
>
> Get started with Azure Mobile Apps, see the [Azure Mobile Apps documentation center](https://azure.microsoft.com/documentation/learning-paths/appservice-mobileapps/).

## Download Source Code

To get the source code of our SDKs and samples via **git** just type:

    git clone https://github.com/Azure/azure-mobile-services.git
    cd ./azure-mobile-services/

## Reference Documentation

#### Azure App Service Mobile Apps
* [iOS](http://azure.github.io/azure-mobile-services/iOS/v3)

#### Mobile Services
* [iOS](http://azure.github.io/azure-mobile-services/iOS/v2)
* [Android](http://dl.windowsazure.com/androiddocs/)

## Change log

- [iOS SDK](CHANGELOG.ios.md)
- [Managed SDK](CHANGELOG.managed.md)
- [Android SDK](CHANGELOG.android.md)
- [JavaScript SDK](CHANGELOG.javascript.md)

## Managed Windows Client SDK

Our managed portable library for Windows 8, Windows Phone 8, Windows Phone 8.1, and Windows Runtime Universal C# Client SDK makes it incredibly easy to use Mobile Services from your Windows applications. The [Microsoft Azure Mobile Services SDK](http://nuget.org/packages/WindowsAzure.MobileServices/) is available 
as a Nuget package or you can download the source using the instructions above. The managed portable library also supports the full .NET 4.5 platform.

### Prerequisites

The SDK requires Visual Studio 2013.

### Building and Referencing the SDK

The managed portable library solution includes a core portable assembly and platform-specific assemblies for each of the supported platforms: Windows 8,
Windows Phone 8 and .NET 4.5. The core portable platform project is ```Microsoft.WindowsAzure.Mobile```. The platform-specific assembly projects are
named using a ```Microsoft.WindowsAzure.Mobile.Ext.<Platform>``` convention. The Windows Phone 8 platform also
include a ```Microsoft.WindowsAzure.Mobile.UI.<Platform>``` project that contain UI components. To build the Managed Portable Libray:

1. Open the ```sdk\Managed\Microsoft.WindowsAzure.Mobile.Managed.sln``` solution file in Visual Studio 2012.
2. Press F6 to build the solution.

### Running the Tests

The managed portable library ```Microsoft.WindowsAzure.Mobile.Managed.sln``` has a test application for each of the supported platforms: Windows 8,
Windows Phone 8 and .NET 4.5.

1. Open the ```sdk\Managed\Microsoft.WindowsAzure.Mobile.Managed.sln``` solution file in Visual Studio 2012.
2. Right-click on the test project for a given platform in the Solution Explorer and select ```Set as StartUp Project```.
3. Press F5 to run the application in debug mode.
4. An application will appear with a prompt for a runtime Uri and Tags. You can safely ignore this prompt and just click the Start button.
5. The test suite will run and display the results.

## iOS Client SDK
Add a cloud backend to your iOS application in minutes with our iOS client SDK. You can [download the iOS SDK](https://go.microsoft.com/fwLink/?LinkID=266533&clcid=0x409) directly or you can download the source code using the instructions above.  

### Prerequisites

The SDK requires Xcode 4.6.3 or greater.

### Building and Referencing the SDK

1. Open the ```sdk\iOS\WindowsAzureMobileServices.xcodeproj``` file in Xcode.
2. Set the active scheme option to ```Framework\iOS Device```.
3. Build the project using Command-B. The ```WindowsAzureMobileServices.framework``` folder should be found in the build output folder under ```Products\<build configuration>-iphoneos```.
4. Drag and drop the ```WindowsAzureMobileServices.framework``` from a Finder window into the Frameworks folder of the Project Navigator panel of your iOS application Xcode project.

### Running the Tests

1. Open the ```sdk\iOS\WindowsAzureMobileServices.xcodeproj``` file in Xcode.
2. Set the active scheme option to ```WindowsAzureMobileServices\* Simulator```.
3. Open the ```Test\WindowsAzureMobileServicesFunctionalTests.m``` file in the Project Navigator panel of Xcode.
4. In the ```settings.plist``` file, set ```TestAppUrl``` and ```TestAppApplicationKey``` to a valid URL and Application Key for a working Mobile Service.
5. Run the tests using Command-U.

## Android SDK
Microsoft Azure Mobile Services can be used with an Android-based device using our Android SDK. You can get the Android SDK in one of the following two ways or you can download the source code using the instructions above.

1. For an Android studio project, include the line `compile 'com.microsoft.azure:azure-mobile-services-android-sdk:2.0.3'` in the dependencies section of build.gradle file of the app
2. Eclipse users can [download the Android SDK](https://go.microsoft.com/fwLink/?LinkID=280126&clcid=0x409) directly or can download the source code using the instructions above.

### Prerequisites
The SDK requires Android Studio.

### Building and Referencing the SDK
1. Open the folder `\azure-mobile-services\sdk\android` using the option `Open an existing Android Studio Project` in Android Studio.
2. Project should be built automatically, In case it does not build, Right click on `sdk` folder and select `Make Module 'sdk'`
3. The file `sdk-release.aar` should be present at `\azure-mobile-services\sdk\android\src\sdk\build\outputs\aar` 
4. Rename the file `sdk-release.aar` to `sdk-release.zip`
5. Extract the zip file, `classes.jar` should be present in the root folder.

### Running the Tests

The SDK has a suite of unit tests that you can easily run.

1. Open the folder `\azure-mobile-services\sdk\android` using the option `Open an existing Android Studio Project` in Android Studio.
2. Project should be built automatically, In case it does not build, Right click on `sdk` folder and select `Make Module 'sdk.testapp'`
3. Expand `sdk.testapp` and sub folder `java`
4. Right click on `com.microsoft.windowsazure.mobileservices.sdk.testapp`, Select `Run`, Select `Tests in com.microsoft.windowsazure.mobileservices.sdk.testapp` (with Android tests icon)

## JavaScript SDK

Our JavaScript SDK makes it easy to use our Microsoft Azure Mobile Services in a Windows 8 application or an HTML client. The [Microsoft Azure Mobile Services for WinJS SDK](http://nuget.org/packages/WindowsAzure.MobileServices.WinJS/) is available as a Nuget package or you can download the source for both WinJS and HTML using the instructions above. 

### Prerequisites

The Microsoft Azure Mobile Services for WinJS SDK requires Windows 8.1 and Visual Studio 2013 Update 3. 

### Building and Referencing the SDK

1. Install Node.js and grunt-cli (globally) for building in Visual Studio
2. Install the Task Runner Explorer(https://visualstudiogallery.msdn.microsoft.com/8e1b4368-4afb-467a-bc13-9650572db708) add on for VS 2013 
3. Open the ```sdk\JavaScript\Microsoft.WindowsAzure.Mobile.JS.sln``` file in Visual Studio.
4. Right click on the gruntfile.js in the solution, and select Task Runner Explorer
5. Run the default build option

Alternatively, you can use Grunt from the command line to build the project as well.

For WinJS Windows Store apps, copy the ```Generated/MobileServices[.min].js```, ```Generated/MobileServices.DevIntellisense.js``` and ```Generated/MobileService.pri``` files into your WinJS project. For HTML applications, copy the ```Generated/MobileServices.Web[.min].js``` and the ```Generated/MobileServices.DevIntellisense.js``` files into your HTML\JavaScript project.

### Running the Tests

To run the WinJS Windows Store test app:

1. Open the ```sdk\JavaScript\Microsoft.WindowsAzure.Mobile.JS.sln``` file in Visual Studio.
2. In the Solution Explorer, right-click on the ```Microsoft.WindowsAzure.Mobile.WinJS.Test``` project in the Solution Explorer and select ```Set as StartUp Project```.
3. Press F5 to run the application in debug mode.
4. A Windows Store application will appear with a prompt for a Runtime Uri and Tags. You can safely ignore this prompt and just click the Start button.
5. The test suite will run and display the results.

To run the HTML tests:

1. Open the ```sdk\JavaScript\Microsoft.WindowsAzure.Mobile.JS.sln``` file in Visual Studio.
2. In the Solution Explorer, select the Microsoft.WindowsAzure.Mobile.WinJS.Test project and right-click to select 'View in Browser'.
3. The default browser will launch and run the test HTML application. Some tests may fail because due to an 'Unexpected connection failure'. This is because the test is configured to connect to a Mobile Service that does not exist. These failures can be ignored.

## Useful Resources

* [Quickstarts](https://github.com/Azure/azure-mobile-services-quickstarts)
* [E2E Test Suite](https://github.com/Azure/azure-mobile-services-test)
* [Samples](https://github.com/Azure/mobile-services-samples)
* Tutorials and product overview are available at [Microsoft Azure Mobile Services Developer Center](http://azure.microsoft.com/en-us/develop/mobile).
* Our product team actively monitors the [Mobile Services Developer Forum](http://social.msdn.microsoft.com/Forums/en-US/azuremobile/) to assist you with any troubles.

## Contribute Code or Provide Feedback

This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.

If you would like to become an active contributor to this project please follow the instructions provided in [Microsoft Azure Projects Contribution Guidelines](http://azure.github.com/guidelines.html).

If you encounter any bugs with the library please file an issue in the [Issues](https://github.com/Azure/azure-mobile-services/issues) section of the project.


================================================
FILE: component/.gitignore
================================================
*.xam
xpkg
*.suo
bin
obj
lib

================================================
FILE: component/Details.md
================================================
Add structured storage, authentication, push notifications and more to your Xamarin based mobile application in minutes using Microsoft Azure Mobile Services.

To get started, follow the tutorial for the appropriate platform:

- [Xamarin.iOS](https://www.windowsazure.com/en-us/develop/mobile/tutorials/get-started-xamarin-ios/)
- [Xamarin.Android](https://www.windowsazure.com/en-us/develop/mobile/tutorials/get-started-xamarin-android/)

To learn about more Mobile Services, visit the [Microsoft Azure Mobile Developer Center](https://www.windowsazure.com/en-us/develop/mobile/).


================================================
FILE: component/GettingStarted.md
================================================
## Getting Started

Follow the tutorial for the appropriate platform:

- [Xamarin.iOS](https://www.windowsazure.com/en-us/develop/mobile/tutorials/get-started-xamarin-ios/)
- [Xamarin.Android](https://www.windowsazure.com/en-us/develop/mobile/tutorials/get-started-xamarin-android/)

### Source Code

- GitHub: https://github.com/WindowsAzure/azure-mobile-services

### Documentation

- Tutorials: https://www.windowsazure.com/en-us/develop/mobile/resources/
- Developer Center: http://www.windowsazure.com/mobile
- API Library: http://msdn.microsoft.com/en-us/library/windowsazure/jj710108.aspx
- Xamarin Mobile Services client framework GitHub Repo: https://github.com/xamarin/azure-mobile-services

### Contact

- Developer Forum: http://social.msdn.microsoft.com/Forums/en-US/azuremobile/threads
- Feature Requests: http://mobileservices.uservoice.com
- Contact: mobileservices@microsoft.com
- Twitter: @paulbatum @joshtwist @cloudnick @chrisrisner @mlunes90

### Legal 

- Terms & Conditions: http://www.windowsazure.com/en-us/support/legal/


================================================
FILE: component/License.md
================================================
# Apache License
Version 2.0, January 2004<br />
[http://www.apache.org/licenses/](http://www.apache.org/licenses/)

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

   "License" shall mean the terms and conditions for use, reproduction,
   and distribution as defined by Sections 1 through 9 of this document.

   "Licensor" shall mean the copyright owner or entity authorized by
   the copyright owner that is granting the License.

   "Legal Entity" shall mean the union of the acting entity and all
   other entities that control, are controlled by, or are under common
   control with that entity. For the purposes of this definition,
   "control" means (i) the power, direct or indirect, to cause the
   direction or management of such entity, whether by contract or
   otherwise, or (ii) ownership of fifty percent (50%) or more of the
   outstanding shares, or (iii) beneficial ownership of such entity.

   "You" (or "Your") shall mean an individual or Legal Entity
   exercising permissions granted by this License.

   "Source" form shall mean the preferred form for making modifications,
   including but not limited to software source code, documentation
   source, and configuration files.

   "Object" form shall mean any form resulting from mechanical
   transformation or translation of a Source form, including but
   not limited to compiled object code, generated documentation,
   and conversions to other media types.

   "Work" shall mean the work of authorship, whether in Source or
   Object form, made available under the License, as indicated by a
   copyright notice that is included in or attached to the work
   (an example is provided in the Appendix below).

   "Derivative Works" shall mean any work, whether in Source or Object
   form, that is based on (or derived from) the Work and for which the
   editorial revisions, annotations, elaborations, or other modifications
   represent, as a whole, an original work of authorship. For the purposes
   of this License, Derivative Works shall not include works that remain
   separable from, or merely link (or bind by name) to the interfaces of,
   the Work and Derivative Works thereof.

   "Contribution" shall mean any work of authorship, including
   the original version of the Work and any modifications or additions
   to that Work or Derivative Works thereof, that is intentionally
   submitted to Licensor for inclusion in the Work by the copyright owner
   or by an individual or Legal Entity authorized to submit on behalf of
   the copyright owner. For the purposes of this definition, "submitted"
   means any form of electronic, verbal, or written communication sent
   to the Licensor or its representatives, including but not limited to
   communication on electronic mailing lists, source code control systems,
   and issue tracking systems that are managed by, or on behalf of, the
   Licensor for the purpose of discussing and improving the Work, but
   excluding communication that is conspicuously marked or otherwise
   designated in writing by the copyright owner as "Not a Contribution."

   "Contributor" shall mean Licensor and any individual or Legal Entity
   on behalf of whom a Contribution has been received by Licensor and
   subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
   this License, each Contributor hereby grants to You a perpetual,
   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
   copyright license to reproduce, prepare Derivative Works of,
   publicly display, publicly perform, sublicense, and distribute the
   Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
   this License, each Contributor hereby grants to You a perpetual,
   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
   (except as stated in this section) patent license to make, have made,
   use, offer to sell, sell, import, and otherwise transfer the Work,
   where such license applies only to those patent claims licensable
   by such Contributor that are necessarily infringed by their
   Contribution(s) alone or by combination of their Contribution(s)
   with the Work to which such Contribution(s) was submitted. If You
   institute patent litigation against any entity (including a
   cross-claim or counterclaim in a lawsuit) alleging that the Work
   or a Contribution incorporated within the Work constitutes direct
   or contributory patent infringement, then any patent licenses
   granted to You under this License for that Work shall terminate
   as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
   Work or Derivative Works thereof in any medium, with or without
   modifications, and in Source or Object form, provided that You
   meet the following conditions:

   (a) You must give any other recipients of the Work or
       Derivative Works a copy of this License; and

   (b) You must cause any modified files to carry prominent notices
       stating that You changed the files; and

   (c) You must retain, in the Source form of any Derivative Works
       that You distribute, all copyright, patent, trademark, and
       attribution notices from the Source form of the Work,
       excluding those notices that do not pertain to any part of
       the Derivative Works; and

   (d) If the Work includes a "NOTICE" text file as part of its
       distribution, then any Derivative Works that You distribute must
       include a readable copy of the attribution notices contained
       within such NOTICE file, excluding those notices that do not
       pertain to any part of the Derivative Works, in at least one
       of the following places: within a NOTICE text file distributed
       as part of the Derivative Works; within the Source form or
       documentation, if provided along with the Derivative Works; or,
       within a display generated by the Derivative Works, if and
       wherever such third-party notices normally appear. The contents
       of the NOTICE file are for informational purposes only and
       do not modify the License. You may add Your own attribution
       notices within Derivative Works that You distribute, alongside
       or as an addendum to the NOTICE text from the Work, provided
       that such additional attribution notices cannot be construed
       as modifying the License.

   You may add Your own copyright statement to Your modifications and
   may provide additional or different license terms and conditions
   for use, reproduction, or distribution of Your modifications, or
   for any such Derivative Works as a whole, provided Your use,
   reproduction, and distribution of the Work otherwise complies with
   the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
   names, trademarks, service marks, or product names of the Licensor,
   except as required for reasonable and customary use in describing the
   origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
   agreed to in writing, Licensor provides the Work (and each
   Contributor provides its Contributions) on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
   implied, including, without limitation, any warranties or conditions
   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
   PARTICULAR PURPOSE. You are solely responsible for determining the
   appropriateness of using or redistributing the Work and assume any
   risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
   whether in tort (including negligence), contract, or otherwise,
   unless required by applicable law (such as deliberate and grossly
   negligent acts) or agreed to in writing, shall any Contributor be
   liable to You for damages, including any direct, indirect, special,
   incidental, or consequential damages of any character arising as a
   result of this License or out of the use or inability to use the
   Work (including but not limited to damages for loss of goodwill,
   work stoppage, computer failure or malfunction, or any and all
   other commercial damages or losses), even if such Contributor
   has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
   the Work or Derivative Works thereof, You may choose to offer,
   and charge a fee for, acceptance of support, warranty, indemnity,
   or other liability obligations and/or rights consistent with this
   License. However, in accepting such obligations, You may act only
   on Your own behalf and on Your sole responsibility, not on behalf
   of any other Contributor, and only if You agree to indemnify,
   defend, and hold each Contributor harmless for any liability
   incurred by, or claims asserted against, such Contributor by reason
   of your accepting any such warranty or additional liability.

================================================
FILE: component/component.yaml
================================================
id: azure-mobile-services
version: 1.2.1
name: Azure Mobile Services
publisher: Microsoft
publisher-url: http://www.windowsazure.com/en-us/develop/mobile/
summary: Store data in the cloud, authenticate users, and send push notifications.
license: LICENSE.md
details: Details.md
getting-started: GettingStarted.md
icons:
  - azure-mobile-services_512x512.png
  - azure-mobile-services_128x128.png
libraries:
  ios: 
    - ..\..\bin\Signed\Release\Managed\iOS-Classic\Microsoft.WindowsAzure.Mobile.dll
    - ..\..\bin\Signed\Release\Managed\iOS-Classic\Microsoft.WindowsAzure.Mobile.Ext.dll    
    - ..\..\bin\Signed\Release\Managed\iOS-Classic\Newtonsoft.Json.dll    
    - ..\..\bin\Signed\Release\Managed\iOS-Classic\System.Net.Http.Extensions.dll
    - ..\..\bin\Signed\Release\Managed\iOS-Classic\System.Net.Http.Primitives.dll
  ios-unified: 
    - ..\..\bin\Signed\Release\Managed\iOS\Microsoft.WindowsAzure.Mobile.dll
    - ..\..\bin\Signed\Release\Managed\iOS\Microsoft.WindowsAzure.Mobile.Ext.dll    
    - ..\..\bin\Signed\Release\Managed\iOS\Newtonsoft.Json.dll    
    - ..\..\bin\Signed\Release\Managed\iOS\System.Net.Http.Extensions.dll
    - ..\..\bin\Signed\Release\Managed\iOS\System.Net.Http.Primitives.dll
  android:
    - ..\..\bin\Signed\Release\Managed\Android\Microsoft.WindowsAzure.Mobile.dll
    - ..\..\bin\Signed\Release\Managed\Android\Microsoft.WindowsAzure.Mobile.Ext.dll    
    - ..\..\bin\Signed\Release\Managed\Android\Newtonsoft.Json.dll
    - ..\..\bin\Signed\Release\Managed\Android\System.Net.Http.Extensions.dll
    - ..\..\bin\Signed\Release\Managed\Android\System.Net.Http.Primitives.dll
  mobile:
    - ..\..\bin\Signed\Release\Managed\Portable\Microsoft.WindowsAzure.Mobile.dll
    - ..\..\bin\Signed\Release\Managed\Portable\Newtonsoft.Json.dll
samples:
  - name: Android Sample
    path: samples\androidsample\androidsample.sln
  - name: iOS Unified API Sample
    path: samples\iOSsample\iOSsample.sln
screenshots:
  - screenshots/WAMS-New.PNG
  - screenshots/WAMS-SQLdb1.png
  - screenshots/WAMS-SQLdb2.png
  - screenshots/WAMS-userauth.png
  - screenshots/WAMS-push1.png
  - screenshots/WAMS-push2.png
  - screenshots/WAMS-Create.png
  - screenshots/WAMS-Script1.png
  - screenshots/WAMS-Script2.png
  - screenshots/WAMS-Scheduler2.png
  - screenshots/WAMS-Keys.png
  - screenshots/WAMS-EmptyData.png
  - screenshots/WAMS-DataPermissions.png


================================================
FILE: component/samples/androidsample/androidsample/Assets/AboutAssets.txt
================================================
Any raw assets you want to be deployed with your application can be placed in
this directory (and child directories) and given a Build Action of "AndroidAsset".

These files will be deployed with your package and will be accessible using Android's
AssetManager, like this:

public class ReadAsset : Activity
{
	protected override void OnCreate (Bundle bundle)
	{
		base.OnCreate (bundle);

		InputStream input = Assets.Open ("my_asset.txt");
	}
}

Additionally, some Android functions will automatically load asset files:

Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf");


================================================
FILE: component/samples/androidsample/androidsample/Properties/AndroidManifest.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="androidsample.androidsample">
	<uses-sdk android:minSdkVersion="8" />
	<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme"></application>
	<uses-permission android:name="android.permission.INTERNET" />
</manifest>

================================================
FILE: component/samples/androidsample/androidsample/Properties/AssemblyInfo.cs
================================================
using System.Reflection;
using System.Runtime.CompilerServices;
using Android.App;

// Information about this assembly is defined by the following attributes. 
// Change them to the values specific to your project.

[assembly: AssemblyTitle("androidsample")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("billholmes")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
// The form "{Major}.{Minor}.*" will automatically update the build and revision,
// and "{Major}.{Minor}.{Build}.*" will update just the revision.

[assembly: AssemblyVersion("1.0.0")]

// The following attributes are used to specify the signing key for the assembly, 
// if desired. See the Mono documentation for more information about signing.

//[assembly: AssemblyDelaySign(false)]
//[assembly: AssemblyKeyFile("")]



================================================
FILE: component/samples/androidsample/androidsample/Resources/AboutResources.txt
================================================
Images, layout descriptions, binary blobs and string dictionaries can be included 
in your application as resource files.  Various Android APIs are designed to 
operate on the resource IDs instead of dealing with images, strings or binary blobs 
directly.

For example, a sample Android app that contains a user interface layout (main.axml),
an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) 
would keep its resources in the "Resources" directory of the application:

Resources/
    drawable/
        icon.png

    layout/
        main.axml

    values/
        strings.xml

In order to get the build system to recognize Android resources, set the build action to
"AndroidResource".  The native Android APIs do not operate directly with filenames, but 
instead operate on resource IDs.  When you compile an Android application that uses resources, 
the build system will package the resources for distribution and generate a class called "R" 
(this is an Android convention) that contains the tokens for each one of the resources 
included. For example, for the above Resources layout, this is what the R class would expose:

public class R {
    public class drawable {
        public const int icon = 0x123;
    }

    public class layout {
        public const int main = 0x456;
    }

    public class strings {
        public const int first_string = 0xabc;
        public const int second_string = 0xbcd;
    }
}

You would then use R.drawable.icon to reference the drawable/icon.png file, or R.layout.main 
to reference the layout/main.axml file, or R.strings.first_string to reference the first 
string in the dictionary file values/strings.xml.


================================================
FILE: component/samples/androidsample/androidsample/Resources/Resource.designer.cs
================================================
#pragma warning disable 1591
//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.34011
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

[assembly: global::Android.Runtime.ResourceDesignerAttribute("androidsample.Resource", IsApplication=true)]

namespace androidsample
{
	
	
	[System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "1.0.0.0")]
	public partial class Resource
	{
		
		static Resource()
		{
			global::Android.Runtime.ResourceIdManager.UpdateIdValues();
		}
		
		public static void UpdateIdValues()
		{
		}
		
		public partial class Attribute
		{
			
			static Attribute()
			{
				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
			}
			
			private Attribute()
			{
			}
		}
		
		public partial class Drawable
		{
			
			// aapt resource value: 0x7f020000
			public const int ic_launcher = 2130837504;
			
			static Drawable()
			{
				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
			}
			
			private Drawable()
			{
			}
		}
		
		public partial class Id
		{
			
			// aapt resource value: 0x7f070000
			public const int LinearLayout1 = 2131165184;
			
			// aapt resource value: 0x7f070004
			public const int buttonAddToDo = 2131165188;
			
			// aapt resource value: 0x7f070006
			public const int checkToDoItem = 2131165190;
			
			// aapt resource value: 0x7f070005
			public const int listViewToDo = 2131165189;
			
			// aapt resource value: 0x7f070002
			public const int loadingProgressBar = 2131165186;
			
			// aapt resource value: 0x7f070007
			public const int menu_refresh = 2131165191;
			
			// aapt resource value: 0x7f070003
			public const int textNewToDo = 2131165187;
			
			// aapt resource value: 0x7f070001
			public const int textViewTitle = 2131165185;
			
			static Id()
			{
				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
			}
			
			private Id()
			{
			}
		}
		
		public partial class Layout
		{
			
			// aapt resource value: 0x7f030000
			public const int Activity_To_Do = 2130903040;
			
			// aapt resource value: 0x7f030001
			public const int Row_List_To_Do = 2130903041;
			
			static Layout()
			{
				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
			}
			
			private Layout()
			{
			}
		}
		
		public partial class Menu
		{
			
			// aapt resource value: 0x7f060000
			public const int activity_main = 2131099648;
			
			static Menu()
			{
				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
			}
			
			private Menu()
			{
			}
		}
		
		public partial class String
		{
			
			// aapt resource value: 0x7f040002
			public const int add_button_text = 2130968578;
			
			// aapt resource value: 0x7f040001
			public const int add_textbox_hint = 2130968577;
			
			// aapt resource value: 0x7f040000
			public const int app_name = 2130968576;
			
			// aapt resource value: 0x7f040005
			public const int checkbox_text = 2130968581;
			
			// aapt resource value: 0x7f040004
			public const int menu_refresh = 2130968580;
			
			// aapt resource value: 0x7f040003
			public const int mobile_services = 2130968579;
			
			static String()
			{
				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
			}
			
			private String()
			{
			}
		}
		
		public partial class Style
		{
			
			// aapt resource value: 0x7f050000
			public const int AppBaseTheme = 2131034112;
			
			// aapt resource value: 0x7f050001
			public const int AppTheme = 2131034113;
			
			static Style()
			{
				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
			}
			
			private Style()
			{
			}
		}
	}
}
#pragma warning restore 1591


================================================
FILE: component/samples/androidsample/androidsample/Resources/layout/Activity_To_Do.axml
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#71BCFA"
        android:padding="6dip">
        <TextView
            android:id="@+id/textViewTitle"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_marginLeft="2dp"
            android:layout_weight="0.12"
            android:text="@string/mobile_services"
            android:textAppearance="?android:attr/textAppearanceLarge" />
        <ProgressBar
            android:id="@+id/loadingProgressBar"
            android:layout_width="28dp"
            android:layout_height="28dp" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#71BCFA"
        android:padding="6dip">
        <EditText
            android:id="@+id/textNewToDo"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:ems="10"
            android:hint="@string/add_textbox_hint">
            <requestFocus />
        </EditText>
        <Button
            android:id="@+id/buttonAddToDo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="AddItem"
            android:text="@string/add_button_text" />
    </LinearLayout>
    <ListView
        android:id="@+id/listViewToDo"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        tools:listitem="@layout/row_list_to_do"
        android:padding="6dip" />
</LinearLayout>

================================================
FILE: component/samples/androidsample/androidsample/Resources/layout/Row_List_To_Do.axml
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">
    
    <CheckBox
        android:id="@+id/checkToDoItem"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/checkbox_text" />

</LinearLayout>

================================================
FILE: component/samples/androidsample/androidsample/Resources/menu/activity_main.xml
================================================
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item android:id="@+id/menu_refresh" android:orderInCategory="101" android:showAsAction="always" android:title="@string/menu_refresh"></item>

</menu>

================================================
FILE: component/samples/androidsample/androidsample/Resources/values/Strings.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<resources>
	<string name="app_name">androidsample</string>
    <string name="add_textbox_hint">Add a ToDo item</string>
    <string name="add_button_text">Add</string>
    <string name="mobile_services">Mobile Services </string>
    <string name="menu_refresh">Refresh</string>
    <string name="checkbox_text">Item Text</string>
</resources>


================================================
FILE: component/samples/androidsample/androidsample/Resources/values/styles.xml
================================================
<resources>

    <!--
        Base application theme, dependent on API level. This theme is replaced
        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
    -->
    <style name="AppBaseTheme" parent="android:Theme.Light">
        <!--
            Theme customizations available in newer API levels can go in
            res/values-vXX/styles.xml, while customizations related to
            backward-compatibility can go here.
        -->
    </style>

    <!-- Application theme. -->
    <style name="AppTheme" parent="AppBaseTheme">
        <!-- All customizations that are NOT specific to a particular API-level can go here. -->
    </style>

</resources>

================================================
FILE: component/samples/androidsample/androidsample/Resources/values-v11/styles.xml
================================================
<resources>

    <!--
        Base application theme for API 11+. This theme completely replaces
        AppBaseTheme from res/values/styles.xml on API 11+ devices.
    -->
    <style name="AppBaseTheme" parent="android:Theme.Holo.Light">
        <!-- API 11 theme customizations can go here. -->
    </style>

</resources>

================================================
FILE: component/samples/androidsample/androidsample/Resources/values-v14/styles.xml
================================================
<resources>

    <!--
        Base application theme for API 14+. This theme completely replaces
        AppBaseTheme from BOTH res/values/styles.xml and
        res/values-v11/styles.xml on API 14+ devices.
    -->
    <style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
        <!-- API 14 theme customizations can go here. -->
    </style>

</resources>

================================================
FILE: component/samples/androidsample/androidsample/ToDoActivity.cs
================================================
using System;
using Android.OS;
using Android.App;
using Android.Views;
using Android.Widget;
using System.Net.Http;
using System.Threading.Tasks;
using Microsoft.WindowsAzure.MobileServices;


namespace androidsample
{
	[Activity (MainLauncher = true, 
	           Icon="@drawable/ic_launcher", Label="@string/app_name",
	           Theme="@style/AppTheme")]
	public class ToDoActivity : Activity
	{
		//Mobile Service Client reference
		private MobileServiceClient client;

		//Mobile Service Table used to access data
		private IMobileServiceTable<ToDoItem> toDoTable;

		//Adapter to sync the items list with the view
		private ToDoItemAdapter adapter;

		//EditText containing the "New ToDo" text
		private EditText textNewToDo;

		//Progress spinner to use for table operations
		private ProgressBar progressBar;

        const string applicationURL = @"MOBILE SERVICE URL";
		const string applicationKey = @"APPLICATION KEY";

		protected override async void OnCreate (Bundle bundle)
		{
			base.OnCreate (bundle);

			// Set our view from the "main" layout resource
			SetContentView (Resource.Layout.Activity_To_Do);

			progressBar = FindViewById<ProgressBar> (Resource.Id.loadingProgressBar);

			// Initialize the progress bar
			progressBar.Visibility = ViewStates.Gone;

			// Create ProgressFilter to handle busy state
			var progressHandler = new ProgressHandler ();
			progressHandler.BusyStateChange += (busy) => {
				if (progressBar != null) 
					progressBar.Visibility = busy ? ViewStates.Visible : ViewStates.Gone;
			};

			try {
				CurrentPlatform.Init ();

				// Create the Mobile Service Client instance, using the provided
				// Mobile Service URL and key
				client = new MobileServiceClient (
					applicationURL,
					applicationKey, progressHandler);

				// Get the Mobile Service Table instance to use
				toDoTable = client.GetTable <ToDoItem> ();

				textNewToDo = FindViewById<EditText> (Resource.Id.textNewToDo);

				// Create an adapter to bind the items with the view
				adapter = new ToDoItemAdapter (this, Resource.Layout.Row_List_To_Do);
				var listViewToDo = FindViewById<ListView> (Resource.Id.listViewToDo);
				listViewToDo.Adapter = adapter;

				// Load the items from the Mobile Service
				await RefreshItemsFromTableAsync ();

			} catch (Java.Net.MalformedURLException) {
				CreateAndShowDialog (new Exception ("There was an error creating the Mobile Service. Verify the URL"), "Error");
			} catch (Exception e) {
				CreateAndShowDialog (e, "Error");
			}
		}

		//Initializes the activity menu
		public override bool OnCreateOptionsMenu (IMenu menu)
		{
			MenuInflater.Inflate (Resource.Menu.activity_main, menu);
			return true;
		}

		//Select an option from the menu
		public override bool OnOptionsItemSelected (IMenuItem item)
		{
			if (item.ItemId == Resource.Id.menu_refresh) {
				OnRefreshItemsSelected ();
			}
			return true;
		}

		// Called when the refresh menu opion is selected
		async void OnRefreshItemsSelected ()
		{
			await RefreshItemsFromTableAsync ();
		}

		//Refresh the list with the items in the Mobile Service Table
		async Task RefreshItemsFromTableAsync ()
		{
			try {
				// Get the items that weren't marked as completed and add them in the
				// adapter
				var list = await toDoTable.Where (item => item.Complete == false).ToListAsync ();

				adapter.Clear ();

				foreach (ToDoItem current in list)
					adapter.Add (current);

			} catch (Exception e) {
				CreateAndShowDialog (e, "Error");
			}
		}

		public async Task CheckItem (ToDoItem item)
		{
			if (client == null) {
				return;
			}

			// Set the item as completed and update it in the table
			item.Complete = true;
			try {
				await toDoTable.UpdateAsync (item);
				if (item.Complete)
					adapter.Remove (item);

			} catch (Exception e) {
				CreateAndShowDialog (e, "Error");
			}
		}

		[Java.Interop.Export()]
		public async void AddItem (View view)
		{
			if (client == null || string.IsNullOrWhiteSpace (textNewToDo.Text)) {
				return;
			}

			// Create a new item
			var item = new ToDoItem {
				Text = textNewToDo.Text,
				Complete = false
			};

			try {
				// Insert the new item
				await toDoTable.InsertAsync (item);

				if (!item.Complete) {
					adapter.Add (item);
				}
			} catch (Exception e) {
				CreateAndShowDialog (e, "Error");
			}

			textNewToDo.Text = "";
		}

		void CreateAndShowDialog (Exception exception, String title)
		{
			CreateAndShowDialog (exception.Message, title);
		}

		void CreateAndShowDialog (string message, string title)
		{
			AlertDialog.Builder builder = new AlertDialog.Builder (this);

			builder.SetMessage (message);
			builder.SetTitle (title);
			builder.Create ().Show ();
		}

		class ProgressHandler : DelegatingHandler
		{
			int busyCount = 0;

			public event Action<bool> BusyStateChange;

			#region implemented abstract members of HttpMessageHandler

			protected override async Task<HttpResponseMessage> SendAsync (HttpRequestMessage request, System.Threading.CancellationToken cancellationToken)
			{
				 //assumes always executes on UI thread
				if (busyCount++ == 0 && BusyStateChange != null)
					BusyStateChange (true);

				var response = await base.SendAsync (request, cancellationToken);

				// assumes always executes on UI thread
				if (--busyCount == 0 && BusyStateChange != null)
					BusyStateChange (false);

				return response;
			}

			#endregion

		}
	}
}




================================================
FILE: component/samples/androidsample/androidsample/ToDoItem.cs
================================================
using System;
using Newtonsoft.Json;

namespace androidsample
{
	public class ToDoItem
	{
		public string Id { get; set; }

		[JsonProperty(PropertyName = "text")]
		public string Text { get; set; }

		[JsonProperty(PropertyName = "complete")]
		public bool Complete { get; set; }
	}

	public class ToDoItemWrapper : Java.Lang.Object
	{
		public ToDoItemWrapper (ToDoItem item)
		{
			ToDoItem = item;
		}

		public ToDoItem ToDoItem { get; private set; }
	}
}



================================================
FILE: component/samples/androidsample/androidsample/ToDoItemAdapter.cs
================================================
using System;
using Android.App;
using Android.Views;
using Android.Widget;
using System.Collections.Generic;

namespace androidsample
{
	public class ToDoItemAdapter : BaseAdapter<ToDoItem>
	{
		Activity activity;
		int layoutResourceId;
		List<ToDoItem> items = new List<ToDoItem> ();

		public ToDoItemAdapter (Activity activity, int layoutResourceId)
		{
			this.activity = activity;
			this.layoutResourceId = layoutResourceId;
		}

		//Returns the view for a specific item on the list
		public override View GetView (int position, Android.Views.View convertView, Android.Views.ViewGroup parent)
		{
			var row = convertView;
			var currentItem = this [position];
			CheckBox checkBox;

			if (row == null) {
				var inflater = activity.LayoutInflater;
				row = inflater.Inflate (layoutResourceId, parent, false);

				checkBox = row.FindViewById <CheckBox> (Resource.Id.checkToDoItem);

				checkBox.CheckedChange += async (sender, e) => {
					var cbSender = sender as CheckBox;
					if (cbSender != null && cbSender.Tag is ToDoItemWrapper && cbSender.Checked) {
						cbSender.Enabled = false;
						if (activity is ToDoActivity)
							await ((ToDoActivity)activity).CheckItem ((cbSender.Tag as ToDoItemWrapper).ToDoItem);
					}
				};
			} else
				checkBox = row.FindViewById <CheckBox> (Resource.Id.checkToDoItem);

			checkBox.Text = currentItem.Text;
			checkBox.Checked = false;
			checkBox.Enabled = true;
			checkBox.Tag = new ToDoItemWrapper (currentItem);

			return row;
		}

		public void Add (ToDoItem item)
		{
			items.Add (item);
			NotifyDataSetChanged ();
		}

		public void Clear ()
		{
			items.Clear ();
			NotifyDataSetChanged ();
		}

		public void Remove (ToDoItem item)
		{
			items.Remove (item);
			NotifyDataSetChanged ();
		}

		#region implemented abstract members of BaseAdapter

		public override long GetItemId (int position)
		{
			return position;
		}

		public override int Count {
			get {
				return items.Count;
			}
		}

		public override ToDoItem this [int position] {
			get {
				return items [position];
			}
		}

		#endregion
	}
}



================================================
FILE: component/samples/androidsample/androidsample/androidsample.csproj
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProductVersion>10.0.0</ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{8E1FCCF4-1FA7-4C23-86B0-19C78B155AA3}</ProjectGuid>
    <ProjectTypeGuids>{EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
    <OutputType>Library</OutputType>
    <RootNamespace>androidsample</RootNamespace>
    <AndroidApplication>True</AndroidApplication>
    <AndroidResgenFile>Resources\Resource.designer.cs</AndroidResgenFile>
    <AndroidResgenClass>Resource</AndroidResgenClass>
    <MonoAndroidResourcePrefix>Resources</MonoAndroidResourcePrefix>
    <MonoAndroidAssetsPrefix>Assets</MonoAndroidAssetsPrefix>
    <AssemblyName>androidsample</AssemblyName>
    <AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest>
    <AndroidUseLatestPlatformSdk>true</AndroidUseLatestPlatformSdk>
    <TargetFrameworkVersion>
    </TargetFrameworkVersion>
    <AndroidSupportedAbis>armeabi,armeabi-v7a,x86</AndroidSupportedAbis>
    <AndroidStoreUncompressedFileExtensions />
    <MandroidI18n />
    <JavaMaximumHeapSize />
    <JavaOptions />
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\Debug</OutputPath>
    <DefineConstants>DEBUG;</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <AndroidLinkMode>None</AndroidLinkMode>
    <ConsolePause>false</ConsolePause>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>full</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release</OutputPath>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <AndroidUseSharedRuntime>false</AndroidUseSharedRuntime>
    <ConsolePause>false</ConsolePause>
    <AndroidSupportedAbis>armeabi,armeabi-v7a</AndroidSupportedAbis>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="Microsoft.WindowsAzure.Mobile, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>..\..\..\lib\android\Microsoft.WindowsAzure.Mobile.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.WindowsAzure.Mobile.Ext, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>..\..\..\lib\android\Microsoft.WindowsAzure.Mobile.Ext.dll</HintPath>
    </Reference>
    <Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>..\..\..\lib\android\Newtonsoft.Json.dll</HintPath>
    </Reference>
    <Reference Include="System" />
    <Reference Include="System.Net.Http" />
    <Reference Include="System.Net.Http.Extensions, Version=2.2.15.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>..\..\..\lib\android\System.Net.Http.Extensions.dll</HintPath>
    </Reference>
    <Reference Include="System.Net.Http.Primitives, Version=4.2.15.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>..\..\..\lib\android\System.Net.Http.Primitives.dll</HintPath>
    </Reference>
    <Reference Include="System.Runtime.Serialization" />
    <Reference Include="System.Xml" />
    <Reference Include="System.Core" />
    <Reference Include="Mono.Android" />
    <Reference Include="Mono.Android.Export" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="Resources\Resource.designer.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
    <Compile Include="ToDoActivity.cs" />
    <Compile Include="ToDoItem.cs" />
    <Compile Include="ToDoItemAdapter.cs" />
  </ItemGroup>
  <ItemGroup>
    <None Include="app.config" />
    <None Include="Resources\AboutResources.txt" />
    <None Include="Assets\AboutAssets.txt" />
    <None Include="Properties\AndroidManifest.xml" />
  </ItemGroup>
  <ItemGroup>
    <AndroidResource Include="Resources\values\Strings.xml" />
    <AndroidResource Include="Resources\layout\Activity_To_Do.axml" />
    <AndroidResource Include="Resources\layout\Row_List_To_Do.axml" />
    <AndroidResource Include="Resources\values\styles.xml" />
    <AndroidResource Include="Resources\drawable-ldpi\ic_launcher.png" />
    <AndroidResource Include="Resources\drawable-mdpi\ic_launcher.png" />
    <AndroidResource Include="Resources\drawable-xhdpi\ic_launcher.png" />
    <AndroidResource Include="Resources\drawable-hdpi\ic_launcher.png" />
    <AndroidResource Include="Resources\menu\activity_main.xml" />
    <AndroidResource Include="Resources\values-v11\styles.xml" />
    <AndroidResource Include="Resources\values-v14\styles.xml" />
  </ItemGroup>
  <Import Project="$(MSBuildExtensionsPath)\Novell\Novell.MonoDroid.CSharp.targets" />
  <ItemGroup>
    <Folder Include="Resources\drawable\" />
  </ItemGroup>
</Project>

================================================
FILE: component/samples/androidsample/androidsample/app.config
================================================
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="2.5.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

================================================
FILE: component/samples/androidsample/androidsample.sln
================================================

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "androidsample", "androidsample\androidsample.csproj", "{8E1FCCF4-1FA7-4C23-86B0-19C78B155AA3}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|Any CPU = Debug|Any CPU
		Release|Any CPU = Release|Any CPU
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{8E1FCCF4-1FA7-4C23-86B0-19C78B155AA3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
		{8E1FCCF4-1FA7-4C23-86B0-19C78B155AA3}.Debug|Any CPU.Build.0 = Debug|Any CPU
		{8E1FCCF4-1FA7-4C23-86B0-19C78B155AA3}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
		{8E1FCCF4-1FA7-4C23-86B0-19C78B155AA3}.Release|Any CPU.ActiveCfg = Release|Any CPU
		{8E1FCCF4-1FA7-4C23-86B0-19C78B155AA3}.Release|Any CPU.Build.0 = Release|Any CPU
		{8E1FCCF4-1FA7-4C23-86B0-19C78B155AA3}.Release|Any CPU.Deploy.0 = Release|Any CPU
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
	GlobalSection(MonoDevelopProperties) = preSolution
		StartupItem = androidsample\androidsample.csproj
	EndGlobalSection
EndGlobal


================================================
FILE: component/samples/iOSsample/iOSsample/AppDelegate.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using Foundation;
using UIKit;

namespace iOSsample
{
	// The UIApplicationDelegate for the application. This class is responsible for launching the 
	// User Interface of the application, as well as listening (and optionally responding) to 
	// application events from iOS.
	[Foundation.Register("AppDelegate")]
	public partial class AppDelegate : UIApplicationDelegate
	{
		// class-level declarations
		public override UIWindow Window {get; set;}
	}
}



================================================
FILE: component/samples/iOSsample/iOSsample/Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>UIDeviceFamily</key>
	<array>
		<integer>1</integer>
		<integer>2</integer>
	</array>
	<key>UISupportedInterfaceOrientations</key>
	<array>
		<string>UIInterfaceOrientationPortrait</string>
		<string>UIInterfaceOrientationLandscapeLeft</string>
		<string>UIInterfaceOrientationLandscapeRight</string>
	</array>
	<key>UISupportedInterfaceOrientations~ipad</key>
	<array>
		<string>UIInterfaceOrientationPortrait</string>
	</array>
	<key>UIMainStoryboardFile</key>
	<string>MainStoryboard_iPhone</string>
	<key>UIMainStoryboardFile~ipad</key>
	<string>MainStoryboard_iPad</string>
	<key>MinimumOSVersion</key>
	<string>7.0</string>
	<key>CFBundleIconFiles</key>
	<array>
		<string>Icon.png</string>
		<string>Icon@2x.png</string>
		<string>Icon-72.png</string>
		<string>Icon-72@2x.png</string>
		<string>Default.png</string>
		<string>Default@2x.png</string>
		<string>Default-568h@2x.png</string>
		<string>Default-Landscape.png</string>
		<string>Default-Landscape@2x.png</string>
		<string>Default-Portrait.png</string>
		<string>Default-Portrait@2x.png</string>
	</array>
	<key>CFBundleDisplayName</key>
	<string>iOSsample</string>
	<key>CFBundleIdentifier</key>
	<string>net.azure-mobile.iOSsample</string>
	<key>CFBundleVersion</key>
	<string>1.0</string>
	<key>NSMainNibFile</key>
	<string></string>
	<key>NSMainNibFile~ipad</key>
	<string></string>
</dict>
</plist>


================================================
FILE: component/samples/iOSsample/iOSsample/Main.cs
================================================
using System;
using System.Collections.Generic;
using System.Linq;
using Foundation;
using UIKit;

namespace iOSsample
{
	public class Application
	{
		// This is the main entry point of the application.
		static void Main (string[] args)
		{
			// if you want to use a different Application Delegate class from "AppDelegate"
			// you can specify it here.
			UIApplication.Main (args, null, "AppDelegate");
		}
	}
}


================================================
FILE: component/samples/iOSsample/iOSsample/MainStoryboard_iPad.storyboard
================================================
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="4510" systemVersion="12F45" targetRuntime="iOS.CocoaTouch.iPad" propertyAccessControl="none" initialViewController="551-os-lVi">
    <dependencies>
        <deployment version="1280" identifier="iOS"/>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3742"/>
    </dependencies>
    <scenes>
        <!--Todo List View Controller-->
        <scene sceneID="OmJ-hW-MIu">
            <objects>
                <tableViewController id="551-os-lVi" customClass="QSTodoListViewController" sceneMemberID="viewController">
                    <tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" allowsSelection="NO" showsSelectionImmediatelyOnTouchBegin="NO" rowHeight="95" sectionHeaderHeight="22" sectionFooterHeight="22" id="xrR-li-BWs">
                        <rect key="frame" x="0.0" y="0.0" width="768" height="1024"/>
                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                        <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                        <view key="tableHeaderView" contentMode="scaleToFill" id="qBK-sY-jQV">
                            <rect key="frame" x="0.0" y="0.0" width="768" height="142"/>
                            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                            <subviews>
                                <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Enter text to create a new item" minimumFontSize="17" clearButtonMode="always" id="ALC-rm-TZz">
                                    <rect key="frame" x="20" y="92" width="604" height="30"/>
                                    <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
                                    <inset key="insetFor6xAndEarlier" minX="0.0" minY="18" maxX="0.0" maxY="-18"/>
                                    <fontDescription key="fontDescription" type="system" pointSize="14"/>
                                    <textInputTraits key="textInputTraits" autocapitalizationType="sentences" returnKeyType="done"/>
                                    <connections>
                                        <outlet property="delegate" destination="551-os-lVi" id="Akp-2J-66j"/>
                                    </connections>
                                </textField>
                                <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="ltD-J6-53a">
                                    <rect key="frame" x="632" y="92" width="116" height="31"/>
                                    <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
                                    <inset key="insetFor6xAndEarlier" minX="0.0" minY="18" maxX="0.0" maxY="-18"/>
                                    <state key="normal" title="add item">
                                        <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
                                    </state>
                                    <connections>
                                        <action selector="OnAdd:" destination="551-os-lVi" eventType="touchUpInside" id="Kom-et-hWR"/>
                                    </connections>
                                </button>
                                <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="MICROSOFT AZURE" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="1cc-xK-Rin">
                                    <rect key="frame" x="20" y="38" width="190" height="21"/>
                                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                    <inset key="insetFor6xAndEarlier" minX="0.0" minY="18" maxX="0.0" maxY="-18"/>
                                    <fontDescription key="fontDescription" name="Helvetica-Light" family="Helvetica" pointSize="15"/>
                                    <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                    <nil key="highlightedColor"/>
                                </label>
                                <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="MOBILE SERVICES" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="dTJ-Ul-k3q">
                                    <rect key="frame" x="20" y="61" width="216" height="21"/>
                                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                    <inset key="insetFor6xAndEarlier" minX="0.0" minY="18" maxX="0.0" maxY="-18"/>
                                    <fontDescription key="fontDescription" name="Helvetica-Light" family="Helvetica" pointSize="22"/>
                                    <color key="textColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/>
                                    <nil key="highlightedColor"/>
                                </label>
                                <activityIndicatorView hidden="YES" opaque="NO" contentMode="scaleToFill" hidesWhenStopped="YES" style="whiteLarge" id="fIF-wW-bwk">
                                    <rect key="frame" x="711" y="30" width="37" height="37"/>
                                    <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
                                    <inset key="insetFor6xAndEarlier" minX="0.0" minY="18" maxX="0.0" maxY="-18"/>
                                </activityIndicatorView>
                            </subviews>
                            <color key="backgroundColor" red="0.29069221090000003" green="0.69721934539999997" blue="1" alpha="1" colorSpace="calibratedRGB"/>
                            <inset key="insetFor6xAndEarlier" minX="0.0" minY="0.0" maxX="0.0" maxY="-18"/>
                        </view>
                        <prototypes>
                            <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="Cell" rowHeight="95" id="Xjk-I7-Xkr">
                                <rect key="frame" x="0.0" y="164" width="768" height="95"/>
                                <autoresizingMask key="autoresizingMask"/>
                                <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="Xjk-I7-Xkr" id="Flm-V9-LDa">
                                    <rect key="frame" x="0.0" y="0.0" width="768" height="94"/>
                                    <autoresizingMask key="autoresizingMask"/>
                                    <subviews>
                                        <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" tag="1" contentMode="left" text="Label" lineBreakMode="wordWrap" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="Ev4-LY-G6R">
                                            <rect key="frame" x="20" y="12" width="728" height="70"/>
                                            <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
                                            <fontDescription key="fontDescription" name="Helvetica-Light" family="Helvetica" pointSize="23"/>
                                            <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
                                            <color key="highlightedColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                        </label>
                                    </subviews>
                                </tableViewCellContentView>
                            </tableViewCell>
                        </prototypes>
                        <connections>
                            <outlet property="dataSource" destination="551-os-lVi" id="x7a-n5-jA7"/>
                            <outlet property="delegate" destination="551-os-lVi" id="2cX-8J-yDT"/>
                        </connections>
                    </tableView>
                    <connections>
                        <outlet property="activityIndicator" destination="fIF-wW-bwk" id="USI-OS-I5E"/>
                        <outlet property="itemText" destination="ALC-rm-TZz" id="Ked-U0-enb"/>
                    </connections>
                </tableViewController>
                <placeholder placeholderIdentifier="IBFirstResponder" id="KZM-yb-nnR" userLabel="First Responder" sceneMemberID="firstResponder"/>
            </objects>
            <point key="canvasLocation" x="-389" y="-201"/>
        </scene>
    </scenes>
    <simulatedMetricsContainer key="defaultSimulatedMetrics">
        <simulatedStatusBarMetrics key="statusBar"/>
        <simulatedOrientationMetrics key="orientation"/>
        <simulatedScreenMetrics key="destination"/>
    </simulatedMetricsContainer>
</document>

================================================
FILE: component/samples/iOSsample/iOSsample/MainStoryboard_iPhone.storyboard
================================================
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="4510" systemVersion="12F45" targetRuntime="iOS.CocoaTouch" variant="6xAndEarlier" propertyAccessControl="none" initialViewController="PsD-7a-zsW">
    <dependencies>
        <deployment version="1296" identifier="iOS"/>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3742"/>
    </dependencies>
    <scenes>
        <!--Todo List View Controller-->
        <scene sceneID="cCY-SB-wT5">
            <objects>
                <tableViewController id="PsD-7a-zsW" customClass="QSTodoListViewController" sceneMemberID="viewController">
                    <tableView key="view" opaque="NO" clipsSubviews="YES" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="50" sectionHeaderHeight="22" sectionFooterHeight="22" id="lJ7-Ej-a4P">
                        <rect key="frame" x="0.0" y="20" width="320" height="460"/>
                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                        <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                        <view key="tableHeaderView" contentMode="scaleToFill" id="Zzr-0r-JZE">
                            <rect key="frame" x="0.0" y="0.0" width="320" height="114"/>
                            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                            <subviews>
                                <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="MICROSOFT AZURE" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="MOv-Tv-Dw1">
                                    <rect key="frame" x="21" y="11" width="245" height="21"/>
                                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                    <inset key="insetFor6xAndEarlier" minX="0.0" minY="18" maxX="0.0" maxY="-18"/>
                                    <fontDescription key="fontDescription" name="Helvetica-Light" family="Helvetica" pointSize="11"/>
                                    <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                    <nil key="highlightedColor"/>
                                </label>
                                <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" text="MOBILE SERVICES" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="kaZ-ps-3HH">
                                    <rect key="frame" x="20" y="29" width="245" height="23"/>
                                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                    <inset key="insetFor6xAndEarlier" minX="0.0" minY="18" maxX="0.0" maxY="-18"/>
                                    <fontDescription key="fontDescription" name="Helvetica-Light" family="Helvetica" pointSize="16"/>
                                    <color key="textColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/>
                                    <nil key="highlightedColor"/>
                                </label>
                                <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Enter text to create a new item" minimumFontSize="17" clearButtonMode="always" id="nO8-cY-LyE">
                                    <rect key="frame" x="20" y="61" width="239" height="30"/>
                                    <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
                                    <inset key="insetFor6xAndEarlier" minX="0.0" minY="18" maxX="0.0" maxY="-18"/>
                                    <fontDescription key="fontDescription" name="Helvetica-Light" family="Helvetica" pointSize="14"/>
                                    <textInputTraits key="textInputTraits" autocapitalizationType="sentences" returnKeyType="done"/>
                                    <connections>
                                        <outlet property="delegate" destination="PsD-7a-zsW" id="F5p-Ky-maM"/>
                                    </connections>
                                </textField>
                                <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" id="yMs-Fo-DAR">
                                    <rect key="frame" x="267" y="60" width="33" height="31"/>
                                    <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
                                    <inset key="insetFor6xAndEarlier" minX="0.0" minY="18" maxX="0.0" maxY="-18"/>
                                    <state key="normal" title="+">
                                        <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
                                    </state>
                                    <connections>
                                        <action selector="OnAdd:" destination="PsD-7a-zsW" eventType="touchUpInside" id="ca9-fm-Ukn"/>
                                    </connections>
                                </button>
                                <activityIndicatorView hidden="YES" opaque="NO" contentMode="scaleToFill" hidesWhenStopped="YES" style="whiteLarge" id="oKL-Dt-wFv">
                                    <rect key="frame" x="263" y="11" width="37" height="37"/>
                                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                    <inset key="insetFor6xAndEarlier" minX="0.0" minY="18" maxX="0.0" maxY="-18"/>
                                </activityIndicatorView>
                            </subviews>
                            <color key="backgroundColor" red="0.35138999355116407" green="0.72893445696778558" blue="1" alpha="1" colorSpace="calibratedRGB"/>
                            <inset key="insetFor6xAndEarlier" minX="0.0" minY="0.0" maxX="0.0" maxY="-18"/>
                        </view>
                        <prototypes>
                            <tableViewCell contentMode="scaleToFill" selectionStyle="none" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="Cell" id="kgS-w8-LCj">
                                <rect key="frame" x="0.0" y="136" width="320" height="50"/>
                                <autoresizingMask key="autoresizingMask"/>
                                <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="kgS-w8-LCj" id="3QP-vz-80h">
                                    <rect key="frame" x="0.0" y="0.0" width="320" height="49"/>
                                    <autoresizingMask key="autoresizingMask"/>
                                    <subviews>
                                        <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" tag="1" contentMode="TopLeft" text="Label" lineBreakMode="wordWrap" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="v25-fG-XJA">
                                            <rect key="frame" x="20" y="3" width="280" height="43"/>
                                            <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
                                            <fontDescription key="fontDescription" name="Helvetica-Light" family="Helvetica" pointSize="17"/>
                                            <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
                                            <color key="highlightedColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                        </label>
                                    </subviews>
                                </tableViewCellContentView>
                            </tableViewCell>
                        </prototypes>
                        <connections>
                            <outlet property="dataSource" destination="PsD-7a-zsW" id="1kc-wy-iWs"/>
                            <outlet property="delegate" destination="PsD-7a-zsW" id="32f-Tu-X3C"/>
                        </connections>
                    </tableView>
                    <toolbarItems/>
                    <connections>
                        <outlet property="activityIndicator" destination="oKL-Dt-wFv" id="9no-GR-SBX"/>
                        <outlet property="itemText" destination="nO8-cY-LyE" id="hXs-U6-qt6"/>
                    </connections>
                </tableViewController>
                <placeholder placeholderIdentifier="IBFirstResponder" id="rQM-X1-JbL" userLabel="First Responder" sceneMemberID="firstResponder"/>
            </objects>
            <point key="canvasLocation" x="162" y="64"/>
        </scene>
    </scenes>
    <simulatedMetricsContainer key="defaultSimulatedMetrics">
        <simulatedStatusBarMetrics key="statusBar"/>
        <simulatedOrientationMetrics key="orientation"/>
        <simulatedScreenMetrics key="destination"/>
    </simulatedMetricsContainer>
</document>

================================================
FILE: component/samples/iOSsample/iOSsample/QSTodoListViewController.cs
================================================
// This file has been autogenerated from parsing an Objective-C header file added in Xcode.
using System;
using UIKit;
using Foundation;
using System.Threading.Tasks;

namespace iOSsample
{
	public partial class QSTodoListViewController : UITableViewController
	{

		QSTodoService todoService;
		bool useRefreshControl = false;

		public QSTodoListViewController (IntPtr handle) : base (handle)
		{
		}

		public override async void ViewDidLoad ()
		{
			base.ViewDidLoad ();

			try
			{
				todoService = new QSTodoService();
			}
			catch (UriFormatException)
			{
				var alert = new UIAlertView("Error", "Please make sure you update the applicationURL and applicationKey to match the mobile service you have created.", null, "OK");
				alert.Show();
				return;		        
			}

			todoService.BusyUpdate += (bool busy) => {
				if (busy)
					activityIndicator.StartAnimating ();
				else 
					activityIndicator.StopAnimating ();
			};

			await RefreshAsync ();

			AddRefreshControl ();
		}

		async Task RefreshAsync ()
		{
			// only activate the refresh control if the feature is available
			if (useRefreshControl)
				RefreshControl.BeginRefreshing ();

			await todoService.RefreshDataAsync ();

			if (useRefreshControl) 
				RefreshControl.EndRefreshing ();

			TableView.ReloadData ();
		}

		#region UITableView methods
		public override nint RowsInSection (UITableView tableview, nint section)
		{
			if (todoService == null || todoService.Items == null)
				return 0;

			return todoService.Items.Count;
		}

		public override nint NumberOfSections (UITableView tableView)
		{
			return 1;
		}

		public override UITableViewCell GetCell (UITableView tableView, NSIndexPath indexPath)
		{
			const string CellIdentifier = @"Cell";
			var cell = tableView.DequeueReusableCell (CellIdentifier);
			if (cell == null) {
				cell = new UITableViewCell (UITableViewCellStyle.Default, CellIdentifier);
			}

			// Set the label on the cell and make sure the label color is black (in case this cell
			// has been reused and was previously greyed out
			var label = (UILabel)cell.ViewWithTag ((nint)1);
			label.TextColor = UIColor.Black;
			label.Text = todoService.Items [indexPath.Row].Text;

			return cell;
		}

		public override string TitleForDeleteConfirmation (UITableView tableView, NSIndexPath indexPath)
		{
			// Customize the Delete button to say "complete"
			return @"complete";
		}

		public override UITableViewCellEditingStyle EditingStyleForRow (UITableView tableView, NSIndexPath indexPath)
		{
			// Find the item that is about to be edited
			var item = todoService.Items [indexPath.Row];

			// If the item is complete, then this is just pending upload. Editing is not allowed
			if (item.Complete)
				return UITableViewCellEditingStyle.None;

			// Otherwise, allow the delete button to appear
			return UITableViewCellEditingStyle.Delete;
		}

		async public override void CommitEditingStyle (UITableView tableView, UITableViewCellEditingStyle editingStyle, NSIndexPath indexPath)
		{
			// Find item that was commited for editing (completed)
			var item = todoService.Items [indexPath.Row];

			// Change the appearance to look greyed out until we remove the item
			var label = (UILabel)TableView.CellAt (indexPath).ViewWithTag (1);
			label.TextColor = UIColor.Gray;

			// Ask the todoService to set the item's complete value to YES, and remove the row if successful
			await todoService.CompleteItemAsync (item);

			// Remove the row from the UITableView
			tableView.DeleteRows (new [] { indexPath }, UITableViewRowAnimation.Top);
		}

		#endregion

		#region UI Actions
		async partial void OnAdd (NSObject sender)
		{
			if (string.IsNullOrWhiteSpace (itemText.Text))
				return;

			var newItem = new ToDoItem {
				Text = itemText.Text, 
				Complete = false
			};

			await todoService.InsertTodoItemAsync (newItem);

			var index = todoService.Items.FindIndex (item => item.Id == newItem.Id);

			TableView.InsertRows (new [] { NSIndexPath.FromItemSection (index, 0) },
			UITableViewRowAnimation.Top);

			itemText.Text = "";
		}

		#endregion

		#region UITextFieldDelegate methods
		[Foundation.Export("textFieldShouldReturn:")]
		public virtual bool ShouldReturn (UITextField textField)
		{
			textField.ResignFirstResponder ();
			return true;
		}
		#endregion

		#region * iOS Specific Code
		// This method will add the UIRefreshControl to the table view if
		// it is available, ie, we are running on iOS 6+
		void AddRefreshControl ()
		{
			if (UIDevice.CurrentDevice.CheckSystemVersion (6, 0)) {
				// the refresh control is available, let's add it
				RefreshControl = new UIRefreshControl ();
				RefreshControl.ValueChanged += async (sender, e) => {
					await RefreshAsync ();
				};
				useRefreshControl = true;
			}
		}
		#endregion
	}
}


================================================
FILE: component/samples/iOSsample/iOSsample/QSTodoListViewController.designer.cs
================================================
// WARNING
//
// This file has been generated automatically by Xamarin Studio to store outlets and
// actions made in the Xcode designer. If it is removed, they will be lost.
// Manual changes to this file may not be handled correctly.
//
using Foundation;

namespace iOSsample
{
	[Foundation.Register("QSTodoListViewController")]
	partial class QSTodoListViewController
	{
		[Foundation.Outlet]
		UIKit.UIActivityIndicatorView activityIndicator { get; set; }

		[Foundation.Outlet]
		UIKit.UITextField itemText { get; set; }

		[Foundation.Action("OnAdd:")]
		partial void OnAdd (Foundation.NSObject sender);
		
		void ReleaseDesignerOutlets ()
		{
			if (itemText != null) {
				itemText.Dispose ();
				itemText = null;
			}

			if (activityIndicator != null) {
				activityIndicator.Dispose ();
				activityIndicator = null;
			}
		}
	}
}


================================================
FILE: component/samples/iOSsample/iOSsample/QSTodoService.cs
================================================
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Collections.Generic;
using Microsoft.WindowsAzure.MobileServices;

namespace iOSsample
{
	public class QSTodoService : DelegatingHandler
	{		
        const string applicationURL = @"MOBILE SERVICE URL";
		const string applicationKey = @"APPLICATION KEY";
		MobileServiceClient client;
		IMobileServiceTable<ToDoItem> todoTable;
		int busyCount = 0;

		public event Action<bool> BusyUpdate;

		public QSTodoService ()
		{
			CurrentPlatform.Init ();

			// Initialize the Mobile Service client with your URL and key
			client = new MobileServiceClient (applicationURL, applicationKey, this);

			// Create an MSTable instance to allow us to work with the TodoItem table
			todoTable = client.GetTable <ToDoItem> ();
		}
     
		public List<ToDoItem> Items { get; private set;}

		async public Task<List<ToDoItem>> RefreshDataAsync ()
		{
			try {
				// This code refreshes the entries in the list view by querying the TodoItems table.
				// The query excludes completed TodoItems
				Items = await todoTable
					.Where (todoItem => todoItem.Complete == false).ToListAsync ();

			} catch (MobileServiceInvalidOperationException e) {
				Console.Error.WriteLine (@"ERROR {0}", e.Message);
				return null;
			}

			return Items;
		}

		public async Task InsertTodoItemAsync (ToDoItem todoItem)
		{
			try {
				// This code inserts a new TodoItem into the database. When the operation completes
				// and Mobile Services has assigned an Id, the item is added to the CollectionView
				await todoTable.InsertAsync (todoItem);
				Items.Add (todoItem); 

			} catch (MobileServiceInvalidOperationException e) {
				Console.Error.WriteLine (@"ERROR {0}", e.Message);
			}
		}

		public async Task CompleteItemAsync (ToDoItem item)
		{
			try {
				// This code takes a freshly completed TodoItem and updates the database. When the MobileService 
				// responds, the item is removed from the list 
				item.Complete = true;
				await todoTable.UpdateAsync (item);
				Items.Remove (item);

			} catch (MobileServiceInvalidOperationException e) {
				Console.Error.WriteLine (@"ERROR {0}", e.Message);
			}
		}

		void Busy (bool busy)
		{
			// assumes always executes on UI thread
			if (busy) {
				if (busyCount++ == 0 && BusyUpdate != null)
					BusyUpdate (true);

			} else {
				if (--busyCount == 0 && BusyUpdate != null)
					BusyUpdate (false);

			}
		}

		#region implemented abstract members of HttpMessageHandler

		protected override async Task<System.Net.Http.HttpResponseMessage> SendAsync (System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken)
		{
			Busy (true);
			var response = await base.SendAsync (request, cancellationToken);

			Busy (false);
			return response;
		}

		#endregion
	}
}



================================================
FILE: component/samples/iOSsample/iOSsample/ToDoItem.cs
================================================
using System;
using Newtonsoft.Json;

namespace iOSsample
{
	public class ToDoItem
	{
		public string Id { get; set; }

		[JsonProperty(PropertyName = "text")]
		public string Text { get; set; }

		[JsonProperty(PropertyName = "complete")]
		public bool Complete { get; set; }
	}
}



================================================
FILE: component/samples/iOSsample/iOSsample/app.config
================================================
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="2.5.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

================================================
FILE: component/samples/iOSsample/iOSsample/iOSsample.csproj
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">iPhoneSimulator</Platform>
    <ProductVersion>10.0.0</ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{07F1CD1B-626F-4BE5-9840-97B44CBB94C9}</ProjectGuid>
    <ProjectTypeGuids>{FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
    <OutputType>Exe</OutputType>
    <RootNamespace>iOSsample</RootNamespace>
    <IPhoneResourcePrefix>Resources</IPhoneResourcePrefix>
    <AssemblyName>iOSsample</AssemblyName>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhoneSimulator' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\iPhoneSimulator\Debug</OutputPath>
    <DefineConstants>DEBUG;</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <MtouchLink>SdkOnly</MtouchLink>
    <ConsolePause>false</ConsolePause>
    <MtouchDebug>True</MtouchDebug>
    <MtouchSdkVersion>8.1</MtouchSdkVersion>
    <MtouchProfiling>False</MtouchProfiling>
    <MtouchExtraArgs />
    <MtouchFastDev>False</MtouchFastDev>
    <MtouchEnableGenericValueTypeSharing>True</MtouchEnableGenericValueTypeSharing>
    <MtouchArch>Default, i386</MtouchArch>
    <MtouchUseLlvm>False</MtouchUseLlvm>
    <MtouchUseThumb>False</MtouchUseThumb>
    <MtouchUseSGen>False</MtouchUseSGen>
    <MtouchUseRefCounting>False</MtouchUseRefCounting>
    <MtouchOptimizePNGs>False</MtouchOptimizePNGs>
    <MtouchI18n />
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' ">
    <DebugType>full</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\iPhoneSimulator\Release</OutputPath>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <MtouchLink>None</MtouchLink>
    <ConsolePause>false</ConsolePause>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhone' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\iPhone\Debug</OutputPath>
    <DefineConstants>DEBUG;</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <MtouchDebug>true</MtouchDebug>
    <ConsolePause>false</ConsolePause>
    <CodesignKey>iPhone Developer</CodesignKey>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
    <DebugType>full</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\iPhone\Release</OutputPath>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <CodesignKey>iPhone Developer</CodesignKey>
    <ConsolePause>false</ConsolePause>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Ad-Hoc|iPhone' ">
    <DebugType>full</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\iPhone\Ad-Hoc</OutputPath>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <CodesignKey>iPhone Developer</CodesignKey>
    <BuildIpa>true</BuildIpa>
    <ConsolePause>false</ConsolePause>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'AppStore|iPhone' ">
    <DebugType>full</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\iPhone\AppStore</OutputPath>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <CodesignKey>iPhone Distribution</CodesignKey>
    <ConsolePause>false</ConsolePause>
    <CodesignProvision>Automatic:AppStore</CodesignProvision>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="Microsoft.WindowsAzure.Mobile, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>..\..\..\lib\ios-unified\Microsoft.WindowsAzure.Mobile.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.WindowsAzure.Mobile.Ext, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>..\..\..\lib\ios-unified\Microsoft.WindowsAzure.Mobile.Ext.dll</HintPath>
    </Reference>
    <Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>..\..\..\lib\ios-unified\Newtonsoft.Json.dll</HintPath>
    </Reference>
    <Reference Include="System" />
    <Reference Include="System.Net.Http" />
    <Reference Include="System.Net.Http.Extensions, Version=2.2.15.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>..\..\..\lib\ios-unified\System.Net.Http.Extensions.dll</HintPath>
    </Reference>
    <Reference Include="System.Net.Http.Primitives, Version=4.2.15.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>..\..\..\lib\ios-unified\System.Net.Http.Primitives.dll</HintPath>
    </Reference>
    <Reference Include="System.Xml" />
    <Reference Include="System.Core" />
    <Reference Include="Xamarin.iOS" />
    <Reference Include="System.Runtime.Serialization" />
  </ItemGroup>
  <ItemGroup>
    <None Include="app.config" />
    <None Include="Info.plist" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="Main.cs" />
    <Compile Include="AppDelegate.cs" />
    <Compile Include="QSTodoListViewController.cs" />
    <Compile Include="QSTodoListViewController.designer.cs">
      <DependentUpon>QSTodoListViewController.cs</DependentUpon>
    </Compile>
    <Compile Include="QSTodoService.cs" />
    <Compile Include="ToDoItem.cs" />
  </ItemGroup>
  <ItemGroup>
    <InterfaceDefinition Include="MainStoryboard_iPhone.storyboard" />
    <InterfaceDefinition Include="MainStoryboard_iPad.storyboard" />
  </ItemGroup>
  <Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />
  <ItemGroup>
    <BundleResource Include="Resources\Icon.png" />
    <BundleResource Include="Resources\Icon%402x.png" />
    <BundleResource Include="Resources\Icon-72.png" />
    <BundleResource Include="Resources\Icon-72%402x.png" />
    <BundleResource Include="Resources\Default.png" />
    <BundleResource Include="Resources\Default%402x.png" />
    <BundleResource Include="Resources\Default-568h%402x.png" />
    <BundleResource Include="Resources\Default-Portrait.png" />
    <BundleResource Include="Resources\Default-Landscape.png" />
    <BundleResource Include="Resources\Default-Portrait%402x.png" />
    <BundleResource Include="Resources\Default-Landscape%402x.png" />
  </ItemGroup>
</Project>

================================================
FILE: component/samples/iOSsample/iOSsample.sln
================================================

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.30110.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "iOSsample", "iOSsample\iOSsample.csproj", "{07F1CD1B-626F-4BE5-9840-97B44CBB94C9}"
EndProject
Global
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
		Debug|iPhone = Debug|iPhone
		Debug|iPhoneSimulator = Debug|iPhoneSimulator
		Release|iPhone = Release|iPhone
		Release|iPhoneSimulator = Release|iPhoneSimulator
	EndGlobalSection
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
		{07F1CD1B-626F-4BE5-9840-97B44CBB94C9}.Debug|iPhone.ActiveCfg = Debug|iPhone
		{07F1CD1B-626F-4BE5-9840-97B44CBB94C9}.Debug|iPhone.Build.0 = Debug|iPhone
		{07F1CD1B-626F-4BE5-9840-97B44CBB94C9}.Debug|iPhone.Deploy.0 = Debug|iPhone
		{07F1CD1B-626F-4BE5-9840-97B44CBB94C9}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
		{07F1CD1B-626F-4BE5-9840-97B44CBB94C9}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
		{07F1CD1B-626F-4BE5-9840-97B44CBB94C9}.Debug|iPhoneSimulator.Deploy.0 = Debug|iPhoneSimulator
		{07F1CD1B-626F-4BE5-9840-97B44CBB94C9}.Release|iPhone.ActiveCfg = Release|iPhone
		{07F1CD1B-626F-4BE5-9840-97B44CBB94C9}.Release|iPhone.Build.0 = Release|iPhone
		{07F1CD1B-626F-4BE5-9840-97B44CBB94C9}.Release|iPhone.Deploy.0 = Release|iPhone
		{07F1CD1B-626F-4BE5-9840-97B44CBB94C9}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
		{07F1CD1B-626F-4BE5-9840-97B44CBB94C9}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
		{07F1CD1B-626F-4BE5-9840-97B44CBB94C9}.Release|iPhoneSimulator.Deploy.0 = Release|iPhoneSimulator
	EndGlobalSection
	GlobalSection(SolutionProperties) = preSolution
		HideSolutionNode = FALSE
	EndGlobalSection
	GlobalSection(MonoDevelopProperties) = preSolution
		StartupItem = iOSsample\iOSsample.csproj
	EndGlobalSection
EndGlobal


================================================
FILE: docs/README.md
================================================
# Azure Mobile Services Documentation

Azure Mobile Services has been deprecated.  This documentation is a copy of the
documentation at the point at which the service was deprecated.  No further
updates will be made to these documents.

This service has been superseded by Azure App Service Mobile Apps.  We recommend
using Azure Mobile Apps for all new mobile backend deployments.  Read
[this announcement](https://azure.microsoft.com/blog/transition-of-azure-mobile-services/)
to learn more about the pending deprecation of this service.  

> Learn about [migrating your site to Azure App Service](https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-migrating-from-mobile-services/).
> Get started with Azure Mobile Apps, see the [Azure Mobile Apps documentation center](https://azure.microsoft.com/documentation/learning-paths/appservice-mobileapps/).

List of documents (from the original left-hand navigation)

Additional documents can be accessed by browsing the directory.

* Get started
  * [Get started with iOS](mobile-services-ios-get-started.md)
  * [Get started with Xamarin Android](partner-xamarin-mobile-services-android-get-started.md)
  * [Get started with Xamarin iOS](partner-xamarin-mobile-services-ios-get-started.md)
  * [Get started with Android](mobile-services-android-get-started.md)
  * [Get started with Windows](mobile-services-dotnet-backend-windows-store-dotnet-get-started.md)

* Store data
  * [Connect your app to Table storage](mobile-services-dotnet-backend-store-data-table-storage.md)
  * [Connect your app to DocumentDB](http://giventocode.com/how-to-use-azure-documentdb-with-azure-mobile-services#.VOZ7csJ0x9C)
  * [Connect your app to an on-premise SQL Database](mobile-services-dotnet-backend-hybrid-connections-get-started.md)
  * [Connect your app to an existing SQL Database](mobile-services-dotnet-backend-use-existing-sql-database.md)

* Enable offline & Sync
  * [Sync your app data and work offline](mobile-services-ios-get-started-offline-data.md)
  * [Handle conflicts with offline data Sync](mobile-services-ios-handling-conflicts-offline-data.md)

* Authentication users
  * [Add Active Directory authentication to your app](mobile-services-dotnet-backend-ios-adal-sso-authentication.md)
  * [Add Facebook, Google or Twitter authentication to your app](mobile-services-ios-get-started-users.md)
  * [Add custom authentication to your app](mobile-services-dotnet-backend-get-started-custom-authentication.md)

* Send push notifications
  * [Add push notifications to your app](mobile-services-javascript-backend-ios-get-started-push.md)
  * [Send push notifications to authenticated users](mobile-services-javascript-backend-ios-push-notifications-app-users.md)
  * [Send personalized and localized push notifications](https://azure.microsoft.com/en-us/documentation/articles/notification-hubs-ios-xplat-localized-apns-push-notification/)
  * [Troubleshoot sending push](https://azure.microsoft.com/en-us/documentation/articles/notification-hubs-push-notification-fixer/)

* How to manage
  * [Define a custom endpoint](mobile-services-javascript-backend-define-custom-api.md)
  * [Use multiple clients with a single mobile service](mobile-services-how-to-use-multiple-clients-single-service.md)
  * [Build scalable apps that talk to Azure SQL database](mobile-services-sql-scale-guidance.md)
  * [Prepare for disaster recovery](mobile-services-disaster-recovery.md)

* Automate
  * [Deploy and manage a mobile service using command-line Tools](mobile-services-manage-command-line-interface.md)
  * [Deploy a mobile service using source control](mobile-services-store-scripts-source-control.md)
  * [Execute backend tasks on a schedule](mobile-services-schedule-recurring-tasks.md)


================================================
FILE: docs/mobile-services-android-get-started-data.md
================================================
<properties
	pageTitle="Get started with data on Android  (JavaScript backend) | Microsoft Azure"
	description="Learn how to get started using Mobile Services to leverage data in your Android app  (JavaScript backend)."
	services="mobile-services"
	documentationCenter="android"
	authors="RickSaling"
	manager="erikre"
	editor=""/>

<tags
	ms.service="mobile-services"
	ms.workload="mobile"
	ms.tgt_pltfrm="mobile-android"
	ms.devlang="java"
	ms.topic="article"
	ms.date="07/21/2016"
	ms.author="ricksal"/>

# Add Mobile Services to an existing Android app (JavaScript backend)

>[AZURE.WARNING] This is an **Azure Mobile Services** topic.  This service has been superseded by Azure App Service Mobile Apps and is scheduled for removal from Azure.  We recommend using Azure Mobile Apps for all new mobile backend deployments.  Read [this announcement](https://azure.microsoft.com/blog/transition-of-azure-mobile-services/) to learn more about the pending deprecation of this service.  
>
> Learn about [migrating your site to Azure App Service](https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-migrating-from-mobile-services/).
>
> Get started with Azure Mobile Apps, see the [Azure Mobile Apps documentation center](https://azure.microsoft.com/documentation/learning-paths/appservice-mobileapps/).

## Summary

This topic shows you how to use Azure Mobile Services to add persistent data to an Android app. In this tutorial, you will download an app that stores data in memory, create a new mobile service, integrate the app with the mobile service so that it stores and updates data in Azure Mobile Services instead of locally, and then use the Azure classic portal to view changes to data that were made by running the app.

This tutorial helps you understand in more detail how Azure Mobile Services can store and retrieve data from an Android app. So it walks you through many of the steps that are already completed for you in the Mobile Services quickstart tutorial. If this is your first experience with Mobile Services, consider first completing the tutorial [Get started with Mobile Services](mobile-services-android-get-started.md).

## Prerequisites

To complete this tutorial, you need the following:

- an Azure account. If you don't have an account, you can create a free trial account in just a couple of minutes. For details, see [Azure Free Trial](http://azure.microsoft.com/pricing/free-trial/?WT.mc_id=AED8DE357).

- the [Azure Mobile Services Android SDK];
- the [Android Studio integrated development environment](https://developer.android.com/sdk/index.html), which includes the Android SDK; and Android 4.2 or a later version. The downloaded GetStartedWithData project requires Android 4.2 or a later version. However, the Mobile Services SDK requires only Android 2.2 or a later version.

## Sample Code

To see the completed source code, go [here](https://github.com/Azure/mobile-services-samples/tree/master/GettingStartedWithData/AndroidStudio).

## Download the GetStartedWithData project

### Get the sample code

This tutorial is built on **GetStartedWithData**, which is an Android app. The UI for this app is identical to the one in the Mobile Services Android quickstart, except that items that are added to the list are stored locally in memory. You will add the code needed to persist the data to storage.


1. Download the samples repository from gitHub by clicking <a href="https://github.com/Azure/mobile-services-samples" target="blank">here</a> and then Click **Download ZIP**.

2. Unzip the downloaded file and make a note of its location, or move it to your Android Studio projects directory.

3. Open Android Studio. If you are working with a different project and it appears, close the project (**File => Close Project**).

4. Select **Open an existing Android Studio project**, browse to the project location in the *AndroidStudio* folder of *GettingStartedWithData*, and then click **OK.**


 	![](./media/mobile-services-android-get-started/android-studio-import-project.png)

	The project is now ready for you to work with.

### Inspect and run the sample code

1. In Project Explorer, expand **app** => **src** => **main** => **java** => **com.example.GetStartedWithData** and then open the *ToDoActivity.java* file.

   	![](./media/download-android-sample-code/mobile-services-android-studio-project.png)

   	Notice that there are `//TODO` comments that specify the steps you must take to make this app work with your mobile service.

2. From the **Run** menu, click **Run app**.

3. The **Choose Device** dialog will appear.

	![](./media/mobile-services-android-run-sample-code/android-studio-choose-device.png)

	> [AZURE.NOTE] You can run this project using an Android phone, or using the Android emulator. Running with an Android phone  requires you to download a phone-specific USB driver.
	>
	> To run the project in the Android emulator, you must define a least one Android Virtual Device (AVD). Use the AVD Manager to create and manage these devices.

4. Choose either a connected device, or *Launch Emulator*.

5. When the app appears, type meaningful text, such as _Complete the tutorial_, and then click **Add**.

   	![](./media/download-android-sample-code/mobile-quickstart-startup-android.png)

   	Notice that the saved text is stored in an in-memory collection and displayed in the list below.

## Create a new mobile service in the Azure classic portal

Next, you will create a new mobile service to replace the in-memory list for data storage. Follow these steps to create a new mobile service.

1. Log into the [Azure classic portal](https://manage.windowsazure.com/).
2.	At the bottom of the navigation pane, click **+NEW**.

	![plus-new](./media/mobile-services-create-new-service-data/plus-new.png)

3.	Expand **Compute** and **Mobile Service**, then click **Create**.

	![mobile-create](./media/mobile-services-create-new-service-data/mobile-create.png)

    This displays the **New Mobile Service** dialog.

4.	In the **Create a mobile service** page, select **Create a free 20 MB SQL Database**, then type a subdomain name for the new mobile service in the **URL** textbox and wait for name verification. Once name verification completes, click the right arrow button to go to the next page.

	![mobile-create-page1](./media/mobile-services-create-new-service-data/mobile-create-page1.png)

    This displays the **Specify database settings** page.

	> [AZURE.NOTE] As part of this tutorial, you create a new SQL Database instance and server. You can reuse this new database and administer it as you would any other SQL Database instance. If you already have a database in the same region as the new mobile service, you can instead choose **Use existing Database** and then select that database. The use of a database in a different region is not recommended because of additional bandwidth costs and higher latencies.

5.	In **Name**, type the name of the new database, then type **Login name**, which is the administrator login name for the new SQL Database server, type and confirm the password, and click the check button to complete the process.

	![mobile-create-page2](./media/mobile-services-create-new-service-data/mobile-create-page2.png)

	> [AZURE.NOTE] When the password that you supply does not meet the minimum requirements or when there is a mismatch, a warning is displayed.  
	>
	> We recommend that you make a note of the administrator login name and password that you specify; you will need this information to reuse the SQL Database instance or the server in the future.

You have now created a new mobile service that can be used by your mobile apps. Next, you will add a new table in which to store app data. This table will be used by the app in place of the in-memory collection.

## Add a new table to the mobile service

To be able to store app data in the new mobile service, you must first create a new table in the associated SQL Database instance.

1. In the [Azure classic portal](https://manage.windowsazure.com/), click **Mobile Services**, and then click the mobile service that you just created.

2. Click the **Data** tab, then click **+Create**.

   	This displays the **Create new table** dialog.

3. In **Table name** type _TodoItem_, then click the check button. This creates a new storage table **TodoItem** with the default permissions set. This means that anyone with the application key, which is distributed with your app, can access and change data in the table.

    >[AZURE.NOTE] The same table name is used in Mobile Services quickstart. However, each table is created in a schema that is specific to a given mobile service. This is to prevent data collisions when multiple mobile services use the same database.

4. Click the new **TodoItem** table and verify that there are no data rows.

5. Click the **Columns** tab. Verify that the following default columns are automatically created for you:

	<table border="1" cellpadding="10">
 	<tr>
 	<th>Column Name</th>
 	<th>Type</th>
 	<th>Index</th>
 	</tr>
 	<tr>
 	<td>id</td>
 	<td>string</td>
 	<td>Indexed</td>
 	</tr>
 	<tr>
 	<td>__createdAt</td>
 	<td>date</td>
 	<td>Indexed</td>
 	</tr>
 	<tr>
 	<td>__updatedAt</td>
 	<td>date</td>
 	<td><font color="transparent">-</font></td>
 	</tr>
 	<tr>
 	<td>__version</td>
 	<td>timestamp (MSSQL)</td>
 	<td><font color="transparent">-</font></td>
 	</tr> 	
 	</table> 	


  	This is the minimum requirement for a table in Mobile Services.

    > [AZURE.NOTE] When dynamic schema is enabled on your mobile service, new columns are created automatically when JSON objects are sent to the mobile service by an insert or update operation.

You are now ready to use the new mobile service as data storage for the app.


## Update the app to use the mobile service for data access

Now that your mobile service is ready, you can update the app to store items in Mobile Services instead of the local collection.

1. Verify that you have the following lines in the **dependencies** tag in the *build.gradle (Module app)* file, and if not add them. This adds references to the Mobile Services Android Client SDK.

		compile 'com.android.support:support-v4:21.0.3'
    	compile 'com.google.code.gson:gson:2.2.2'
	    compile 'com.google.guava:guava:18.0'
	    compile 'com.microsoft.azure:azure-mobile-services-android-sdk:2.0.2+'


2. Now rebuild the project by clicking on **Sync Project with Gradle Files**.

3. Open the AndroidManifest.xml file and add the following line, which enables the app to access Mobile Services in Azure.

		<uses-permission android:name="android.permission.INTERNET" />


4. In Project Explorer, open the TodoActivity.java file located in  the **GetStartedWithData => app => src => java** folder, and uncomment the following lines of code:



		import java.net.MalformedURLException;
		import android.os.AsyncTask;
		import com.google.common.util.concurrent.FutureCallback;
		import com.google.common.util.concurrent.Futures;
		import com.google.common.util.concurrent.ListenableFuture;
		import com.microsoft.windowsazure.mobileservices.MobileServiceClient;
		import com.microsoft.windowsazure.mobileservices.MobileServiceList;
		import com.microsoft.windowsazure.mobileservices.http.NextServiceFilterCallback;
		import com.microsoft.windowsazure.mobileservices.http.ServiceFilter;
		import com.microsoft.windowsazure.mobileservices.http.ServiceFilterRequest;
		import com.microsoft.windowsazure.mobileservices.http.ServiceFilterResponse;
		import com.microsoft.windowsazure.mobileservices.table.MobileServiceTable;


5. Comment out the following lines:

		import java.util.ArrayList;
		import java.util.List;

6. We will remove the in-memory list currently used by the app, so we can replace it with a mobile service. In the **ToDoActivity** class, comment out the following line of code, which defines the existing **toDoItemList** list.

		public List<ToDoItem> toDoItemList = new ArrayList<ToDoItem>();

7. Save the file, and the project will indicate build errors. Search for the three remaining locations where the `toDoItemList` variable is used and comment out the sections indicated. This fully removes the in-memory list.

8. We now add our mobile service. Uncomment the following lines of code:

		private MobileServiceClient mClient;
		private private MobileServiceTable<ToDoItem> mToDoTable;

9. Find the *ProgressFilter* class at the bottom of the file and uncomment it. This class displays a 'loading' indicator while *MobileServiceClient* is running network operations.


10. In the Azure classic portal, click **Mobile Services**, and then click the mobile service you just created.

11. Click the **Dashboard** tab and make a note of the **Site URL**, then click **Manage keys** and make a note of the **Application key**.

   	![](./media/download-android-sample-code/mobile-dashboard-tab.png)

  	You will need these values when accessing the mobile service from your app code.

12. In the **onCreate** method, uncomment the following lines of code that define the **MobileServiceClient** variable:

		try {
		// Create the Mobile Service Client instance, using the provided
		// Mobile Service URL and key
			mClient = new MobileServiceClient(
					"MobileServiceUrl",
					"AppKey",
					this).withFilter(new ProgressFilter());

			// Get the Mobile Service Table instance to use
			mToDoTable = mClient.getTable(ToDoItem.class);
		} catch (MalformedURLException e) {
			createAndShowDialog(new Exception("There was an error creating the Mobile Service. Verify the URL"), "Error");
		}

  	This creates a new instance of *MobileServiceClient* that is used to access your mobile service. It also creates the *MobileServiceTable* instance that is used to proxy data storage in the mobile service.

13. In the code above, replace `MobileServiceUrl` and `AppKey` with the URL and application key from your mobile service, in that order.



14. Uncommment these lines of the **checkItem** method:

	    new AsyncTask<Void, Void, Void>() {
	        @Override
	        protected Void doInBackground(Void... params) {
	            try {
	                mToDoTable.update(item).get();
	                runOnUiThread(new Runnable() {
	                    public void run() {
	                        if (item.isComplete()) {
	                            mAdapter.remove(item);
	                        }
	                        refreshItemsFromTable();
	                    }
	                });
	            } catch (Exception exception) {
	                createAndShowDialog(exception, "Error");
	            }
	            return null;
	        }
	    }.execute();

   	This sends an item update to the mobile service and removes checked items from the adapter.

15. Uncommment these lines of the **addItem** method:

		// Insert the new item
		new AsyncTask<Void, Void, Void>() {
	        @Override
	        protected Void doInBackground(Void... params) {
	            try {
	                mToDoTable.insert(item).get();
	                if (!item.isComplete()) {
	                    runOnUiThread(new Runnable() {
	                        public void run() {
	                            mAdapter.add(item);
	                        }
	                    });
	                }
	            } catch (Exception exception) {
	                createAndShowDialog(exception, "Error");
	            }
	            return null;
	        }
	    }.execute();


  	This code creates a new item and inserts it into the table in the remote mobile service.

16. Uncommment these lines of the **refreshItemsFromTable** method:

		// Get the items that weren't marked as completed and add them in the adapter
	    new AsyncTask<Void, Void, Void>() {
	        @Override
	        protected Void doInBackground(Void... params) {
	            try {
	                final MobileServiceList<ToDoItem> result = mToDoTable.where().field("complete").eq(false).execute().get();
	                runOnUiThread(new Runnable() {
	                    @Override
	                    public void run() {
	                        mAdapter.clear();

	                        for (ToDoItem item : result) {
	                            mAdapter.add(item);
	                        }
	                    }
	                });
	            } catch (Exception exception) {
	                createAndShowDialog(exception, "Error");
	            }
	            return null;
	        }
	    }.execute();

	This queries the mobile service and returns all items that are not marked as complete. Items are added to the adapter for binding.

## Test the app against your new mobile service

Now that the app has been updated to use Mobile Services for back end storage, you can test it against Mobile Services, using either the Android emulator or an Android phone.

1. From the **Run** menu, click **Run app** to start the project.

	This executes your app, built with the Android SDK, that uses the client library to send a query that returns items from your mobile service.

5. As before, type meaningful text, then click **Add**.

   	This sends a new item as an insert to the mobile service.

3. In the [Azure classic portal], click **Mobile Services**, and then click your mobile service.

4. Click the **Data** tab, then click **Browse**.

   	![][9]

   	Notice that the **TodoItem** table now contains data, with some values generated by Mobile Services, and that columns have been automatically added to the table to match the TodoItem class in the app.

This concludes the **Get started with data** tutorial for Android.

## Troubleshooting

### Verify Android SDK Version

Because of ongoing development, the Android SDK version installed in Android Studio might not match the version in the code. The Android SDK referenced in this tutorial is version 21, the latest at the time of writing. The version number may increase as new releases of the SDK appear, and we recomend using the latest version available.

Two symptoms of version mismatch are:

1. When you Build or Rebuild the project, you may get Gradle error messages like "**failed to find target Google Inc.:Google APIs:n**".

2. Standard Android objects in code that should resolve based on `import` statements may be generating error messages.

If either of these appear, the version of the Android SDK installed in Android Studio might not match the SDK target of the downloaded project.  To verify the version, make the following changes:


1. In Android Studio, click **Tools** => **Android** => **SDK Manager**. If you have not installed the latest version of the SDK Platform, then click to install it. Make a note of the version number.

2. In the Project Explorer tab, under **Gradle Scripts**, open the file **build.gradle (modeule: app)**. Ensure that the **compileSdkVersion** and **buildToolsVersion** are set to the latest  SDK version installed. The tags might look like this:

	 	    compileSdkVersion 'Google Inc.:Google APIs:21'
    		buildToolsVersion "21.1.2"

3. In the Android Studio Project Explorer right-click the project node, choose **Properties**, and in the left column choose **Android**. Ensure that the **Project Build Target** is set to the same SDK version as the **targetSdkVersion**.

4. In Android Studio, the manifest file is no longer used to specify the target SDK and minimum SDK version, unlike the case with Eclipse.

## Next steps

This tutorial demonstrated the basics of enabling an Android app to work with data in Mobile Services. Try these other Android tutorials:

* [Get started with authentication](mobile-services-android-get-started-users.md)
	<br/>Learn how to authenticate users of your app.

* [Get started with push notifications](mobile-services-javascript-backend-android-get-started-push.md)
  <br/>Learn how to send a very basic push notification to your app with Mobile Services.

<!-- Anchors. -->
[Download the Android app project]: #download-app
[Create the mobile service]: #create-service
[Add a data table for storage]: #add-table
[Update the app to use Mobile Services]: #update-app
[Test the app against Mobile Services]: #test-app
[Next Steps]:#next-steps

<!-- Images. -->
[8]: ./media/mobile-services-android-get-started-data/mobile-dashboard-tab.png
[9]: ./media/mobile-services-android-get-started-data/mobile-todoitem-data-browse.png
[12]: ./media/mobile-services-android-get-started-data/mobile-eclipse-project.png
[13]: ./media/mobile-services-android-get-started-data/mobile-quickstart-startup-android.png
[14]: ./media/mobile-services-android-get-started-data/mobile-services-import-android-workspace.png
[15]: ./media/mobile-services-android-get-started-data/mobile-services-import-android-project.png


<!-- URLs. -->
[Mobile Services Android SDK]: http://aka.ms/Iajk6q
[Azure classic portal]: https://manage.windowsazure.com/
[Azure Mobile Services Android SDK]: http://aka.ms/Iajk6q
[GitHub]:  http://go.microsoft.com/fwlink/p/?LinkID=282122
[Android SDK]: https://go.microsoft.com/fwLink/p/?LinkID=280125


================================================
FILE: docs/mobile-services-android-get-started-offline-data.md
================================================
<properties
	pageTitle="Add Offline Data Sync to your Android Mobile Services app | Microsoft Azure"
	description="Learn how to use Azure Mobile Services to cache and sync offline data in your Android application"
	documentationCenter="android"
	authors="RickSaling"
	manager="dwrede"
	editor=""
	services="mobile-services"/>

<tags
	ms.service="mobile-services"
	ms.workload="mobile"
	ms.tgt_pltfrm="mobile-android"
	ms.devlang="java"
	ms.topic="article"
	ms.date="07/21/2016"
	ms.author="ricksal"/>

# Add Offline Data Sync to your Android Mobile Services app

> [AZURE.SELECTOR]
- [Android)](mobile-services-android-get-started-offline-data.md)
- [iOS](mobile-services-ios-get-started-offline-data.md)
- [Windows](mobile-services-windows-store-dotnet-get-started-offline-data.md)
- [Xamarin.Android](mobile-services-xamarin-android-get-started-offline-data.md)
- [Xamarin.iOS](mobile-services-xamarin-ios-get-started-offline-data.md)


&nbsp;

>[AZURE.WARNING] This is an **Azure Mobile Services** topic.  This service has been superseded by Azure App Service Mobile Apps and is scheduled for removal from Azure.  We recommend using Azure Mobile Apps for all new mobile backend deployments.  Read [this announcement](https://azure.microsoft.com/blog/transition-of-azure-mobile-services/) to learn more about the pending deprecation of this service.  
>
> Learn about [migrating your site to Azure App Service](https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-migrating-from-mobile-services/).
>
> Get started with Azure Mobile Apps, see the [Azure Mobile Apps documentation center](https://azure.microsoft.com/documentation/learning-paths/appservice-mobileapps/).

## Summary

Mobile apps can lose network connectivity when moving to an area without service, or due to network issues. For example, a construction industry app used at a remote construction site might need to enter scheduling data that is synced up to Azure later. With Azure Mobile Services offline sync, you can keep working when network connectivity is lost, which is essential to many mobile apps. With offline sync, you work with a local copy of your Azure SQL Server table, and periodically re-sync the two.

In this tutorial, you'll update the app from the [Mobile Services Quick Start tutorial] to enable offline sync, and then test the app by adding data offline,  syncing those items to the online database, and verifying the changes in the Azure classic portal.

Whether you are offline or connected, conflicts can arise any time multiple changes are made to data.  A future tutorial will explore handling sync conflicts, where you choose which version of the changes to accept. In this tutorial, we assume no sync conflicts and any changes you make to existing data will be applied directly to the Azure SQL Server.


## What you need to get started

This tutorial is based on the code you download in the Mobile Services quickstart. Before you start this tutorial, you must first complete either [Get started with Mobile Services] or [Add Mobile Services to an existing app].

> [AZURE.IMPORTANT] If you completed the quickstart tutorial prior to the release of Azure Mobile Services Android SDK 2.0, you must re-do it, because the SDK is not backwards compatible. To verify the version, check the **dependencies** section of your project's **build.gradle** file.

## Update the app to support offline sync

With offline sync you read to and write from a *sync table* (using the *IMobileServiceSyncTable* interface), which is part of a **SQLite** database on your device.

To push and pull changes between the device and Azure Mobile Services, you use a *synchronization context* (*MobileServiceClient.SyncContext*), which you initialize with the local database that you use to store data locally.

1. Add permission to check for network connectivity by adding this code to the *AndroidManifest.xml* file:

	    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />


2. Add the following **import** statements to *ToDoActivity.java*:

		import java.util.Map;

		import android.widget.Toast;

		import com.microsoft.windowsazure.mobileservices.table.query.Query;
		import com.microsoft.windowsazure.mobileservices.table.sync.MobileServiceSyncContext;
		import com.microsoft.windowsazure.mobileservices.table.sync.MobileServiceSyncTable;
		import com.microsoft.windowsazure.mobileservices.table.sync.localstore.ColumnDataType;
		import com.microsoft.windowsazure.mobileservices.table.sync.localstore.SQLiteLocalStore;

3. Near the top of the `ToDoActivity` class, change the declaration of the `mToDoTable` variable from a `MobileServiceTable<ToDoItem>` class to a `MobileServiceSyncTable<ToDoItem>` class.

		 private MobileServiceSyncTable<ToDoItem> mToDoTable;

	This is where you define the sync table.

4. To handle initialization of the local store, in the `onCreate` method, add the following lines after creating the `MobileServiceClient` instance:

			// Saves the query which will be used for pulling data
			mPullQuery = mClient.getTable(ToDoItem.class).where().field("complete").eq(false);

			SQLiteLocalStore localStore = new SQLiteLocalStore(mClient.getContext(), "ToDoItem", null, 1);
			SimpleSyncHandler handler = new SimpleSyncHandler();
			MobileServiceSyncContext syncContext = mClient.getSyncContext();

			Map<String, ColumnDataType> tableDefinition = new HashMap<String, ColumnDataType>();
			tableDefinition.put("id", ColumnDataType.String);
			tableDefinition.put("text", ColumnDataType.String);
			tableDefinition.put("complete", ColumnDataType.Boolean);
			tableDefinition.put("__version", ColumnDataType.String);

			localStore.defineTable("ToDoItem", tableDefinition);
			syncContext.initialize(localStore, handler).get();

			// Get the Mobile Service Table instance to use
			mToDoTable = mClient.getSyncTable(ToDoItem.class);

5. Following the preceding code, which is inside a `try` block, add an additional `catch` block following the `MalformedURLException` one:

		} catch (Exception e) {
			Throwable t = e;
			while (t.getCause() != null) {
					t = t.getCause();
				}
			createAndShowDialog(new Exception("Unknown error: " + t.getMessage()), "Error");
		}

6. Add this method to verify network connectivity:

		private boolean isNetworkAvailable() {
			ConnectivityManager connectivityManager
					= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
			NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
			return activeNetworkInfo != null && activeNetworkInfo.isConnected();
		}


7. Add this method to sync between the local *SQL Light* store and the Azure SQL Server:

		public void syncAsync(){
			if (isNetworkAvailable()) {
				new AsyncTask<Void, Void, Void>() {

					@Override
					protected Void doInBackground(Void... params) {
						try {
							mClient.getSyncContext().push().get();
							mToDoTable.pull(mPullQuery).get();

						} catch (Exception exception) {
							createAndShowDialog(exception, "Error");
						}
						return null;
					}
				}.execute();
			} else {
				Toast.makeText(this, "You are not online, re-sync later!" +
						"", Toast.LENGTH_LONG).show();
			}
		}


8. In the `onCreate` method, add this code as the next-to-the-last line, right before the call to `refreshItemsFromTable`:

			syncAsync();

	This causes the device on startup to sync with the Azure table. Otherwise you would display the last offline contents of the local store.



9. Update the code in the `refreshItemsFromTable` method to use this query (first line of code inside the `try` block):

		final MobileServiceList<ToDoItem> result = mToDoTable.read(mPullQuery).get();

10. In the `onOptionsItemSelected` method replace the contents of the `if` block with this code:

			syncAsync();
			refreshItemsFromTable();

	This code runs when you press the **Refresh** button in the upper right corner. This is the main way you sync your local store to Azure, in addition to syncing at startup. This encourages batching of sync changes, and is efficient given that the pull from Azure is a relatively expensive operation. You could also design this app to sync on every change by adding a call to `syncAsync` to the `addItem` and `checkItem` methods, if your app required this.


## Test the app

In this section, you will test the behavior with WiFi on, and then turn off WiFi to create an offline scenario.

When you add data items, they are held in the local SQL Light store, but not synced to the mobile service until you press the **Refresh** button. Other apps may have different requirements regarding when data needs to be synchronized, but for demo purposes this tutorial has the user explicitly request it.

When you press that button, a new background task starts, and first pushes all the changes made to the local store, by using the synchronization context, and then pulls all changed data from Azure to the local table.


### Online testing

Lets test the following scenarios.

1. Add some new items on your device;
2. Verify the items don't show in the portal;
3. next press **Refresh** and verify that they then show up.
4. Change or add an item in the portal, then press **Refresh** and verify that the changes show up on your device.

### Offline testing

<!-- Now if you run the app and tap the refresh button, you should see all the items from the server. At that point you should be able to turn off the networking from the device by placing it in *Airplane Mode*, and continue making changes ??? the app will work just fine. When it???s time to sync the changes to the server, turn the network back on, and tap the **Refresh** button again.

One thing which is important to point out: if there are pending changes in the local store, a pull operation will first push those changes to the server (so that if there are changes in the same row, the push operation will fail and the application has an opportunity to handle the conflicts appropriately). That means that the push call in the code above isn???t necessarily required, but I think it???s always a good practice to be explicit about what the code is doing.
-->

1. Place the device or simulator in *Airplane Mode*. This creates an offline scenario.

2. Add some *ToDo* items, or mark some items as complete. Quit the device or simulator (or forcibly close the app) and restart. Verify that your changes have been persisted on the device because they are held in the local SQL Light store.

3. View the contents of the Azure *TodoItem* table. Verify that the new items have _not_ been synced to the server:

   - For the JavaScript backend, go to the Azure classic portal, and click the Data tab to view the contents of the `TodoItem` table.
   - For the .NET backend, view the table contents either with a SQL tool such as *SQL Server Management Studio*, or a REST client such as *Fiddler* or *Postman*.

4. Turn on WiFi in the device or simulator. Next, press the **Refresh** button.

5. View the TodoItem data again in the Azure classic portal. The new and changed TodoItems should now appear.


## Next Steps

* [Using Soft Delete in Mobile Services][Soft Delete]

## Additional Resources

* [Cloud Cover: Offline Sync in Azure Mobile Services]

* [Azure Friday: Offline-enabled apps in Azure Mobile Services] \(note: demos are for Windows, but feature discussion applies to all platforms\)


<!-- URLs. -->

[Get the sample app]: #get-app
[Review the Core Data model]: #review-core-data
[Review the Mobile Services sync code]: #review-sync
[Change the sync behavior of the app]: #setup-sync
[Test the app]: #test-app

[Get started with Mobile Services]: mobile-services-android-get-started.md
[Add Mobile Services to an existing app]: mobile-services-android-get-started-data.md
[Mobile Services sample repository on GitHub]: https://github.com/Azure/mobile-services-samples
[Handling Conflicts with Offline Support for Mobile Services]:  mobile-services-android-handling-conflicts-offline-data.md
[Soft Delete]: mobile-services-using-soft-delete.md

[Cloud Cover: Offline Sync in Azure Mobile Services]: http://channel9.msdn.com/Shows/Cloud+Cover/Episode-155-Offline-Storage-with-Donna-Malayeri
[Azure Friday: Offline-enabled apps in Azure Mobile Services]: http://azure.microsoft.com/documentation/videos/azure-mobile-services-offline-enabled-apps-with-donna-malayeri/

[Mobile Services Quick Start tutorial]: mobile-services-android-get-started.md


================================================
FILE: docs/mobile-services-android-get-started-users.md
================================================
<properties
	pageTitle="Get started with authentication on Android (JavaScript backend) | Microsoft Azure"
	description="Learn how to use Mobile Services to authenticate users of your Android app through a variety of identity providers, including Google, Facebook, Twitter, and Microsoft  (JavaScript backend)."
	services="mobile-services"
	documentationCenter="android"
	authors="RickSaling"
	manager="erikre"
	editor=""/>

<tags
	ms.service="mobile-services"
	ms.workload="mobile"
	ms.tgt_pltfrm="mobile-android"
	ms.devlang="java"
	ms.topic="article"
	ms.date="07/21/2016"
	ms.author="ricksal"/>

# Add authentication to your Mobile Services Android app (JavaScript backend)

> [AZURE.SELECTOR-LIST (Platform | Backend )]
- [(iOS | .NET)](mobile-services-dotnet-backend-ios-get-started-users.md)
- [(iOS | JavaScript)](mobile-services-ios-get-started-users.md)
- [(Windows Runtime 8.1 universal C# | .NET)](mobile-services-dotnet-backend-windows-universal-dotnet-get-started-users.md)
- [(Windows Runtime 8.1 universal C# | Javascript)](mobile-services-javascript-backend-windows-universal-dotnet-get-started-users.md)
- [(Windows Phone Silverlight 8.x | Javascript)](mobile-services-windows-phone-get-started-users.md)
- [(Android | Javascript)](mobile-services-android-get-started-users.md)
- [(Xamarin.iOS | .NET)](mobile-services-dotnet-backend-xamarin-ios-get-started-users.md)
- [(Xamarin.iOS | Javascript)](partner-xamarin-mobile-services-ios-get-started-users.md)
- [(Xamarin.Android | .NET)](mobile-services-dotnet-backend-xamarin-android-get-started-users.md)
- [(Xamarin.Android | Javascript)](partner-xamarin-mobile-services-android-get-started-users.md)
- [(HTML | Javascript)](mobile-services-html-get-started-users.md)


&nbsp;

>[AZURE.WARNING] This is an **Azure Mobile Services** topic.  This service has been superseded by Azure App Service Mobile Apps and is scheduled for removal from Azure.  We recommend using Azure Mobile Apps for all new mobile backend deployments.  Read [this announcement](https://azure.microsoft.com/blog/transition-of-azure-mobile-services/) to learn more about the pending deprecation of this service.  
>
> Learn about [migrating your site to Azure App Service](https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-migrating-from-mobile-services/).
>
> Get started with Azure Mobile Apps, see the [Azure Mobile Apps documentation center](https://azure.microsoft.com/documentation/learning-paths/appservice-mobileapps/).

## Summary

This topic shows you how to authenticate users in Azure Mobile Services from your app. In this tutorial, you add authentication to the quickstart project using an identity provider that is supported by Mobile Services. After being successfully authenticated and authorized by Mobile Services, the user ID value is displayed.

> [AZURE.VIDEO android-getting-started-with-authentication-in-windows-azure-mobile-services]

This tutorial walks you through the basic steps to enable authentication in your app.


## Prerequisites

This tutorial is based on the code you download in the Mobile Services quickstart. Before you start this tutorial, you must first complete either [Get started with Mobile Services] or [Add Mobile Services to an existing app].

> [AZURE.IMPORTANT] If you completed the quickstart tutorial prior to the release of Azure Mobile Services Android SDK 2.0, you must re-do it, because the SDK is not backwards compatible. To verify the version, check the **dependencies** section of your project's **build.gradle** file.


<!-- URLs.
[Get started with Mobile Services]: mobile-services-android-get-started.md
[Add Mobile Services to an existing app]: mobile-services-android-get-started-data.md
-->

## Register your app for authentication and configure Mobile Services


1. In the [Azure classic portal](https://manage.windowsazure.com/), click **Mobile Services** > your mobile service > **Dashboard**, and make a note of the **Mobile Service URL** value.

2. Register your app with one or more of the following authentication providers:
   * [Google](./
mobile-services-how-to-register-google-authentication.md)
   * [Facebook](./
mobile-services-how-to-register-facebook-authentication.md)
   * [Twitter](./
mobile-services-how-to-register-twitter-authentication.md)
   * [Microsoft](./
mobile-services-how-to-register-microsoft-authentication.md)
   * [Azure Active Directory](./
mobile-services-how-to-register-active-directory-authentication.md).

    Make a note of the client identity and client secret values generated by the provider. Do not distribute or share the client secret.

3. Back in the [Azure classic portal](https://manage.windowsazure.com/), click **Mobile Services** > your mobile service > **Identity** > your identity provider settings, then enter the client ID and secret value from your provider.

You've now configured both your app and your mobile service to work with your auth provider. You may optionally repeat all these steps for each additional identity provider you'd like to support.

> [AZURE.IMPORTANT] Verify that you've set the correct redirect URI on your identity provider's developer site. As described in the linked instructions for each provider above, the redirect URI may be different for a .NET backend service vs. for a JavaScript backend service. An incorrectly configured redirect URI may result in the login screen not being displayed properly and the app malfunctioning in unexpected ways.


## Restrict permissions to authenticated users


To secure your endpoints, you must restrict access to only authenticated clients.

1. In the [Azure classic portal](https://manage.windowsazure.com/), navigate to your mobile service, then click  **Data** > your table name (**TodoItem**) > **Permissions**.

2. Set all of the table operation permissions to **Only authenticated users**.

	 This ensures that all operations against the table require an authenticated user, which is required for this tutorial. You can set different permissions on each operations to support your specific scenario.  

1. In Android Studio, open the project that you created when you completed the tutorial [Get started with Mobile Services].

2. From the **Run** menu, then click **Run app**; verify that an unhandled exception with a status code of 401 (Unauthorized) is raised after the app starts.

	 This happens because the app attempts to access Mobile Services as an unauthenticated user, but the _TodoItem_ table now requires authentication.

Next, you will update the app to authenticate users before requesting resources from the mobile service.

## Add authentication to the app


1. In **Project Explorer** in Android Studio, open the ToDoActivity.java file and add the following import statements.

		import java.util.concurrent.ExecutionException;
		import java.util.concurrent.atomic.AtomicBoolean;

		import android.content.Context;
		import android.content.SharedPreferences;
		import android.content.SharedPreferences.Editor;

		import com.microsoft.windowsazure.mobileservices.authentication.MobileServiceAuthenticationProvider;
		import com.microsoft.windowsazure.mobileservices.authentication.MobileServiceUser;

2. Add the following method to the **ToDoActivity** class:

		private void authenticate() {
		    // Login using the Google provider.

			ListenableFuture<MobileServiceUser> mLogin = mClient.login(MobileServiceAuthenticationProvider.Google);

	    	Futures.addCallback(mLogin, new FutureCallback<MobileServiceUser>() {
	    		@Override
	    		public void onFailure(Throwable exc) {
	    			createAndShowDialog((Exception) exc, "Error");
	    		}   		
	    		@Override
	    		public void onSuccess(MobileServiceUser user) {
	    			createAndShowDialog(String.format(
	                        "You are now logged in - %1$2s",
	                        user.getUserId()), "Success");
	    			createTable();
	    		}
	    	});   	
		}


	This creates a new method to handle the authentication process. The user is authenticated by using a Google login. A dialog is displayed which displays the ID of the authenticated user. You cannot proceed without a positive authentication.

    > [AZURE.NOTE] If you are using an identity provider other than Google, change the value passed to the **login** method above to one of the following: _MicrosoftAccount_, _Facebook_, _Twitter_, or _windowsazureactivedirectory_.

3. In the **onCreate** method, add the following line of code after the code that instantiates the `MobileServiceClient` object.

		authenticate();

	This call starts the authentication process.

4. Move the remaining code after `authenticate();` in the **onCreate** method to a new **createTable** method, which looks like this:

		private void createTable() {

			// Get the table instance to use.
			mToDoTable = mClient.getTable(ToDoItem.class);

			mTextNewToDo = (EditText) findViewById(R.id.textNewToDo);

			// Create an adapter to bind the items with the view.
			mAdapter = new ToDoItemAdapter(this, R.layout.row_list_to_do);
			ListView listViewToDo = (ListView) findViewById(R.id.listViewToDo);
			listViewToDo.setAdapter(mAdapter);

			// Load the items from Azure.
			refreshItemsFromTable();
		}

9. From the **Run** menu, then click **Run app** to start the app and sign in with your chosen identity provider.

   	When you are successfully logged-in, the app should run without errors, and you should be able to query the backend service and make updates to data.


## <a name="cache-tokens"></a>Cache authentication tokens on the client


The previous example showed a standard sign-in, which requires the client to contact both the identity provider and the backend Azure service every time that the app starts. Not only is this method inefficient, you can run into usage-related issues should many customers try to start you app at the same time. A better approach is to cache the authorization token returned by the Azure service and try to use this first before using a provider-based sign-in.

>[AZURE.NOTE]You can cache the token issued by the backend Azure service regardless of whether you are using client-managed or service-managed authentication. This tutorial uses service-managed authentication.


1. Open the ToDoActivity.java file and add the following import statements:

        import android.content.Context;
        import android.content.SharedPreferences;
        import android.content.SharedPreferences.Editor;

2. Add the the following members to the `ToDoActivity` class.

    	public static final String SHAREDPREFFILE = "temp";
	    public static final String USERIDPREF = "uid";
    	public static final String TOKENPREF = "tkn";


3. In the ToDoActivity.java file, add the the following definition for the `cacheUserToken` method.

    	private void cacheUserToken(MobileServiceUser user)
	    {
    		SharedPreferences prefs = getSharedPreferences(SHAREDPREFFILE, Context.MODE_PRIVATE);
    	    Editor editor = prefs.edit();
	        editor.putString(USERIDPREF, user.getUserId());
    	    editor.putString(TOKENPREF, user.getAuthenticationToken());
	        editor.commit();
    	}

    This method stores the user id and token in a preference file that is marked private. This should protect access to the cache so that other apps on the device do not have access to the token because the preference is sandboxed for the app. However, if someone gains access to the device, it is possible that they may gain access to the token cache through other means.

    >[AZURE.NOTE]You can further protect the token with encryption if token access to your data is considered highly sensitive and someone may gain access to the device. However, a completely secure solution is beyond the scope of this tutorial and dependent on your security requirements.


4. In the ToDoActivity.java file, add the the following definition for the `loadUserTokenCache` method.

    	private boolean loadUserTokenCache(MobileServiceClient client)
	    {
	        SharedPreferences prefs = getSharedPreferences(SHAREDPREFFILE, Context.MODE_PRIVATE);
    	    String userId = prefs.getString(USERIDPREF, null);
	        if (userId == null)
	            return false;
    	    String token = prefs.getString(TOKENPREF, null);
    	    if (token == null)
    	        return false;

    	    MobileServiceUser user = new MobileServiceUser(userId);
    	    user.setAuthenticationToken(token);
    	    client.setCurrentUser(user);

    	    return true;
	    }



5. In the *ToDoActivity.java* file, replace the `authenticate` method with the following method which uses a token cache. Change the login provider if you want to use an account other than Google.

		private void authenticate() {
			// We first try to load a token cache if one exists.
		    if (loadUserTokenCache(mClient))
		    {
		        createTable();
		    }
		    // If we failed to load a token cache, login and create a token cache
		    else
		    {
			    // Login using the Google provider.    
				ListenableFuture<MobileServiceUser> mLogin = mClient.login(MobileServiceAuthenticationProvider.Google);

		    	Futures.addCallback(mLogin, new FutureCallback<MobileServiceUser>() {
		    		@Override
		    		public void onFailure(Throwable exc) {
		    			createAndShowDialog("You must log in. Login Required", "Error");
		    		}   		
		    		@Override
		    		public void onSuccess(MobileServiceUser user) {
		    			createAndShowDialog(String.format(
		                        "You are now logged in - %1$2s",
		                        user.getUserId()), "Success");
		    			cacheUserToken(mClient.getCurrentUser());
		    			createTable();
		    		}
		    	});
		    }
		}

6. Build the app and test authentication using a valid account. Run it at least twice. During the first run, you should receive a prompt to login and create the token cache. After that, each run will attempt to load the token cache for authentication and you should not be required to login.





## <a name="refresh-tokens"></a>Refresh the token cache

Our token cache should work in a simple case but, what happens when the token expires or is revoked? The token could expire when the app is not running. This would mean the token cache is invalid. The token could also expire while the app is actually running. The result is an HTTP status code 401 "Unauthorized".

We need to be able to detect an expired token, and refresh it. To do this we use a [ServiceFilter](http://dl.windowsazure.com/androiddocs/com/microsoft/windowsazure/mobileservices/ServiceFilter.html) from the [Android client library](http://dl.windowsazure.com/androiddocs/).

In this section you will define a ServiceFilter that will detect a HTTP status code 401 response and trigger a refresh of the token and the token cache. Additionally, this ServiceFilter will block other outbound requests during authentication so that those requests can use the refreshed token.

1. Open the ToDoActivity.java file and add the following import statements:

        import java.util.concurrent.atomic.AtomicBoolean;
		import java.util.concurrent.ExecutionException;

		import com.microsoft.windowsazure.mobileservices.MobileServiceException;

2. Add the following members to the `ToDoActivity` class.

    	public boolean bAuthenticating = false;
	    public final Object mAuthenticationLock = new Object();

    These will be used to help synchronize the authentication of the user. We only want to authenticate once. Any calls during an authentication should wait and use the new token from the authentication in progress.

3. In the ToDoActivity.java file, add the following method to the ToDoActivity class that will be used to block outbound calls on other threads while authentication is in progress.

	    /**
    	 * Detects if authentication is in progress and waits for it to complete.
         * Returns true if authentication was detected as in progress. False otherwise.
    	 */
    	public boolean detectAndWaitForAuthentication()
    	{
    		boolean detected = false;
    		synchronized(mAuthenticationLock)
    		{
    			do
    			{
    				if (bAuthenticating == true)
    					detected = true;
    				try
    				{
    					mAuthenticationLock.wait(1000);
    				}
    				catch(InterruptedException e)
    				{}
    			}
    			while(bAuthenticating == true);
    		}
    		if (bAuthenticating == true)
    			return true;

    		return detected;
    	}


4. In the ToDoActivity.java file, add the following method to the ToDoActivity class. This method triggers the wait and then update the token on outbound requests when authentication is complete.


    	/**
    	 * Waits for authentication to complete then adds or updates the token
    	 * in the X-ZUMO-AUTH request header.
    	 *
    	 * @param request
    	 *            The request that receives the updated token.
    	 */
    	private void waitAndUpdateRequestToken(ServiceFilterRequest request)
    	{
    		MobileServiceUser user = null;
    		if (detectAndWaitForAuthentication())
    		{
    			user = mClient.getCurrentUser();
    			if (user != null)
    			{
    				request.removeHeader("X-ZUMO-AUTH");
    				request.addHeader("X-ZUMO-AUTH", user.getAuthenticationToken());
    			}
    		}
    	}


5. In the ToDoActivity.java file, update the `authenticate` method of the ToDoActivity class so that it accepts a boolean parameter to allow forcing the refresh of the token and token cache. We also need to notify any blocked threads when authentication is completed so they can pick up the new token.

	    /**
    	 * Authenticates with the desired login provider. Also caches the token.
    	 *
    	 * If a local token cache is detected, the token cache is used instead of an actual
	     * login unless bRefresh is set to true forcing a refresh.
    	 *
	     * @param bRefreshCache
    	 *            Indicates whether to force a token refresh.
	     */
    	private void authenticate(boolean bRefreshCache) {

		    bAuthenticating = true;

		    if (bRefreshCache || !loadUserTokenCache(mClient))
	        {
	            // New login using the provider and update the token cache.
	            mClient.login(MobileServiceAuthenticationProvider.MicrosoftAccount,
	                    new UserAuthenticationCallback() {
	                        @Override
	                        public void onCompleted(MobileServiceUser user,
	                                Exception exception, ServiceFilterResponse response) {

	                    		synchronized(mAuthenticationLock)
	                    		{
		                        	if (exception == null) {
		                                cacheUserToken(mClient.getCurrentUser());
                                        createTable();
		                            } else {
		                                createAndShowDialog(exception.getMessage(), "Login Error");
		                            }
		            				bAuthenticating = false;
		            				mAuthenticationLock.notifyAll();
	                    		}
	                        }
	                    });
	        }
		    else
		    {
		    	// Other threads may be blocked waiting to be notified when
		    	// authentication is complete.
		    	synchronized(mAuthenticationLock)
		    	{
		    		bAuthenticating = false;
		    		mAuthenticationLock.notifyAll();
		    	}
                createTable();
		    }
	    }   



6. In the ToDoActivity.java file, add this code for a new `RefreshTokenCacheFilter` class inside the ToDoActivity class:

		/**
		* The RefreshTokenCacheFilter class filters responses for HTTP status code 401.
		 * When 401 is encountered, the filter calls the authenticate method on the
		 * UI thread. Out going requests and retries are blocked during authentication.
		 * Once authentication is complete, the token cache is updated and
		 * any blocked request will receive the X-ZUMO-AUTH header added or updated to
		 * that request.   
		 */
		private class RefreshTokenCacheFilter implements ServiceFilter {

	        AtomicBoolean mAtomicAuthenticatingFlag = new AtomicBoolean();                     

	        @Override
	        public ListenableFuture<ServiceFilterResponse> handleRequest(
	        		final ServiceFilterRequest request,
	        		final NextServiceFilterCallback nextServiceFilterCallback
	        		)
	        {
	            // In this example, if authentication is already in progress we block the request
	            // until authentication is complete to avoid unnecessary authentications as
	            // a result of HTTP status code 401.
	            // If authentication was detected, add the token to the request.
	            waitAndUpdateRequestToken(request);

	            // Send the request down the filter chain
	            // retrying up to 5 times on 401 response codes.
	            ListenableFuture<ServiceFilterResponse> future = null;
	            ServiceFilterResponse response = null;
	            int responseCode = 401;
	            for (int i = 0; (i < 5 ) && (responseCode == 401); i++)
	            {
	                future = nextServiceFilterCallback.onNext(request);
	                try {
	                    response = future.get();
	                    responseCode = response.getStatus().getStatusCode();
	                } catch (InterruptedException e) {
	                   e.printStackTrace();
	                } catch (ExecutionException e) {
	                    if (e.getCause().getClass() == MobileServiceException.class)
	                    {
	                        MobileServiceException mEx = (MobileServiceException) e.getCause();
	                        responseCode = mEx.getResponse().getStatus().getStatusCode();
	                        if (responseCode == 401)
	                        {
	                            // Two simultaneous requests from independent threads could get HTTP status 401.
	                            // Protecting against that right here so multiple authentication requests are
	                            // not setup to run on the UI thread.
	                            // We only want to authenticate once. Requests should just wait and retry
	                            // with the new token.
	                            if (mAtomicAuthenticatingFlag.compareAndSet(false, true))                                                                                                      
	                            {
	                                // Authenticate on UI thread
	                                runOnUiThread(new Runnable() {
	                                    @Override
	                                    public void run() {
	                                        // Force a token refresh during authentication.
	                                        authenticate(true);
	                                    }
	                                });
	                            }

				                // Wait for authentication to complete then update the token in the request.
				                waitAndUpdateRequestToken(request);
				                mAtomicAuthenticatingFlag.set(false);                                                  
	                        }
	                    }
	                }
	            }
	            return future;
	        }
		}


    This service filter will check each response for HTTP status code 401 "Unauthorized". If a 401 is encountered, a new login request to obtain a new token will be setup on the UI thread. Other calls will be blocked until the login is completed, or until 5 attempts have failed. If the new token is obtained, the request that triggered the 401 will be retried with the new token and any blocked calls will be retried with the new token.

7. In the ToDoActivity.java file, add this code for a new `ProgressFilter` class inside the ToDoActivity class:

		/**
		* The ProgressFilter class renders a progress bar on the screen during the time the App is waiting for the response of a previous request.
		* the filter shows the progress bar on the beginning of the request, and hides it when the response arrived.
		*/
		private class ProgressFilter implements ServiceFilter {
			@Override
			public ListenableFuture<ServiceFilterResponse> handleRequest(ServiceFilterRequest request, NextServiceFilterCallback nextServiceFilterCallback) {

				final SettableFuture<ServiceFilterResponse> resultFuture = SettableFuture.create();

				runOnUiThread(new Runnable() {

					@Override
					public void run() {
						if (mProgressBar != null) mProgressBar.setVisibility(ProgressBar.VISIBLE);
					}
				});

				ListenableFuture<ServiceFilterResponse> future = nextServiceFilterCallback.onNext(request);

				Futures.addCallback(future, new FutureCallback<ServiceFilterResponse>() {
					@Override
					public void onFailure(Throwable e) {
						resultFuture.setException(e);
					}

					@Override
					public void onSuccess(ServiceFilterResponse response) {
						runOnUiThread(new Runnable() {

							@Override
							public void run() {
								if (mProgressBar != null) mProgressBar.setVisibility(ProgressBar.GONE);
							}
						});

						resultFuture.set(response);
					}
				});

				return resultFuture;
			}
		}

	This filter will show the progress bar on the beginning of the request and will hide it when the response arrived.

8. In the ToDoActivity.java file, update the `onCreate` method as follows:

		@Override
	    public void onCreate(Bundle savedInstanceState) {
		    super.onCreate(savedInstanceState);

		    setContentView(R.layout.activity_to_do);
		    mProgressBar = (ProgressBar) findViewById(R.id.loadingProgressBar);

		    // Initialize the progress bar
		    mProgressBar.setVisibility(ProgressBar.GONE);

		    try {
		    	// Create the Mobile Service Client instance, using the provided
		    	// Mobile Service URL and key
		    	mClient = new MobileServiceClient(
		    			"https://<YOUR MOBILE SERVICE>.azure-mobile.net/",
		    			"<YOUR MOBILE SERVICE KEY>", this)
                           .withFilter(new ProgressFilter())
                           .withFilter(new RefreshTokenCacheFilter());

		    	// Authenticate passing false to load the current token cache if available.
		    	authenticate(false);

		    } catch (MalformedURLException e) {
			    createAndShowDialog(new Exception("Error creating the Mobile Service. " +
			        "Verify the URL"), "Error");
		    }
	    }


       In this code, `RefreshTokenCacheFilter` is used in addition to `ProgressFilter`. Also during `onCreate` we want to load the token cache. So `false` is passed in to the `authenticate` method.






## <a name="next-steps"></a>Next steps

In the next tutorial, [Authorize users with scripts], you will take the user ID value provided by Mobile Services based on an authenticated user and use it to filter the data returned by Mobile Services.

<!-- Anchors. -->
[Register your app for authentication and configure Mobile Services]: #register
[Restrict table permissions to authenticated users]: #permissions
[Add authentication to the app]: #add-authentication
[Store authentication tokens on the client]: #cache-tokens
[Refresh expired tokens]: #refresh-tokens
[Next Steps]:#next-steps

<!-- Images. -->




[4]: ./media/mobile-services-android-get-started-users/mobile-services-selection.png
[5]: ./media/mobile-services-android-get-started-users/mobile-service-uri.png







[13]: ./media/mobile-services-android-get-started-users/mobile-identity-tab.png
[14]: ./media/mobile-services-android-get-started-users/mobile-portal-data-tables.png
[15]: ./media/mobile-services-android-get-started-users/mobile-portal-change-table-perms.png


<!-- URLs. -->

[Submit an app page]: http://go.microsoft.com/fwlink/p/?LinkID=266582
[My Applications]: http://go.microsoft.com/fwlink/p/?LinkId=262039
[Live SDK for Windows]: http://go.microsoft.com/fwlink/p/?LinkId=262253
[Get started with Mobile Services]: mobile-services-android-get-started.md
[Authorize users with scripts]: mobile-services-javascript-backend-service-side-authorization.md


================================================
FILE: docs/mobile-services-android-get-started.md
================================================
<properties
	pageTitle="Get Started with Azure Mobile Services for Android apps (JavaScript backend)"
	description="Follow this tutorial to get started using Azure Mobile Services for Android development (JavaScript backend)."
	services="mobile-services"
	documentationCenter="android"
	authors="RickSaling"
	manager="reikre"
	editor=""/>

<tags
	ms.service="mobile-services"
	ms.workload="mobile"
	ms.tgt_pltfrm="mobile-android"
	ms.devlang="java"
	ms.topic="hero-article"
	ms.date="07/21/2016"
	ms.author="ricksal"/>

# Get started with Mobile Services for Android  (JavaScript backend)

> [AZURE.SELECTOR-LIST (Platform | Backend )]
- [(iOS | .NET)](mobile-services-dotnet-backend-ios-get-started.md)
- [(iOS | JavaScript)](mobile-services-ios-get-started.md)
- [(Windows Runtime 8.1 universal C# | .NET)](mobile-services-dotnet-backend-windows-store-dotnet-get-started.md)
- [(Windows Runtime 8.1 universal C# | Javascript)](mobile-services-javascript-backend-windows-store-dotnet-get-started.md)
- [(Windows Runtime 8.1 universal JavaScript | Javascript)](mobile-services-javascript-backend-windows-store-javascript-get-started.md)
- [(Android | .NET)](mobile-services-dotnet-backend-android-get-started.md)
- [(Android | Javascript)](mobile-services-android-get-started.md)
- [(Xamarin.iOS | .NET)](mobile-services-dotnet-backend-xamarin-ios-get-started.md)
- [(Xamarin.iOS | Javascript)](partner-xamarin-mobile-services-ios-get-started.md)
- [(Xamarin.Android | .NET)](mobile-services-dotnet-backend-xamarin-android-get-started.md)
- [(Xamarin.Android | Javascript)](partner-xamarin-mobile-services-android-get-started.md)
- [(HTML | Javascript)](mobile-services-html-get-started.md)
- [(PhoneGap | Javascript)](mobile-services-javascript-backend-phonegap-get-started.md)
- [(Sencha | Javascript)](partner-sencha-mobile-services-get-started.md)

&nbsp;

>[AZURE.WARNING] This is an **Azure Mobile Services** topic.  This service has been superseded by Azure App Service Mobile Apps and is scheduled for removal from Azure.  We recommend using Azure Mobile Apps for all new mobile backend deployments.  Read [this announcement](https://azure.microsoft.com/blog/transition-of-azure-mobile-services/) to learn more about the pending deprecation of this service.  
>
> Learn about [migrating your site to Azure App Service](https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-migrating-from-mobile-services/).
>
> Get started with Azure Mobile Apps, see the [Azure Mobile Apps documentation center](https://azure.microsoft.com/documentation/learning-paths/appservice-mobileapps/).

This tutorial shows you how to add a cloud-based backend service to an Android app using Azure Mobile Services. In this tutorial, you will create both a new mobile service and a simple **To do list** app that stores app data in the new mobile service.

> [AZURE.VIDEO mobile-get-started-android]

A screenshot from the completed app is below:

![](./media/mobile-services-android-get-started/mobile-quickstart-completed-android.png)

## Prerequisites

Completing this tutorial requires the [Android Developer Tools](https://developer.android.com/sdk/index.html), which includes the Android Studio integrated development environment, and the latest Android platform. Android 4.2 or a later version is required.

The downloaded quickstart project contains the Azure Mobile Services SDK for Android.

> [AZURE.IMPORTANT] To complete this tutorial, you need an Azure account. If you don't have an account, you can create a free trial account in just a couple of minutes. For details, see [Azure Free Trial](https://azure.microsoft.com/pricing/free-trial/?WT.mc_id=AE564AB28).


## Create a new mobile service



Follow these steps to create a new mobile service.

1.	Log into the [Azure classic portal](https://manage.windowsazure.com/). At the bottom of the navigation pane, click **+NEW**. Expand **Compute** and **Mobile Service**, then click **Create**.

	![](./media/mobile-services-create-new-service/mobile-create.png)

	This displays the **Create a Mobile Service** dialog.

2.	In the **Create a Mobile Service** dialog, select **Create a free 20 MB SQL Database**, select **JavaScript** runtime, then type a subdomain name for the new mobile service in the **URL** textbox. Click the right arrow button to go to the next page.

	![](./media/mobile-services-create-new-service/mobile-create-page1.png)

	This displays the **Specify database settings** page.

	>[AZURE.NOTE]As part of this tutorial, you create a new SQL Database instance and server. You can reuse this new database and administer it as you would any other SQL Database instance. If you already have a database in the same region as the new mobile service, you can instead choose **Use existing Database** and then select that database. The use of a database in a different region is not recommended because of additional bandwidth costs and higher latencies.

3.	In **Name**, type the name of the new database, then type **Login name**, which is the administrator login name for the new SQL Database server, type and confirm the password, and click the check button to complete the process.
	![](./media/mobile-services-create-new-service/mobile-create-page2.png)

You have now created a new mobile service that can be used by your mobile apps.


## Create a new Android app

Once you have created your mobile service, you can follow an easy quickstart in the Azure classic portal to either create a new app or modify an existing app to connect to your mobile service.

In this section you will create a new Android app that is connected to your mobile service.

1.  In the Azure classic portal, click **Mobile Services**, and then click the mobile service that you just created.

2. In the quickstart tab, click **Android** under **Choose platform** and expand **Create a new Android app**.

   	![](./media/mobile-services-android-get-started/mobile-portal-quickstart-android1.png)

   	This displays the thr
Download .txt
gitextract_8ud35due/

├── .gitattributes
├── .gitignore
├── .gitmodules
├── CHANGELOG.android.md
├── CHANGELOG.ios.md
├── CHANGELOG.javascript.md
├── CHANGELOG.managed.md
├── CHANGELOG.md
├── LICENSE.txt
├── README.md
├── component/
│   ├── .gitignore
│   ├── Details.md
│   ├── GettingStarted.md
│   ├── License.md
│   ├── component.yaml
│   ├── icon.psd
│   └── samples/
│       ├── androidsample/
│       │   ├── androidsample/
│       │   │   ├── Assets/
│       │   │   │   └── AboutAssets.txt
│       │   │   ├── Properties/
│       │   │   │   ├── AndroidManifest.xml
│       │   │   │   └── AssemblyInfo.cs
│       │   │   ├── Resources/
│       │   │   │   ├── AboutResources.txt
│       │   │   │   ├── Resource.designer.cs
│       │   │   │   ├── layout/
│       │   │   │   │   ├── Activity_To_Do.axml
│       │   │   │   │   └── Row_List_To_Do.axml
│       │   │   │   ├── menu/
│       │   │   │   │   └── activity_main.xml
│       │   │   │   ├── values/
│       │   │   │   │   ├── Strings.xml
│       │   │   │   │   └── styles.xml
│       │   │   │   ├── values-v11/
│       │   │   │   │   └── styles.xml
│       │   │   │   └── values-v14/
│       │   │   │       └── styles.xml
│       │   │   ├── ToDoActivity.cs
│       │   │   ├── ToDoItem.cs
│       │   │   ├── ToDoItemAdapter.cs
│       │   │   ├── androidsample.csproj
│       │   │   └── app.config
│       │   └── androidsample.sln
│       └── iOSsample/
│           ├── iOSsample/
│           │   ├── AppDelegate.cs
│           │   ├── Info.plist
│           │   ├── Main.cs
│           │   ├── MainStoryboard_iPad.storyboard
│           │   ├── MainStoryboard_iPhone.storyboard
│           │   ├── QSTodoListViewController.cs
│           │   ├── QSTodoListViewController.designer.cs
│           │   ├── QSTodoService.cs
│           │   ├── ToDoItem.cs
│           │   ├── app.config
│           │   └── iOSsample.csproj
│           └── iOSsample.sln
├── docs/
│   ├── README.md
│   ├── mobile-services-android-get-started-data.md
│   ├── mobile-services-android-get-started-offline-data.md
│   ├── mobile-services-android-get-started-users.md
│   ├── mobile-services-android-get-started.md
│   ├── mobile-services-android-how-to-use-client-library.md
│   ├── mobile-services-android-upload-data-blob-storage.md
│   ├── mobile-services-concepts-links.md
│   ├── mobile-services-disaster-recovery.md
│   ├── mobile-services-dotnet-backend-android-get-started-push.md
│   ├── mobile-services-dotnet-backend-android-get-started-users.md
│   ├── mobile-services-dotnet-backend-android-get-started.md
│   ├── mobile-services-dotnet-backend-define-custom-api.md
│   ├── mobile-services-dotnet-backend-get-started-custom-authentication.md
│   ├── mobile-services-dotnet-backend-how-to-configure-iis-express.md
│   ├── mobile-services-dotnet-backend-how-to-troubleshoot.md
│   ├── mobile-services-dotnet-backend-how-to-use-code-first-migrations.md
│   ├── mobile-services-dotnet-backend-hybrid-connections-get-started.md
│   ├── mobile-services-dotnet-backend-ios-adal-sso-authentication.md
│   ├── mobile-services-dotnet-backend-ios-get-started-push.md
│   ├── mobile-services-dotnet-backend-ios-get-started-users.md
│   ├── mobile-services-dotnet-backend-ios-get-started.md
│   ├── mobile-services-dotnet-backend-ios-push-notifications-app-users.md
│   ├── mobile-services-dotnet-backend-schedule-recurring-tasks.md
│   ├── mobile-services-dotnet-backend-service-side-authorization.md
│   ├── mobile-services-dotnet-backend-store-code-source-control.md
│   ├── mobile-services-dotnet-backend-store-data-table-storage.md
│   ├── mobile-services-dotnet-backend-use-existing-sql-database.md
│   ├── mobile-services-dotnet-backend-windows-store-dotnet-aad-rbac.md
│   ├── mobile-services-dotnet-backend-windows-store-dotnet-get-started.md
│   ├── mobile-services-dotnet-backend-windows-store-dotnet-leaderboard.md
│   ├── mobile-services-dotnet-backend-windows-store-dotnet-push-notifications-app-users.md
│   ├── mobile-services-dotnet-backend-windows-universal-dotnet-get-started-data.md
│   ├── mobile-services-dotnet-backend-windows-universal-dotnet-get-started-push.md
│   ├── mobile-services-dotnet-backend-windows-universal-dotnet-get-started-users.md
│   ├── mobile-services-dotnet-backend-windows-universal-dotnet-upload-data-blob-storage.md
│   ├── mobile-services-dotnet-backend-xamarin-android-get-started-push.md
│   ├── mobile-services-dotnet-backend-xamarin-android-get-started-users.md
│   ├── mobile-services-dotnet-backend-xamarin-android-get-started.md
│   ├── mobile-services-dotnet-backend-xamarin-ios-get-started-users.md
│   ├── mobile-services-dotnet-backend-xamarin-ios-get-started.md
│   ├── mobile-services-dotnet-how-to-use-client-library.md
│   ├── mobile-services-how-to-register-active-directory-authentication.md
│   ├── mobile-services-how-to-register-facebook-authentication.md
│   ├── mobile-services-how-to-register-google-authentication.md
│   ├── mobile-services-how-to-register-microsoft-authentication.md
│   ├── mobile-services-how-to-register-twitter-authentication.md
│   ├── mobile-services-how-to-use-multiple-clients-single-service.md
│   ├── mobile-services-how-to-use-server-scripts.md
│   ├── mobile-services-html-get-started-users.md
│   ├── mobile-services-html-get-started.md
│   ├── mobile-services-html-how-to-use-client-library.md
│   ├── mobile-services-ios-get-started-offline-data.md
│   ├── mobile-services-ios-get-started-users.md
│   ├── mobile-services-ios-get-started.md
│   ├── mobile-services-ios-handling-conflicts-offline-data.md
│   ├── mobile-services-ios-how-to-use-client-library.md
│   ├── mobile-services-javascript-backend-android-get-started-push.md
│   ├── mobile-services-javascript-backend-define-custom-api.md
│   ├── mobile-services-javascript-backend-ios-get-started-push.md
│   ├── mobile-services-javascript-backend-ios-push-notifications-app-users.md
│   ├── mobile-services-javascript-backend-phonegap-get-started.md
│   ├── mobile-services-javascript-backend-service-side-authorization.md
│   ├── mobile-services-javascript-backend-windows-phone-get-started-push.md
│   ├── mobile-services-javascript-backend-windows-store-dotnet-get-started.md
│   ├── mobile-services-javascript-backend-windows-store-dotnet-push-notifications-app-users.md
│   ├── mobile-services-javascript-backend-windows-store-javascript-get-started.md
│   ├── mobile-services-javascript-backend-windows-universal-dotnet-get-started-push.md
│   ├── mobile-services-javascript-backend-windows-universal-dotnet-get-started-users.md
│   ├── mobile-services-javascript-backend-windows-universal-dotnet-upload-data-blob-storage.md
│   ├── mobile-services-manage-command-line-interface.md
│   ├── mobile-services-schedule-recurring-tasks.md
│   ├── mobile-services-sql-scale-guidance.md
│   ├── mobile-services-store-scripts-source-control.md
│   ├── mobile-services-using-soft-delete.md
│   ├── mobile-services-windows-phone-get-started-data.md
│   ├── mobile-services-windows-phone-get-started-users.md
│   ├── mobile-services-windows-store-dotnet-adal-sso-authentication.md
│   ├── mobile-services-windows-store-dotnet-get-started-offline-data.md
│   ├── mobile-services-windows-store-dotnet-handle-database-conflicts.md
│   ├── mobile-services-windows-store-dotnet-handling-conflicts-offline-data.md
│   ├── mobile-services-xamarin-android-get-started-offline-data.md
│   ├── mobile-services-xamarin-ios-get-started-offline-data.md
│   ├── partner-sencha-mobile-services-get-started.md
│   ├── partner-twilio-mobile-services-how-to-use-voice-sms.md
│   ├── partner-xamarin-mobile-services-android-get-started-push.md
│   ├── partner-xamarin-mobile-services-android-get-started-users.md
│   ├── partner-xamarin-mobile-services-android-get-started.md
│   ├── partner-xamarin-mobile-services-ios-get-started-push.md
│   ├── partner-xamarin-mobile-services-ios-get-started-users.md
│   ├── partner-xamarin-mobile-services-ios-get-started.md
│   ├── partner-xamarin-mobile-services-xamarin-forms-get-started-push.md
│   ├── store-sendgrid-mobile-services-send-email-scripts.md
│   ├── vs-mobile-services-cordova-getting-started.md
│   ├── vs-mobile-services-cordova-what-happened.md
│   ├── vs-mobile-services-dotnet-getting-started.md
│   ├── vs-mobile-services-dotnet-what-happened.md
│   ├── vs-mobile-services-javascript-getting-started.md
│   └── vs-mobile-services-javascript-what-happened.md
├── sdk/
│   ├── Javascript/
│   │   ├── .gitignore
│   │   ├── Gruntfile.js
│   │   ├── Microsoft.WindowsAzure.Mobile.JS.sln
│   │   ├── package.json
│   │   ├── src/
│   │   │   ├── Generated/
│   │   │   │   └── .gitignore
│   │   │   ├── Internals/
│   │   │   │   ├── DevIntellisense.js
│   │   │   │   ├── InternalsVisible.js
│   │   │   │   └── NodeExports.js
│   │   │   ├── LoginUis/
│   │   │   │   ├── BrowserPopup.js
│   │   │   │   ├── CordovaPopup.js
│   │   │   │   └── WebAuthBroker.js
│   │   │   ├── Microsoft.WindowsAzure.Mobile.JS.csproj
│   │   │   ├── MobileServiceClient.js
│   │   │   ├── MobileServiceLogin.js
│   │   │   ├── MobileServiceTable.js
│   │   │   ├── MobileServices.intellisense.js
│   │   │   ├── MobileServices.intellisense.txt
│   │   │   ├── MobileServices.priconfig.xml
│   │   │   ├── Platforms/
│   │   │   │   ├── Platform.Web.js
│   │   │   │   └── Platform.WinJS.js
│   │   │   ├── Properties/
│   │   │   │   └── AssemblyInfo.cs
│   │   │   ├── Push/
│   │   │   │   ├── LocalStorageManager.js
│   │   │   │   ├── Push.Web.js
│   │   │   │   ├── Push.WinJS.js
│   │   │   │   ├── PushHttpClient.js
│   │   │   │   └── RegistrationManager.js
│   │   │   ├── Require.js
│   │   │   ├── Strings/
│   │   │   │   └── en-US/
│   │   │   │       └── Resources.resjson
│   │   │   ├── Transports/
│   │   │   │   ├── DirectAjaxTransport.js
│   │   │   │   └── IframeTransport.js
│   │   │   └── Utilities/
│   │   │       ├── Extensions.js
│   │   │       ├── PostMessageExchange.js
│   │   │       ├── Promises.js
│   │   │       └── Validate.js
│   │   ├── test/
│   │   │   ├── framework/
│   │   │   │   ├── ActionContinuation.cs
│   │   │   │   ├── Assert.cs
│   │   │   │   ├── FunctionalTestFilter.cs
│   │   │   │   ├── IAsyncExecution.cs
│   │   │   │   ├── IContinuation.cs
│   │   │   │   ├── ITestReporter.cs
│   │   │   │   ├── Microsoft.WindowsAzure.Mobile.WinJS.TestFramework.csproj
│   │   │   │   ├── Properties/
│   │   │   │   │   └── AssemblyInfo.cs
│   │   │   │   ├── RuntimeTestFilter.cs
│   │   │   │   ├── Tagging/
│   │   │   │   │   ├── TagManager.ExpressionEvaluator.cs
│   │   │   │   │   ├── TagManager.Tags.cs
│   │   │   │   │   ├── TagManager.cs
│   │   │   │   │   └── TagTestFilter.cs
│   │   │   │   ├── TestFilter.cs
│   │   │   │   ├── TestGroup.cs
│   │   │   │   ├── TestHarness.cs
│   │   │   │   ├── TestMethod.cs
│   │   │   │   ├── TestSettings.cs
│   │   │   │   └── WinJS/
│   │   │   │       ├── Formatter.cs
│   │   │   │       ├── MessageEventArgs.cs
│   │   │   │       ├── PromiseAsyncExecution.cs
│   │   │   │       ├── PromiseAsyncExecutionEventArgs.cs
│   │   │   │       └── TestReporter.cs
│   │   │   ├── web/
│   │   │   │   ├── Microsoft.Azure.Zumo.Web.Test.csproj
│   │   │   │   ├── Tests.library
│   │   │   │   ├── Web.Debug.config
│   │   │   │   ├── Web.Release.config
│   │   │   │   ├── Web.config
│   │   │   │   ├── css/
│   │   │   │   │   └── styles.css
│   │   │   │   ├── generated/
│   │   │   │   │   └── .gitignore
│   │   │   │   ├── index.html
│   │   │   │   ├── js/
│   │   │   │   │   ├── TestClientHelper.js
│   │   │   │   │   └── TestFrameworkAdapter.js
│   │   │   │   ├── promiseTests/
│   │   │   │   │   ├── package.json
│   │   │   │   │   ├── readme.txt
│   │   │   │   │   └── test-promises.js
│   │   │   │   └── tests/
│   │   │   │       └── unit/
│   │   │   │           └── push.js
│   │   │   └── winJS/
│   │   │       ├── Microsoft.Azure.Zumo.Windows.WinJS.Test_TemporaryKey.pfx
│   │   │       ├── Microsoft.WindowsAzure.Mobile.WinJS.Test.jsproj
│   │   │       ├── Tests.library
│   │   │       ├── css/
│   │   │       │   └── default.css
│   │   │       ├── default.html
│   │   │       ├── generated/
│   │   │       │   └── .gitignore
│   │   │       ├── js/
│   │   │       │   └── default.js
│   │   │       ├── package.appxmanifest
│   │   │       ├── packages.config
│   │   │       └── tests/
│   │   │           ├── TestFramework.js
│   │   │           ├── TestInterface.js
│   │   │           ├── functional/
│   │   │           │   ├── basics.js
│   │   │           │   ├── blogging.js
│   │   │           │   ├── dates.js
│   │   │           │   ├── mobileServiceTable.Functional.js
│   │   │           │   └── todo.js
│   │   │           ├── unit/
│   │   │           │   ├── extensions.js
│   │   │           │   ├── localStorageManager.js
│   │   │           │   ├── mobileServiceTables.js
│   │   │           │   ├── mobileServicesClient._request.js
│   │   │           │   ├── mobileServicesClient.js
│   │   │           │   ├── pushHttpClient.js
│   │   │           │   ├── registrationManager.js
│   │   │           │   └── validate.js
│   │   │           ├── utilities/
│   │   │           │   ├── TableHelper.js
│   │   │           │   └── constants.js
│   │   │           └── winJsOnly/
│   │   │               └── push.js
│   │   └── tools/
│   │       └── JSBuild/
│   │           ├── MergeJSModules.cs
│   │           ├── Microsoft.WindowsAzure.Mobile.JSBuild.csproj
│   │           └── Properties/
│   │               └── AssemblyInfo.cs
│   ├── Managed/
│   │   ├── .gitignore
│   │   ├── Microsoft.WindowsAzure.Mobile.Managed - IncludeXamarin.sln
│   │   ├── Microsoft.WindowsAzure.Mobile.Managed.SQLiteStore.sln
│   │   ├── Microsoft.WindowsAzure.Mobile.Managed.sln
│   │   ├── src/
│   │   │   ├── Microsoft.WindowsAzure.MobileServices/
│   │   │   │   ├── Authentication/
│   │   │   │   │   ├── MobileServiceAuthentication.cs
│   │   │   │   │   ├── MobileServiceAuthenticationProvider.cs
│   │   │   │   │   └── MobileServiceTokenAuthentication.cs
│   │   │   │   ├── Collections/
│   │   │   │   │   ├── MobileServiceCollection.cs
│   │   │   │   │   └── MobileServiceCollectionEventArgs.cs
│   │   │   │   ├── EnumValueAttribute.cs
│   │   │   │   ├── Exceptions/
│   │   │   │   │   ├── MobileServiceConflictException.cs
│   │   │   │   │   ├── MobileServiceInvalidOperationException.cs
│   │   │   │   │   ├── MobileServiceLocalStoreException.cs
│   │   │   │   │   ├── MobileServiceODataException.cs
│   │   │   │   │   ├── MobileServicePreconditionFailedException.cs
│   │   │   │   │   ├── MobileServicePushAbortException.cs
│   │   │   │   │   └── MobileServicePushFailedException.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── ExceptionExtensions.cs
│   │   │   │   │   ├── IDictionaryExtensions.cs
│   │   │   │   │   ├── JTokenExtensions.cs
│   │   │   │   │   ├── MobileServiceClientExtensions.cs
│   │   │   │   │   ├── MobileServiceCollectionExtensions.cs
│   │   │   │   │   ├── MobileServiceLocalStoreExtensions.cs
│   │   │   │   │   ├── MobileServiceSyncContextExtensions.cs
│   │   │   │   │   ├── MobileServiceSyncTableExtensions.cs
│   │   │   │   │   ├── MobileServiceTableExtensions.cs
│   │   │   │   │   ├── PlatformInformationExtensions.cs
│   │   │   │   │   ├── StringExtensions.cs
│   │   │   │   │   └── TypeExtensions.cs
│   │   │   │   ├── Http/
│   │   │   │   │   ├── HttpUtility.cs
│   │   │   │   │   ├── LinkHeaderValue.cs
│   │   │   │   │   ├── MobileServiceHttpClient.cs
│   │   │   │   │   └── MobileServiceHttpResponse.cs
│   │   │   │   ├── IMobileServiceClient.cs
│   │   │   │   ├── Microsoft.WindowsAzure.Mobile.csproj
│   │   │   │   ├── MobileServiceClient.cs
│   │   │   │   ├── MobileServiceFeatures.cs
│   │   │   │   ├── MobileServiceUrlBuilder.cs
│   │   │   │   ├── MobileServiceUser.cs
│   │   │   │   ├── Platform/
│   │   │   │   │   ├── IApplicationStorage.cs
│   │   │   │   │   ├── IExpressionUtility.cs
│   │   │   │   │   ├── IPlatform.cs
│   │   │   │   │   ├── IPlatformInformation.cs
│   │   │   │   │   ├── IPushUtility.cs
│   │   │   │   │   ├── Platform.cs
│   │   │   │   │   └── PreserveAttribute.cs
│   │   │   │   ├── Properties/
│   │   │   │   │   └── AssemblyInfo.cs
│   │   │   │   ├── Push/
│   │   │   │   │   ├── ILocalStorageManager.cs
│   │   │   │   │   ├── IRegistrationManager.cs
│   │   │   │   │   ├── LocalStorageManager.cs
│   │   │   │   │   ├── PushHttpClient.cs
│   │   │   │   │   ├── Registration.cs
│   │   │   │   │   ├── RegistrationClassConverter.cs
│   │   │   │   │   ├── RegistrationManager.cs
│   │   │   │   │   └── StoredRegistrationEntry.cs
│   │   │   │   ├── Resources.Designer.cs
│   │   │   │   ├── Resources.resx
│   │   │   │   ├── Table/
│   │   │   │   │   ├── IMobileServiceTable.Generic.cs
│   │   │   │   │   ├── IMobileServiceTable.cs
│   │   │   │   │   ├── MobileServiceObjectReader.cs
│   │   │   │   │   ├── MobileServiceSystemColumns.cs
│   │   │   │   │   ├── MobileServiceSystemProperties.cs
│   │   │   │   │   ├── MobileServiceTable.Generic.cs
│   │   │   │   │   ├── MobileServiceTable.cs
│   │   │   │   │   ├── Query/
│   │   │   │   │   │   ├── IQueryResultEnumerable.cs
│   │   │   │   │   │   ├── ITotalCountProvider.cs
│   │   │   │   │   │   ├── Linq/
│   │   │   │   │   │   │   ├── FilterBuildingExpressionVisitor.cs
│   │   │   │   │   │   │   ├── IMobileServiceTableQuery.cs
│   │   │   │   │   │   │   ├── MemberInfoKey.cs
│   │   │   │   │   │   │   ├── MobileServiceTableQuery.cs
│   │   │   │   │   │   │   ├── MobileServiceTableQueryProvider.cs
│   │   │   │   │   │   │   └── MobileServiceTableQueryTranslator.cs
│   │   │   │   │   │   ├── MobileServiceTableQueryDescription.cs
│   │   │   │   │   │   ├── OData/
│   │   │   │   │   │   │   ├── BinaryOperatorKind.cs
│   │   │   │   │   │   │   ├── BinaryOperatorNode.cs
│   │   │   │   │   │   │   ├── ConstantNode.cs
│   │   │   │   │   │   │   ├── ConvertNode.cs
│   │   │   │   │   │   │   ├── FunctionCallNode.cs
│   │   │   │   │   │   │   ├── MemberAccessNode.cs
│   │   │   │   │   │   │   ├── ODataExpressionLexer.cs
│   │   │   │   │   │   │   ├── ODataExpressionParser.cs
│   │   │   │   │   │   │   ├── ODataExpressionVisitor.cs
│   │   │   │   │   │   │   ├── OrderByDirection.cs
│   │   │   │   │   │   │   ├── OrderByNode.cs
│   │   │   │   │   │   │   ├── QueryNode.cs
│   │   │   │   │   │   │   ├── QueryNodeKind.cs
│   │   │   │   │   │   │   ├── QueryNodeVisitor.cs
│   │   │   │   │   │   │   ├── QueryToken.cs
│   │   │   │   │   │   │   ├── QueryTokenKind.cs
│   │   │   │   │   │   │   ├── UnaryOperatorKind.cs
│   │   │   │   │   │   │   └── UnaryOperatorNode.cs
│   │   │   │   │   │   ├── ODataOptions.cs
│   │   │   │   │   │   ├── QueryResult.cs
│   │   │   │   │   │   ├── QueryResultEnumerable.cs
│   │   │   │   │   │   └── QueryResultList.cs
│   │   │   │   │   ├── Serialization/
│   │   │   │   │   │   ├── CreatedAtAttribute.cs
│   │   │   │   │   │   ├── DataTableAttribute.cs
│   │   │   │   │   │   ├── DeletedAttribute.cs
│   │   │   │   │   │   ├── ISystemPropertyAttribute.cs
│   │   │   │   │   │   ├── MobileServiceContractResolver.cs
│   │   │   │   │   │   ├── MobileServiceIsoDateTimeConverter.cs
│   │   │   │   │   │   ├── MobileServiceJsonSerializerSettings.cs
│   │   │   │   │   │   ├── MobileServicePrecisionCheckConverter.cs
│   │   │   │   │   │   ├── MobileServiceSerializer.cs
│   │   │   │   │   │   ├── UpdatedAtAttribute.cs
│   │   │   │   │   │   └── VersionAttribute.cs
│   │   │   │   │   └── Sync/
│   │   │   │   │       ├── IMobileServiceLocalStore.cs
│   │   │   │   │       ├── IMobileServiceSyncContext.cs
│   │   │   │   │       ├── IMobileServiceSyncHandler.cs
│   │   │   │   │       ├── IMobileServiceSyncTable.Generic.cs
│   │   │   │   │       ├── IMobileServiceSyncTable.cs
│   │   │   │   │       ├── MobileServiceLocalStore.cs
│   │   │   │   │       ├── MobileServiceLocalSystemTables.cs
│   │   │   │   │       ├── MobileServicePushCompletionResult.cs
│   │   │   │   │       ├── MobileServicePushStatus.cs
│   │   │   │   │       ├── MobileServiceRemoteTableOptions.cs
│   │   │   │   │       ├── MobileServiceSyncContext.cs
│   │   │   │   │       ├── MobileServiceSyncHandler.cs
│   │   │   │   │       ├── MobileServiceSyncSettingsManager.cs
│   │   │   │   │       ├── MobileServiceSyncTable.Generic.cs
│   │   │   │   │       ├── MobileServiceSyncTable.cs
│   │   │   │   │       ├── PullOptions.cs
│   │   │   │   │       └── Queue/
│   │   │   │   │           ├── Actions/
│   │   │   │   │           │   ├── IncrementalPullStrategy.cs
│   │   │   │   │           │   ├── PullAction.cs
│   │   │   │   │           │   ├── PullCursor.cs
│   │   │   │   │           │   ├── PullStrategy.cs
│   │   │   │   │           │   ├── PurgeAction.cs
│   │   │   │   │           │   ├── PushAction.cs
│   │   │   │   │           │   ├── SyncAction.cs
│   │   │   │   │           │   └── TableAction.cs
│   │   │   │   │           ├── OperationBatch.cs
│   │   │   │   │           ├── OperationQueue.cs
│   │   │   │   │           └── Operations/
│   │   │   │   │               ├── DeleteOperation.cs
│   │   │   │   │               ├── IMobileServiceTableOperation.cs
│   │   │   │   │               ├── InsertOperation.cs
│   │   │   │   │               ├── MobileServiceTableKind.cs
│   │   │   │   │               ├── MobileServiceTableOperation.cs
│   │   │   │   │               ├── MobileServiceTableOperationError.cs
│   │   │   │   │               ├── MobileServiceTableOperationKind.cs
│   │   │   │   │               ├── MobileServiceTableOperationState.cs
│   │   │   │   │               └── UpdateOperation.cs
│   │   │   │   ├── Threading/
│   │   │   │   │   ├── ActionBlock.cs
│   │   │   │   │   ├── AsyncLock.cs
│   │   │   │   │   ├── AsyncLockDictionary.cs
│   │   │   │   │   ├── AsyncReaderWriterLock.cs
│   │   │   │   │   └── DisposeAction.cs
│   │   │   │   └── packages.config
│   │   │   ├── Microsoft.WindowsAzure.MobileServices.Android/
│   │   │   │   ├── Authentication/
│   │   │   │   │   └── MobileServiceUIAuthentication.cs
│   │   │   │   ├── ExpressionUtility/
│   │   │   │   │   └── ExpressionVisitor.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   └── MobileServiceClientExtensions.cs
│   │   │   │   ├── Microsoft.WindowsAzure.Mobile.Ext.Android.csproj
│   │   │   │   ├── Platform/
│   │   │   │   │   ├── ApplicationStorage.cs
│   │   │   │   │   ├── CurrentPlatform.cs
│   │   │   │   │   ├── PlatformInformation.cs
│   │   │   │   │   └── PushUtility.cs
│   │   │   │   ├── Properties/
│   │   │   │   │   └── AssemblyInfo.cs
│   │   │   │   ├── Push/
│   │   │   │   │   ├── GcmRegistration.cs
│   │   │   │   │   ├── GcmTemplateRegistration.cs
│   │   │   │   │   └── Push.cs
│   │   │   │   ├── Resources/
│   │   │   │   │   └── Resource.designer.cs
│   │   │   │   ├── app.config
│   │   │   │   └── packages.config
│   │   │   ├── Microsoft.WindowsAzure.MobileServices.Net45/
│   │   │   │   ├── Microsoft.WindowsAzure.Mobile.Ext.Net45.csproj
│   │   │   │   ├── Platform/
│   │   │   │   │   ├── ApplicationStorage.cs
│   │   │   │   │   ├── CurrentPlatform.cs
│   │   │   │   │   └── PlatformInformation.cs
│   │   │   │   ├── Properties/
│   │   │   │   │   └── AssemblyInfo.cs
│   │   │   │   ├── app.config
│   │   │   │   └── packages.config
│   │   │   ├── Microsoft.WindowsAzure.MobileServices.SQLiteStore/
│   │   │   │   ├── ColumnDefinition.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   └── EnumerableExtensions.cs
│   │   │   │   ├── Microsoft.WindowsAzure.Mobile.SQLiteStore.csproj
│   │   │   │   ├── MobileServiceSQLiteStore.cs
│   │   │   │   ├── MobileServiceSQLiteStoreExtensions.cs
│   │   │   │   ├── Properties/
│   │   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   │   ├── Resources.Designer.cs
│   │   │   │   │   └── Resources.resx
│   │   │   │   ├── SqlColumnType.cs
│   │   │   │   ├── SqlHelpers.cs
│   │   │   │   ├── SqlQueryFormatter.cs
│   │   │   │   ├── TableDefinition.cs
│   │   │   │   └── packages.config
│   │   │   ├── Microsoft.WindowsAzure.MobileServices.WindowsPhone8/
│   │   │   │   ├── Microsoft.WindowsAzure.Mobile.Ext.WP8.csproj
│   │   │   │   ├── Platform/
│   │   │   │   │   ├── ApplicationStorage.cs
│   │   │   │   │   ├── PlatformInformation.cs
│   │   │   │   │   └── PushUtility.cs
│   │   │   │   ├── Properties/
│   │   │   │   │   └── AssemblyInfo.cs
│   │   │   │   ├── Push/
│   │   │   │   │   ├── MpnsRegistration.cs
│   │   │   │   │   ├── MpnsTemplateRegistration.cs
│   │   │   │   │   └── Push.cs
│   │   │   │   ├── app.config
│   │   │   │   └── packages.config
│   │   │   ├── Microsoft.WindowsAzure.MobileServices.WindowsPhone8.UI/
│   │   │   │   ├── Authentication/
│   │   │   │   │   └── AuthenticationBroker.cs
│   │   │   │   ├── LoginPage.xaml
│   │   │   │   ├── LoginPage.xaml.cs
│   │   │   │   ├── Microsoft.WindowsAzure.Mobile.UI.WP8.csproj
│   │   │   │   ├── Properties/
│   │   │   │   │   └── AssemblyInfo.cs
│   │   │   │   ├── app.config
│   │   │   │   └── packages.config
│   │   │   ├── Microsoft.WindowsAzure.MobileServices.WindowsPhone81/
│   │   │   │   ├── Authentication/
│   │   │   │   │   └── AuthenticationBroker.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   └── MobileServiceClientExtensions.cs
│   │   │   │   ├── Microsoft.WindowsAzure.Mobile.Ext.WP81.csproj
│   │   │   │   ├── Platform/
│   │   │   │   │   ├── ApplicationStorage.cs
│   │   │   │   │   └── PlatformInformation.cs
│   │   │   │   ├── Properties/
│   │   │   │   │   └── AssemblyInfo.cs
│   │   │   │   ├── app.config
│   │   │   │   └── packages.config
│   │   │   ├── Microsoft.WindowsAzure.MobileServices.WindowsStore/
│   │   │   │   ├── App.config
│   │   │   │   ├── Authentication/
│   │   │   │   │   ├── AuthenticationBroker.cs
│   │   │   │   │   ├── MobileServiceSingleSignOnAuthentication.cs
│   │   │   │   │   └── MobileServiceUIAuthentication.cs
│   │   │   │   ├── Collections/
│   │   │   │   │   └── MobileServiceIncrementalLoadingCollection.cs
│   │   │   │   ├── ExpressionUtility/
│   │   │   │   │   ├── PartialEvaluator.cs
│   │   │   │   │   └── VisitorHelper.cs
│   │   │   │   ├── Extensions/
│   │   │   │   │   ├── MobileServiceClientExtensions.cs
│   │   │   │   │   ├── MobileServiceCollectionViewExtensions.cs
│   │   │   │   │   ├── MobileServiceIncrementalLoadingCollectionExtensions.cs
│   │   │   │   │   └── SingleSignOnExtensions.cs
│   │   │   │   ├── Microsoft.WindowsAzure.Mobile.Ext.Win8.csproj
│   │   │   │   ├── MobileServices.priconfig.xml
│   │   │   │   ├── Platform/
│   │   │   │   │   ├── ApplicationStorage.cs
│   │   │   │   │   ├── CurrentPlatform.cs
│   │   │   │   │   ├── ExpressionUtility.cs
│   │   │   │   │   ├── PlatformInformation.cs
│   │   │   │   │   └── PushUtility.cs
│   │   │   │   ├── Properties/
│   │   │   │   │   └── AssemblyInfo.cs
│   │   │   │   ├── Push/
│   │   │   │   │   ├── Push.cs
│   │   │   │   │   ├── WnsRegistration.cs
│   │   │   │   │   └── WnsTemplateRegistration.cs
│   │   │   │   └── packages.config
│   │   │   └── Microsoft.WindowsAzure.MobileServices.iOS/
│   │   │       ├── Authentication/
│   │   │       │   └── MobileServiceUIAuthentication.cs
│   │   │       ├── Extensions/
│   │   │       │   └── MobileServiceClientExtensions.cs
│   │   │       ├── Microsoft.WindowsAzure.Mobile.Ext.iOS-Classic.csproj
│   │   │       ├── Microsoft.WindowsAzure.Mobile.Ext.iOS.csproj
│   │   │       ├── Platform/
│   │   │       │   ├── ApplicationStorage.cs
│   │   │       │   ├── CurrentPlatform.cs
│   │   │       │   ├── PlatformInformation.cs
│   │   │       │   └── PushUtility.cs
│   │   │       ├── Properties/
│   │   │       │   └── AssemblyInfo.cs
│   │   │       ├── Push/
│   │   │       │   ├── ApnsRegistration.cs
│   │   │       │   ├── ApnsTemplateRegistration.cs
│   │   │       │   └── Push.cs
│   │   │       ├── app.config
│   │   │       └── packages.config
│   │   └── test/
│   │       ├── Microsoft.WindowsAzure.Mobile.Net45.Test/
│   │       │   ├── App.config
│   │       │   ├── App.xaml
│   │       │   ├── App.xaml.cs
│   │       │   ├── Common/
│   │       │   │   └── StandardStyles.xaml
│   │       │   ├── ConsoleHelper.cs
│   │       │   ├── Microsoft.WindowsAzure.Mobile.Net45.Test.csproj
│   │       │   ├── Properties/
│   │       │   │   ├── AssemblyInfo.cs
│   │       │   │   ├── Resources.Designer.cs
│   │       │   │   └── Resources.resx
│   │       │   ├── Settings.Designer.cs
│   │       │   ├── Settings.settings
│   │       │   ├── UI/
│   │       │   │   ├── MainPage.xaml
│   │       │   │   ├── MainPage.xaml.cs
│   │       │   │   ├── MainWindow.xaml
│   │       │   │   ├── MainWindow.xaml.cs
│   │       │   │   ├── TestPage.xaml
│   │       │   │   └── TestPage.xaml.cs
│   │       │   └── packages.config
│   │       ├── Microsoft.WindowsAzure.Mobile.Net45.Vb.Test/
│   │       │   ├── Microsoft.WindowsAzure.Mobile.Net45.Vb.Test.vbproj
│   │       │   ├── My Project/
│   │       │   │   ├── Application.Designer.vb
│   │       │   │   ├── Application.myapp
│   │       │   │   └── AssemblyInfo.vb
│   │       │   ├── QueryTests.vb
│   │       │   ├── TestsForOptionCompareBinary.vb
│   │       │   ├── TestsForOptionCompareText.vb
│   │       │   ├── app.config
│   │       │   └── packages.config
│   │       ├── Microsoft.WindowsAzure.MobileServices.Android.Test/
│   │       │   ├── App.cs
│   │       │   ├── GroupDescription.cs
│   │       │   ├── HarnessActivity.cs
│   │       │   ├── LoginActivity.cs
│   │       │   ├── Microsoft.WindowsAzure.Mobile.Android.Test.csproj
│   │       │   ├── Properties/
│   │       │   │   ├── AndroidManifest.xml
│   │       │   │   └── AssemblyInfo.cs
│   │       │   ├── Resources/
│   │       │   │   ├── Layout/
│   │       │   │   │   ├── Harness.axml
│   │       │   │   │   ├── ListedGroup.axml
│   │       │   │   │   ├── ListedTest.axml
│   │       │   │   │   ├── Login.axml
│   │       │   │   │   └── Test.axml
│   │       │   │   ├── Resource.Designer.cs
│   │       │   │   └── Values/
│   │       │   │       └── Strings.xml
│   │       │   ├── TestActivity.cs
│   │       │   ├── TestDescription.cs
│   │       │   ├── TestListener.cs
│   │       │   ├── TestPlatform/
│   │       │   │   └── PushTestUtility.cs
│   │       │   ├── app.config
│   │       │   └── packages.config
│   │       ├── Microsoft.WindowsAzure.MobileServices.SQLiteStore.Android.Test/
│   │       │   ├── App.cs
│   │       │   ├── GroupDescription.cs
│   │       │   ├── HarnessActivity.cs
│   │       │   ├── LoginActivity.cs
│   │       │   ├── Microsoft.WindowsAzure.Mobile.SQLiteStore.Android.Test.csproj
│   │       │   ├── Properties/
│   │       │   │   ├── AndroidManifest.xml
│   │       │   │   └── AssemblyInfo.cs
│   │       │   ├── Resources/
│   │       │   │   ├── Layout/
│   │       │   │   │   ├── Harness.axml
│   │       │   │   │   ├── ListedGroup.axml
│   │       │   │   │   ├── ListedTest.axml
│   │       │   │   │   ├── Login.axml
│   │       │   │   │   └── Test.axml
│   │       │   │   ├── Resource.Designer.cs
│   │       │   │   └── Values/
│   │       │   │       └── Strings.xml
│   │       │   ├── TestActivity.cs
│   │       │   ├── TestDescription.cs
│   │       │   ├── TestListener.cs
│   │       │   ├── app.config
│   │       │   └── packages.config
│   │       ├── Microsoft.WindowsAzure.MobileServices.SQLiteStore.Net45.Test/
│   │       │   ├── App.config
│   │       │   ├── App.xaml
│   │       │   ├── App.xaml.cs
│   │       │   ├── Common/
│   │       │   │   └── StandardStyles.xaml
│   │       │   ├── Microsoft.WindowsAzure.Mobile.SQLiteStore.Net45.Test.csproj
│   │       │   ├── Properties/
│   │       │   │   ├── AssemblyInfo.cs
│   │       │   │   ├── Resources.Designer.cs
│   │       │   │   └── Resources.resx
│   │       │   ├── Settings.Designer.cs
│   │       │   ├── Settings.settings
│   │       │   ├── UI/
│   │       │   │   ├── MainPage.xaml
│   │       │   │   ├── MainPage.xaml.cs
│   │       │   │   ├── MainWindow.xaml
│   │       │   │   ├── MainWindow.xaml.cs
│   │       │   │   ├── TestPage.xaml
│   │       │   │   └── TestPage.xaml.cs
│   │       │   └── packages.config
│   │       ├── Microsoft.WindowsAzure.MobileServices.SQLiteStore.Test/
│   │       │   ├── Microsoft.WindowsAzure.Mobile.SQLiteStore.Test.csproj
│   │       │   ├── Properties/
│   │       │   │   └── AssemblyInfo.cs
│   │       │   ├── TestUtilities.cs
│   │       │   ├── UnitTests/
│   │       │   │   ├── SQLiteStoreTests.Integration.cs
│   │       │   │   ├── SQLiteStoreTests.Query.cs
│   │       │   │   ├── SQLiteStoreTests.cs
│   │       │   │   └── SyncSettingsManagerTests.Integration.cs
│   │       │   └── packages.config
│   │       ├── Microsoft.WindowsAzure.MobileServices.SQLiteStore.Test.Unit/
│   │       │   ├── Microsoft.WindowsAzure.Mobile.SQLiteStore.Test.Unit.csproj
│   │       │   ├── MobileServiceSQLiteStoreExtensionTests.cs
│   │       │   ├── Properties/
│   │       │   │   └── AssemblyInfo.cs
│   │       │   ├── SqlHelperTests.cs
│   │       │   ├── SqlQueryFormatterTests.cs
│   │       │   ├── app.config
│   │       │   └── packages.config
│   │       ├── Microsoft.WindowsAzure.MobileServices.SQLiteStore.WindowsPhone8.Test/
│   │       │   ├── App.xaml
│   │       │   ├── App.xaml.cs
│   │       │   ├── LocalizedStrings.cs
│   │       │   ├── MainPage.xaml
│   │       │   ├── MainPage.xaml.cs
│   │       │   ├── Microsoft.WindowsAzure.Mobile.SQLiteStore.WP8.Test.csproj
│   │       │   ├── Properties/
│   │       │   │   ├── AppManifest.xml
│   │       │   │   ├── AssemblyInfo.cs
│   │       │   │   └── WMAppManifest.xml
│   │       │   ├── Resources/
│   │       │   │   ├── AppResources.Designer.cs
│   │       │   │   └── AppResources.resx
│   │       │   ├── app.config
│   │       │   └── packages.config
│   │       ├── Microsoft.WindowsAzure.MobileServices.SQLiteStore.WindowsStore.Test/
│   │       │   ├── App.xaml
│   │       │   ├── App.xaml.cs
│   │       │   ├── Common/
│   │       │   │   └── StandardStyles.xaml
│   │       │   ├── Microsoft.WindowsAzure.Mobile.SQLiteStore.Win8.Test.csproj
│   │       │   ├── Microsoft.WindowsAzure.Mobile.SQLiteStore.Win8.Test_TemporaryKey.pfx
│   │       │   ├── Mocks/
│   │       │   │   └── MobileServiceTableQueryMock.cs
│   │       │   ├── Package.appxmanifest
│   │       │   ├── Properties/
│   │       │   │   └── AssemblyInfo.cs
│   │       │   ├── UI/
│   │       │   │   ├── GroupDescription.cs
│   │       │   │   ├── MainPage.xaml
│   │       │   │   ├── MainPage.xaml.cs
│   │       │   │   ├── Microsoft.WindowsAzure.Mobile.Win8.Test_TemporaryKey.pfx
│   │       │   │   ├── TestDescription.cs
│   │       │   │   ├── TestPage.xaml
│   │       │   │   └── TestPage.xaml.cs
│   │       │   └── packages.config
│   │       ├── Microsoft.WindowsAzure.MobileServices.SQLiteStore.iOS.Test/
│   │       │   ├── AppDelegate.cs
│   │       │   ├── Info.plist
│   │       │   ├── Main.cs
│   │       │   ├── Microsoft.WindowsAzure.Mobile.SQLiteStore.iOS.Test.csproj
│   │       │   ├── Properties/
│   │       │   │   └── AssemblyInfo.cs
│   │       │   ├── UI/
│   │       │   │   ├── HarnessViewController.cs
│   │       │   │   ├── LoginViewController.cs
│   │       │   │   └── TestViewController.cs
│   │       │   ├── app.config
│   │       │   ├── packages.config
│   │       │   └── readme.txt
│   │       ├── Microsoft.WindowsAzure.MobileServices.Test/
│   │       │   ├── AssertEx.cs
│   │       │   ├── FunctionalTests/
│   │       │   │   ├── BloggingTest.cs
│   │       │   │   ├── Book.cs
│   │       │   │   ├── DataSourceTest.cs
│   │       │   │   ├── DateTests.cs
│   │       │   │   ├── FunctionalTestBase.cs
│   │       │   │   ├── QueryingTest.cs
│   │       │   │   ├── Table/
│   │       │   │   │   └── MobileServiceTableTest.cs
│   │       │   │   └── ToDoTest.cs
│   │       │   ├── Microsoft.WindowsAzure.Mobile.Test.csproj
│   │       │   ├── Mocks/
│   │       │   │   ├── MobileServiceLocalStoreMock.cs
│   │       │   │   ├── MobileServiceSyncHandlerMock.cs
│   │       │   │   └── MobileServiceTableQueryMock.cs
│   │       │   ├── Properties/
│   │       │   │   └── AssemblyInfo.cs
│   │       │   ├── SerializationTypes/
│   │       │   │   ├── BaseTypes.cs
│   │       │   │   ├── ComplexType.cs
│   │       │   │   ├── ConverterType.cs
│   │       │   │   ├── DataContractDerivedDataContractType.cs
│   │       │   │   ├── DataContractDerivedJsonPropertyType.cs
│   │       │   │   ├── DataContractDerivedPocoType.cs
│   │       │   │   ├── DataContractType.cs
│   │       │   │   ├── DataMemberType.cs
│   │       │   │   ├── DataTableType.cs
│   │       │   │   ├── DerivedDuplicateKeyType.cs
│   │       │   │   ├── DuplicateKeyType.cs
│   │       │   │   ├── IdTypes.cs
│   │       │   │   ├── InterfacePropertyType.cs
│   │       │   │   ├── JObjectTypes.cs
│   │       │   │   ├── JsonContainerType.cs
│   │       │   │   ├── JsonPropertyDerivedDataContractType.cs
│   │       │   │   ├── JsonPropertyDerivedJsonPropertyType.cs
│   │       │   │   ├── JsonPropertyType.cs
│   │       │   │   ├── PocoDerivedDataContractType.cs
│   │       │   │   ├── PocoDerivedJsonPropertyType.cs
│   │       │   │   ├── PocoDerivedPocoType.cs
│   │       │   │   ├── PocoType.cs
│   │       │   │   ├── SerializationTypeUtility.cs
│   │       │   │   ├── SimpleTreeType.cs
│   │       │   │   ├── SystemPropertyTypes.cs
│   │       │   │   ├── TestConverter.cs
│   │       │   │   └── TypeWithConstructor.cs
│   │       │   ├── TestData/
│   │       │   │   ├── IdTestData.cs
│   │       │   │   └── SystemPropertiesTestData.cs
│   │       │   ├── TestPlatform/
│   │       │   │   ├── IPushTestUtility.cs
│   │       │   │   ├── ITestPlatform.cs
│   │       │   │   ├── MissingPushTestUtility.cs
│   │       │   │   ├── MissingTestPlatform.cs
│   │       │   │   └── TestPlatform.cs
│   │       │   ├── UnitTests/
│   │       │   │   ├── Authentication/
│   │       │   │   │   └── MobileServiceTokenAuthenticationTests.cs
│   │       │   │   ├── Collections/
│   │       │   │   │   └── MobileServiceCollection.Test.cs
│   │       │   │   ├── Http/
│   │       │   │   │   └── HttpUtilityTests.cs
│   │       │   │   ├── HttpHandlers/
│   │       │   │   │   ├── ComplexDelegatingHandler.cs
│   │       │   │   │   └── TestHttpHandler.cs
│   │       │   │   ├── MobileServiceClient.Test.cs
│   │       │   │   ├── MobileServiceFeatures.Test.cs
│   │       │   │   ├── MobileServiceUrlBuilder.Test.cs
│   │       │   │   ├── MobileServiceUser.Test.cs
│   │       │   │   ├── OData/
│   │       │   │   │   └── ODataExpressionParser.Test.cs
│   │       │   │   ├── Push/
│   │       │   │   │   ├── LocalStorageMananger.Test.cs
│   │       │   │   │   └── PushHttpClient.Test.cs
│   │       │   │   └── Table/
│   │       │   │       ├── MobileServiceObjectReaderTests.cs
│   │       │   │       ├── MobileServiceTable.Generic.Test.cs
│   │       │   │       ├── MobileServiceTable.Test.cs
│   │       │   │       ├── Query/
│   │       │   │       │   ├── MemberInfoKey.Test.cs
│   │       │   │       │   └── ZumoQuery.Test.cs
│   │       │   │       ├── Serialization/
│   │       │   │       │   ├── MobileServiceContractResolver.Test.cs
│   │       │   │       │   ├── MobileServiceIsoDateTimeConverter.Test.cs
│   │       │   │       │   ├── MobileServicePrecisionCheckConverter.Test.cs
│   │       │   │       │   └── MobileServiceSerializer.Test.cs
│   │       │   │       └── Sync/
│   │       │   │           ├── MobileServiceSyncContext.Test.cs
│   │       │   │           ├── MobileServiceSyncTable.Generic.Test.cs
│   │       │   │           └── MobileServiceSyncTable.Test.cs
│   │       │   └── packages.config
│   │       ├── Microsoft.WindowsAzure.MobileServices.Test.Unit/
│   │       │   ├── Extensions/
│   │       │   │   ├── ExceptionExtensions.Test.cs
│   │       │   │   └── JTokenExtensionsTests.cs
│   │       │   ├── Microsoft.WindowsAzure.Mobile.Test.Unit.csproj
│   │       │   ├── Properties/
│   │       │   │   └── AssemblyInfo.cs
│   │       │   ├── Table/
│   │       │   │   ├── MobileServiceSyncContextTests.cs
│   │       │   │   ├── Query/
│   │       │   │   │   └── MobileServiceTableQueryDescriptionTests.cs
│   │       │   │   └── Sync/
│   │       │   │       ├── MobileServiceSyncTableTests.cs
│   │       │   │       └── Queue/
│   │       │   │           ├── Actions/
│   │       │   │           │   ├── PullActionTests.cs
│   │       │   │           │   └── PushActionTests.cs
│   │       │   │           └── Operations/
│   │       │   │               ├── DeleteOperationTests.cs
│   │       │   │               ├── InsertOperationTests.cs
│   │       │   │               ├── MobileServiceTableOperationErrorTests.cs
│   │       │   │               ├── MobileServiceTableOperationTests.cs
│   │       │   │               └── UpdateOperationTests.cs
│   │       │   ├── Threading/
│   │       │   │   └── AsyncLockDictionaryTests.cs
│   │       │   ├── app.config
│   │       │   └── packages.config
│   │       ├── Microsoft.WindowsAzure.MobileServices.TestFramework/
│   │       │   ├── Framework/
│   │       │   │   ├── ActionContinuation.cs
│   │       │   │   ├── Assert.cs
│   │       │   │   ├── AsyncTestMethodAsyncAction.cs
│   │       │   │   ├── AsyncTestMethodAttribute.cs
│   │       │   │   ├── ExcludeTestAttribute.cs
│   │       │   │   ├── FunctionalTestAttribute.cs
│   │       │   │   ├── FunctionalTestFilter.cs
│   │       │   │   ├── IAsyncExecution.cs
│   │       │   │   ├── IContinuation.cs
│   │       │   │   ├── ITestReporter.cs
│   │       │   │   ├── TagAttribute.cs
│   │       │   │   ├── TagManager.ExpressionEvaluator.cs
│   │       │   │   ├── TagManager.Tags.cs
│   │       │   │   ├── TagManager.cs
│   │       │   │   ├── TagTestFilter.cs
│   │       │   │   ├── TestBase.cs
│   │       │   │   ├── TestFilter.cs
│   │       │   │   ├── TestGroup.cs
│   │       │   │   ├── TestHarness.cs
│   │       │   │   ├── TestMethod.cs
│   │       │   │   ├── TestMethodAsyncAction.cs
│   │       │   │   ├── TestMethodAttribute.cs
│   │       │   │   └── TestSettings.cs
│   │       │   ├── Microsoft.WindowsAzure.Mobile.TestFramework.csproj
│   │       │   ├── Properties/
│   │       │   │   └── AssemblyInfo.cs
│   │       │   └── packages.config
│   │       ├── Microsoft.WindowsAzure.MobileServices.WindowsPhone8.Test/
│   │       │   ├── App.xaml
│   │       │   ├── App.xaml.cs
│   │       │   ├── LocalizedStrings.cs
│   │       │   ├── MainPage.xaml
│   │       │   ├── MainPage.xaml.cs
│   │       │   ├── Microsoft.WindowsAzure.Mobile.WP8.Test.csproj
│   │       │   ├── Package.appxmanifest
│   │       │   ├── PlatformTests/
│   │       │   │   └── LoginTests.cs
│   │       │   ├── Properties/
│   │       │   │   ├── AppManifest.xml
│   │       │   │   ├── AssemblyInfo.cs
│   │       │   │   └── WMAppManifest.xml
│   │       │   ├── Resources/
│   │       │   │   ├── AppResources.Designer.cs
│   │       │   │   └── AppResources.resx
│   │       │   ├── TestPlatform/
│   │       │   │   └── PushTestUtility.cs
│   │       │   ├── UnitTests/
│   │       │   │   └── MobileServiceSerializer.Test.cs
│   │       │   ├── app.config
│   │       │   └── packages.config
│   │       ├── Microsoft.WindowsAzure.MobileServices.WindowsPhone81.Test/
│   │       │   ├── App.xaml
│   │       │   ├── App.xaml.cs
│   │       │   ├── MainPage.xaml
│   │       │   ├── MainPage.xaml.cs
│   │       │   ├── Microsoft.WindowsAzure.Mobile.WP81.Test.csproj
│   │       │   ├── Package.appxmanifest
│   │       │   ├── Properties/
│   │       │   │   └── AssemblyInfo.cs
│   │       │   ├── UI/
│   │       │   │   ├── LoginPage.xaml
│   │       │   │   └── LoginPage.xaml.cs
│   │       │   ├── app.config
│   │       │   └── packages.config
│   │       ├── Microsoft.WindowsAzure.MobileServices.WindowsStore.Test/
│   │       │   ├── App.xaml
│   │       │   ├── App.xaml.cs
│   │       │   ├── Common/
│   │       │   │   └── StandardStyles.xaml
│   │       │   ├── Functional/
│   │       │   │   └── PushFunctional.Test.cs
│   │       │   ├── Microsoft.WindowsAzure.Mobile.Win8.Test.csproj
│   │       │   ├── Microsoft.WindowsAzure.Mobile.Win8.Test_TemporaryKey.pfx
│   │       │   ├── Mocks/
│   │       │   │   └── MobileServiceTableQueryMock.cs
│   │       │   ├── Package.appxmanifest
│   │       │   ├── PlatformTests/
│   │       │   │   └── LoginTests.cs
│   │       │   ├── Properties/
│   │       │   │   └── AssemblyInfo.cs
│   │       │   ├── TestPlatform/
│   │       │   │   ├── CurrentTestPlatform.cs
│   │       │   │   └── PushTestUtility.cs
│   │       │   ├── UI/
│   │       │   │   ├── GroupDescription.cs
│   │       │   │   ├── LoginPage.xaml
│   │       │   │   ├── LoginPage.xaml.cs
│   │       │   │   ├── MainPage.xaml
│   │       │   │   ├── MainPage.xaml.cs
│   │       │   │   ├── TestDescription.cs
│   │       │   │   ├── TestPage.xaml
│   │       │   │   └── TestPage.xaml.cs
│   │       │   ├── UnitTests/
│   │       │   │   ├── Collections/
│   │       │   │   │   └── IncrementalLoadingMobileServiceCollection.Test.cs
│   │       │   │   └── PushUnit.Test.cs
│   │       │   └── packages.config
│   │       └── Microsoft.WindowsAzure.MobileServices.iOS.Test/
│   │           ├── AppDelegate.cs
│   │           ├── Info.plist
│   │           ├── Main.cs
│   │           ├── Microsoft.WindowsAzure.Mobile.iOS.Test.csproj
│   │           ├── Properties/
│   │           │   └── AssemblyInfo.cs
│   │           ├── TestPlatform/
│   │           │   └── PushTestUtility.cs
│   │           ├── UI/
│   │           │   ├── HarnessViewController.cs
│   │           │   ├── LoginViewController.cs
│   │           │   └── TestViewController.cs
│   │           ├── UnitTests/
│   │           │   └── PushPlatformTest.cs
│   │           ├── app.config
│   │           ├── packages.config
│   │           └── readme.txt
│   ├── android/
│   │   ├── .gitattributes
│   │   ├── .gitignore
│   │   ├── android-libraries.gradle
│   │   ├── build.gradle
│   │   ├── gradle/
│   │   │   └── wrapper/
│   │   │       └── gradle-wrapper.properties
│   │   ├── gradle.properties
│   │   ├── gradlew
│   │   ├── gradlew.bat
│   │   ├── settings.gradle
│   │   ├── src/
│   │   │   ├── notifications-handler/
│   │   │   │   ├── .settings/
│   │   │   │   │   └── org.eclipse.jdt.core.prefs
│   │   │   │   ├── build.gradle
│   │   │   │   ├── doc/
│   │   │   │   │   ├── allclasses-frame.html
│   │   │   │   │   ├── allclasses-noframe.html
│   │   │   │   │   ├── com/
│   │   │   │   │   │   └── microsoft/
│   │   │   │   │   │       └── windowsazure/
│   │   │   │   │   │           └── notifications/
│   │   │   │   │   │               ├── BuildConfig.html
│   │   │   │   │   │               ├── NotificationsBroadcastReceiver.html
│   │   │   │   │   │               ├── NotificationsHandler.html
│   │   │   │   │   │               ├── NotificationsManager.html
│   │   │   │   │   │               ├── class-use/
│   │   │   │   │   │               │   ├── BuildConfig.html
│   │   │   │   │   │               │   ├── NotificationsBroadcastReceiver.html
│   │   │   │   │   │               │   ├── NotificationsHandler.html
│   │   │   │   │   │               │   └── NotificationsManager.html
│   │   │   │   │   │               ├── package-frame.html
│   │   │   │   │   │               ├── package-summary.html
│   │   │   │   │   │               ├── package-tree.html
│   │   │   │   │   │               └── package-use.html
│   │   │   │   │   ├── constant-values.html
│   │   │   │   │   ├── help-doc.html
│   │   │   │   │   ├── index-files/
│   │   │   │   │   │   ├── index-1.html
│   │   │   │   │   │   ├── index-2.html
│   │   │   │   │   │   ├── index-3.html
│   │   │   │   │   │   ├── index-4.html
│   │   │   │   │   │   ├── index-5.html
│   │   │   │   │   │   ├── index-6.html
│   │   │   │   │   │   └── index-7.html
│   │   │   │   │   ├── index.html
│   │   │   │   │   ├── overview-tree.html
│   │   │   │   │   ├── package-list
│   │   │   │   │   └── stylesheet.css
│   │   │   │   ├── proguard-rules.pro
│   │   │   │   └── src/
│   │   │   │       └── main/
│   │   │   │           ├── AndroidManifest.xml
│   │   │   │           ├── java/
│   │   │   │           │   └── com/
│   │   │   │           │       └── microsoft/
│   │   │   │           │           └── windowsazure/
│   │   │   │           │               └── notifications/
│   │   │   │           │                   ├── NotificationsBroadcastReceiver.java
│   │   │   │           │                   ├── NotificationsHandler.java
│   │   │   │           │                   └── NotificationsManager.java
│   │   │   │           └── res/
│   │   │   │               └── values/
│   │   │   │                   └── strings.xml
│   │   │   ├── sdk/
│   │   │   │   ├── .pmd
│   │   │   │   ├── .settings/
│   │   │   │   │   └── org.eclipse.jdt.core.prefs
│   │   │   │   ├── build.gradle
│   │   │   │   ├── doc/
│   │   │   │   │   ├── allclasses-frame.html
│   │   │   │   │   ├── allclasses-noframe.html
│   │   │   │   │   ├── com/
│   │   │   │   │   │   └── microsoft/
│   │   │   │   │   │       └── windowsazure/
│   │   │   │   │   │           └── mobileservices/
│   │   │   │   │   │               ├── ApiJsonOperationCallback.html
│   │   │   │   │   │               ├── ApiOperationCallback.html
│   │   │   │   │   │               ├── BuildConfig.html
│   │   │   │   │   │               ├── MobileServiceApplication.html
│   │   │   │   │   │               ├── MobileServiceClient.html
│   │   │   │   │   │               ├── MobileServiceException.html
│   │   │   │   │   │               ├── MobileServiceFeatures.html
│   │   │   │   │   │               ├── MobileServiceList.html
│   │   │   │   │   │               ├── ServiceFilterResponseCallback.html
│   │   │   │   │   │               ├── UserAuthenticationCallback.html
│   │   │   │   │   │               ├── authentication/
│   │   │   │   │   │               │   ├── LoginManager.html
│   │   │   │   │   │               │   ├── MobileServiceAuthenticationProvider.html
│   │   │   │   │   │               │   ├── MobileServiceUser.html
│   │   │   │   │   │               │   ├── class-use/
│   │   │   │   │   │               │   │   ├── LoginManager.html
│   │   │   │   │   │               │   │   ├── MobileServiceAuthenticationProvider.html
│   │   │   │   │   │               │   │   └── MobileServiceUser.html
│   │   │   │   │   │               │   ├── package-frame.html
│   │   │   │   │   │               │   ├── package-summary.html
│   │   │   │   │   │               │   ├── package-tree.html
│   │   │   │   │   │               │   └── package-use.html
│   │   │   │   │   │               ├── class-use/
│   │   │   │   │   │               │   ├── ApiJsonOperationCallback.html
│   │   │   │   │   │               │   ├── ApiOperationCallback.html
│   │   │   │   │   │               │   ├── BuildConfig.html
│   │   │   │   │   │               │   ├── MobileServiceApplication.html
│   │   │   │   │   │               │   ├── MobileServiceClient.html
│   │   │   │   │   │               │   ├── MobileServiceException.html
│   │   │   │   │   │               │   ├── MobileServiceFeatures.html
│   │   │   │   │   │               │   ├── MobileServiceList.html
│   │   │   │   │   │               │   ├── ServiceFilterResponseCallback.html
│   │   │   │   │   │               │   └── UserAuthenticationCallback.html
│   │   │   │   │   │               ├── http/
│   │   │   │   │   │               │   ├── AndroidHttpClientFactory.html
│   │   │   │   │   │               │   ├── AndroidHttpClientFactoryImpl.html
│   │   │   │   │   │               │   ├── HttpPatch.html
│   │   │   │   │   │               │   ├── MobileServiceConnection.html
│   │   │   │   │   │               │   ├── MobileServiceHttpClient.html
│   │   │   │   │   │               │   ├── NextServiceFilterCallback.html
│   │   │   │   │   │               │   ├── RequestAsyncTask.html
│   │   │   │   │   │               │   ├── ServiceFilter.html
│   │   │   │   │   │               │   ├── ServiceFilterRequest.html
│   │   │   │   │   │               │   ├── ServiceFilterRequestImpl.html
│   │   │   │   │   │               │   ├── ServiceFilterResponse.html
│   │   │   │   │   │               │   ├── ServiceFilterResponseImpl.html
│   │   │   │   │   │               │   ├── class-use/
│   │   │   │   │   │               │   │   ├── AndroidHttpClientFactory.html
│   │   │   │   │   │               │   │   ├── AndroidHttpClientFactoryImpl.html
│   │   │   │   │   │               │   │   ├── HttpPatch.html
│   │   │   │   │   │               │   │   ├── MobileServiceConnection.html
│   │   │   │   │   │               │   │   ├── MobileServiceHttpClient.html
│   │   │   │   │   │               │   │   ├── NextServiceFilterCallback.html
│   │   │   │   │   │               │   │   ├── RequestAsyncTask.html
│   │   │   │   │   │               │   │   ├── ServiceFilter.html
│   │   │   │   │   │               │   │   ├── ServiceFilterRequest.html
│   │   │   │   │   │               │   │   ├── ServiceFilterRequestImpl.html
│   │   │   │   │   │               │   │   ├── ServiceFilterResponse.html
│   │   │   │   │   │               │   │   └── ServiceFilterResponseImpl.html
│   │   │   │   │   │               │   ├── package-frame.html
│   │   │   │   │   │               │   ├── package-summary.html
│   │   │   │   │   │               │   ├── package-tree.html
│   │   │   │   │   │               │   └── package-use.html
│   │   │   │   │   │               ├── notifications/
│   │   │   │   │   │               │   ├── GcmNativeRegistration.html
│   │   │   │   │   │               │   ├── GcmTemplateRegistration.html
│   │   │   │   │   │               │   ├── MobileServicePush.html
│   │   │   │   │   │               │   ├── Registration.html
│   │   │   │   │   │               │   ├── RegistrationCallback.html
│   │   │   │   │   │               │   ├── RegistrationGoneException.html
│   │   │   │   │   │               │   ├── TemplateRegistration.html
│   │   │   │   │   │               │   ├── TemplateRegistrationCallback.html
│   │   │   │   │   │               │   ├── UnregisterCallback.html
│   │   │   │   │   │               │   ├── class-use/
│   │   │   │   │   │               │   │   ├── GcmNativeRegistration.html
│   │   │   │   │   │               │   │   ├── GcmTemplateRegistration.html
│   │   │   │   │   │               │   │   ├── MobileServicePush.html
│   │   │   │   │   │               │   │   ├── Registration.html
│   │   │   │   │   │               │   │   ├── RegistrationCallback.html
│   │   │   │   │   │               │   │   ├── RegistrationGoneException.html
│   │   │   │   │   │               │   │   ├── TemplateRegistration.html
│   │   │   │   │   │               │   │   ├── TemplateRegistrationCallback.html
│   │   │   │   │   │               │   │   └── UnregisterCallback.html
│   │   │   │   │   │               │   ├── package-frame.html
│   │   │   │   │   │               │   ├── package-summary.html
│   │   │   │   │   │               │   ├── package-tree.html
│   │   │   │   │   │               │   └── package-use.html
│   │   │   │   │   │               ├── package-frame.html
│   │   │   │   │   │               ├── package-summary.html
│   │   │   │   │   │               ├── package-tree.html
│   │   │   │   │   │               ├── package-use.html
│   │   │   │   │   │               ├── table/
│   │   │   │   │   │               │   ├── MobileServiceJsonTable.html
│   │   │   │   │   │               │   ├── MobileServicePreconditionFailedException.html
│   │   │   │   │   │               │   ├── MobileServicePreconditionFailedExceptionBase.html
│   │   │   │   │   │               │   ├── MobileServiceSystemProperty.html
│   │   │   │   │   │               │   ├── MobileServiceTable.html
│   │   │   │   │   │               │   ├── MobileServiceTableSystemPropertiesProvider.html
│   │   │   │   │   │               │   ├── TableDeleteCallback.html
│   │   │   │   │   │               │   ├── TableJsonOperationCallback.html
│   │   │   │   │   │               │   ├── TableJsonQueryCallback.html
│   │   │   │   │   │               │   ├── TableOperationCallback.html
│   │   │   │   │   │               │   ├── TableQueryCallback.html
│   │   │   │   │   │               │   ├── class-use/
│   │   │   │   │   │               │   │   ├── MobileServiceJsonTable.html
│   │   │   │   │   │               │   │   ├── MobileServicePreconditionFailedException.html
│   │   │   │   │   │               │   │   ├── MobileServicePreconditionFailedExceptionBase.html
│   │   │   │   │   │               │   │   ├── MobileServiceSystemProperty.html
│   │   │   │   │   │               │   │   ├── MobileServiceTable.html
│   │   │   │   │   │               │   │   ├── MobileServiceTableSystemPropertiesProvider.html
│   │   │   │   │   │               │   │   ├── TableDeleteCallback.html
│   │   │   │   │   │               │   │   ├── TableJsonOperationCallback.html
│   │   │   │   │   │               │   │   ├── TableJsonQueryCallback.html
│   │   │   │   │   │               │   │   ├── TableOperationCallback.html
│   │   │   │   │   │               │   │   └── TableQueryCallback.html
│   │   │   │   │   │               │   ├── package-frame.html
│   │   │   │   │   │               │   ├── package-summary.html
│   │   │   │   │   │               │   ├── package-tree.html
│   │   │   │   │   │               │   ├── package-use.html
│   │   │   │   │   │               │   ├── query/
│   │   │   │   │   │               │   │   ├── ExecutableJsonQuery.html
│   │   │   │   │   │               │   │   ├── ExecutableQuery.html
│   │   │   │   │   │               │   │   ├── Query.html
│   │   │   │   │   │               │   │   ├── QueryException.html
│   │   │   │   │   │               │   │   ├── QueryNodeSQLWriter.html
│   │   │   │   │   │               │   │   ├── QueryODataWriter.html
│   │   │   │   │   │               │   │   ├── QueryOperations.html
│   │   │   │   │   │               │   │   ├── QueryOrder.html
│   │   │   │   │   │               │   │   ├── QuerySQLWriter.html
│   │   │   │   │   │               │   │   ├── UnaryOperatorKind.html
│   │   │   │   │   │               │   │   ├── class-use/
│   │   │   │   │   │               │   │   │   ├── ExecutableJsonQuery.html
│   │   │   │   │   │               │   │   │   ├── ExecutableQuery.html
│   │   │   │   │   │               │   │   │   ├── Query.html
│   │   │   │   │   │               │   │   │   ├── QueryException.html
│   │   │   │   │   │               │   │   │   ├── QueryNodeSQLWriter.html
│   │   │   │   │   │               │   │   │   ├── QueryODataWriter.html
│   │   │   │   │   │               │   │   │   ├── QueryOperations.html
│   │   │   │   │   │               │   │   │   ├── QueryOrder.html
│   │   │   │   │   │               │   │   │   ├── QuerySQLWriter.html
│   │   │   │   │   │               │   │   │   └── UnaryOperatorKind.html
│   │   │   │   │   │               │   │   ├── package-frame.html
│   │   │   │   │   │               │   │   ├── package-summary.html
│   │   │   │   │   │               │   │   ├── package-tree.html
│   │   │   │   │   │               │   │   └── package-use.html
│   │   │   │   │   │               │   ├── serialization/
│   │   │   │   │   │               │   │   ├── DateSerializer.html
│   │   │   │   │   │               │   │   ├── JsonEntityParser.html
│   │   │   │   │   │               │   │   ├── LongSerializer.html
│   │   │   │   │   │               │   │   ├── class-use/
│   │   │   │   │   │               │   │   │   ├── DateSerializer.html
│   │   │   │   │   │               │   │   │   ├── JsonEntityParser.html
│   │   │   │   │   │               │   │   │   └── LongSerializer.html
│   │   │   │   │   │               │   │   ├── package-frame.html
│   │   │   │   │   │               │   │   ├── package-summary.html
│   │   │   │   │   │               │   │   ├── package-tree.html
│   │   │   │   │   │               │   │   └── package-use.html
│   │   │   │   │   │               │   └── sync/
│   │   │   │   │   │               │       ├── MobileServiceJsonSyncTable.html
│   │   │   │   │   │               │       ├── MobileServiceSyncContext.html
│   │   │   │   │   │               │       ├── MobileServiceSyncTable.html
│   │   │   │   │   │               │       ├── class-use/
│   │   │   │   │   │               │       │   ├── MobileServiceJsonSyncTable.html
│   │   │   │   │   │               │       │   ├── MobileServiceSyncContext.html
│   │   │   │   │   │               │       │   └── MobileServiceSyncTable.html
│   │   │   │   │   │               │       ├── localstore/
│   │   │   │   │   │               │       │   ├── ColumnDataType.html
│   │   │   │   │   │               │       │   ├── MobileServiceLocalStore.html
│   │   │   │   │   │               │       │   ├── MobileServiceLocalStoreException.html
│   │   │   │   │   │               │       │   ├── SQLiteLocalStore.html
│   │   │   │   │   │               │       │   ├── class-use/
│   │   │   │   │   │               │       │   │   ├── ColumnDataType.html
│   │   │   │   │   │               │       │   │   ├── MobileServiceLocalStore.html
│   │   │   │   │   │               │       │   │   ├── MobileServiceLocalStoreException.html
│   │   │   │   │   │               │       │   │   └── SQLiteLocalStore.html
│   │   │   │   │   │               │       │   ├── package-frame.html
│   │   │   │   │   │               │       │   ├── package-summary.html
│   │   │   │   │   │               │       │   ├── package-tree.html
│   │   │   │   │   │               │       │   └── package-use.html
│   │   │   │   │   │               │       ├── operations/
│   │   │   │   │   │               │       │   ├── DeleteOperation.html
│   │   │   │   │   │               │       │   ├── InsertOperation.html
│   │   │   │   │   │               │       │   ├── LocalTableOperationProcessor.html
│   │   │   │   │   │               │       │   ├── RemoteTableOperationProcessor.html
│   │   │   │   │   │               │       │   ├── TableOperation.html
│   │   │   │   │   │               │       │   ├── TableOperationCollapser.html
│   │   │   │   │   │               │       │   ├── TableOperationError.html
│   │   │   │   │   │               │       │   ├── TableOperationKind.html
│   │   │   │   │   │               │       │   ├── TableOperationVisitor.html
│   │   │   │   │   │               │       │   ├── UpdateOperation.html
│   │   │   │   │   │               │       │   ├── class-use/
│   │   │   │   │   │               │       │   │   ├── DeleteOperation.html
│   │   │   │   │   │               │       │   │   ├── InsertOperation.html
│   │   │   │   │   │               │       │   │   ├── LocalTableOperationProcessor.html
│   │   │   │   │   │               │       │   │   ├── RemoteTableOperationProcessor.html
│   │   │   │   │   │               │       │   │   ├── TableOperation.html
│   │   │   │   │   │               │       │   │   ├── TableOperationCollapser.html
│   │   │   │   │   │               │       │   │   ├── TableOperationError.html
│   │   │   │   │   │               │       │   │   ├── TableOperationKind.html
│   │   │   │   │   │               │       │   │   ├── TableOperationVisitor.html
│   │   │   │   │   │               │       │   │   └── UpdateOperation.html
│   │   │   │   │   │               │       │   ├── package-frame.html
│   │   │   │   │   │               │       │   ├── package-summary.html
│   │   │   │   │   │               │       │   ├── package-tree.html
│   │   │   │   │   │               │       │   └── package-use.html
│   │   │   │   │   │               │       ├── package-frame.html
│   │   │   │   │   │               │       ├── package-summary.html
│   │   │   │   │   │               │       ├── package-tree.html
│   │   │   │   │   │               │       ├── package-use.html
│   │   │   │   │   │               │       ├── push/
│   │   │   │   │   │               │       │   ├── MobileServicePushCompletionResult.html
│   │   │   │   │   │               │       │   ├── MobileServicePushFailedException.html
│   │   │   │   │   │               │       │   ├── MobileServicePushStatus.html
│   │   │   │   │   │               │       │   ├── class-use/
│   │   │   │   │   │               │       │   │   ├── MobileServicePushCompletionResult.html
│   │   │   │   │   │               │       │   │   ├── MobileServicePushFailedException.html
│   │   │   │   │   │               │       │   │   └── MobileServicePushStatus.html
│   │   │   │   │   │               │       │   ├── package-frame.html
│   │   │   │   │   │               │       │   ├── package-summary.html
│   │   │   │   │   │               │       │   ├── package-tree.html
│   │   │   │   │   │               │       │   └── package-use.html
│   │   │   │   │   │               │       ├── queue/
│   │   │   │   │   │               │       │   ├── OperationErrorList.html
│   │   │   │   │   │               │       │   ├── OperationQueue.Bookmark.html
│   │   │   │   │   │               │       │   ├── OperationQueue.html
│   │   │   │   │   │               │       │   ├── class-use/
│   │   │   │   │   │               │       │   │   ├── OperationErrorList.html
│   │   │   │   │   │               │       │   │   ├── OperationQueue.Bookmark.html
│   │   │   │   │   │               │       │   │   └── OperationQueue.html
│   │   │   │   │   │               │       │   ├── package-frame.html
│   │   │   │   │   │               │       │   ├── package-summary.html
│   │   │   │   │   │               │       │   ├── package-tree.html
│   │   │   │   │   │               │       │   └── package-use.html
│   │   │   │   │   │               │       └── synchandler/
│   │   │   │   │   │               │           ├── MobileServiceSyncHandler.html
│   │   │   │   │   │               │           ├── MobileServiceSyncHandlerException.html
│   │   │   │   │   │               │           ├── SimpleSyncHandler.html
│   │   │   │   │   │               │           ├── class-use/
│   │   │   │   │   │               │           │   ├── MobileServiceSyncHandler.html
│   │   │   │   │   │               │           │   ├── MobileServiceSyncHandlerException.html
│   │   │   │   │   │               │           │   └── SimpleSyncHandler.html
│   │   │   │   │   │               │           ├── package-frame.html
│   │   │   │   │   │               │           ├── package-summary.html
│   │   │   │   │   │               │           ├── package-tree.html
│   │   │   │   │   │               │           └── package-use.html
│   │   │   │   │   │               └── threading/
│   │   │   │   │   │                   ├── MultiLockDictionary.MultiLock.html
│   │   │   │   │   │                   ├── MultiLockDictionary.html
│   │   │   │   │   │                   ├── MultiReadWriteLockDictionary.MultiReadWriteLock.html
│   │   │   │   │   │                   ├── MultiReadWriteLockDictionary.html
│   │   │   │   │   │                   ├── class-use/
│   │   │   │   │   │                   │   ├── MultiLockDictionary.MultiLock.html
│   │   │   │   │   │                   │   ├── MultiLockDictionary.html
│   │   │   │   │   │                   │   ├── MultiReadWriteLockDictionary.MultiReadWriteLock.html
│   │   │   │   │   │                   │   └── MultiReadWriteLockDictionary.html
│   │   │   │   │   │                   ├── package-frame.html
│   │   │   │   │   │                   ├── package-summary.html
│   │   │   │   │   │                   ├── package-tree.html
│   │   │   │   │   │                   └── package-use.html
│   │   │   │   │   ├── constant-values.html
│   │   │   │   │   ├── deprecated-list.html
│   │   │   │   │   ├── help-doc.html
│   │   │   │   │   ├── index-files/
│   │   │   │   │   │   ├── index-1.html
│   │   │   │   │   │   ├── index-10.html
│   │   │   │   │   │   ├── index-11.html
│   │   │   │   │   │   ├── index-12.html
│   │   │   │   │   │   ├── index-13.html
│   │   │   │   │   │   ├── index-14.html
│   │   │   │   │   │   ├── index-15.html
│   │   │   │   │   │   ├── index-16.html
│   │   │   │   │   │   ├── index-17.html
│   │   │   │   │   │   ├── index-18.html
│   │   │   │   │   │   ├── index-19.html
│   │   │   │   │   │   ├── index-2.html
│   │   │   │   │   │   ├── index-20.html
│   │   │   │   │   │   ├── index-21.html
│   │   │   │   │   │   ├── index-22.html
│   │   │   │   │   │   ├── index-23.html
│   │   │   │   │   │   ├── index-24.html
│   │   │   │   │   │   ├── index-3.html
│   │   │   │   │   │   ├── index-4.html
│   │   │   │   │   │   ├── index-5.html
│   │   │   │   │   │   ├── index-6.html
│   │   │   │   │   │   ├── index-7.html
│   │   │   │   │   │   ├── index-8.html
│   │   │   │   │   │   └── index-9.html
│   │   │   │   │   ├── index.html
│   │   │   │   │   ├── overview-frame.html
│   │   │   │   │   ├── overview-summary.html
│   │   │   │   │   ├── overview-tree.html
│   │   │   │   │   ├── package-list
│   │   │   │   │   ├── script.js
│   │   │   │   │   ├── serialized-form.html
│   │   │   │   │   └── stylesheet.css
│   │   │   │   ├── proguard-rules.pro
│   │   │   │   └── src/
│   │   │   │       └── main/
│   │   │   │           ├── AndroidManifest.xml
│   │   │   │           ├── java/
│   │   │   │           │   └── com/
│   │   │   │           │       └── microsoft/
│   │   │   │           │           └── windowsazure/
│   │   │   │           │               └── mobileservices/
│   │   │   │           │                   ├── ApiJsonOperationCallback.java
│   │   │   │           │                   ├── ApiOperationCallback.java
│   │   │   │           │                   ├── MobileServiceApplication.java
│   │   │   │           │                   ├── MobileServiceClient.java
│   │   │   │           │                   ├── MobileServiceException.java
│   │   │   │           │                   ├── MobileServiceFeatures.java
│   │   │   │           │                   ├── MobileServiceList.java
│   │   │   │           │                   ├── ServiceFilterResponseCallback.java
│   │   │   │           │                   ├── UserAuthenticationCallback.java
│   │   │   │           │                   ├── authentication/
│   │   │   │           │                   │   ├── LoginManager.java
│   │   │   │           │                   │   ├── MobileServiceAuthenticationProvider.java
│   │   │   │           │                   │   └── MobileServiceUser.java
│   │   │   │           │                   ├── http/
│   │   │   │           │                   │   ├── AndroidHttpClientFactory.java
│   │   │   │           │                   │   ├── AndroidHttpClientFactoryImpl.java
│   │   │   │           │                   │   ├── HttpPatch.java
│   │   │   │           │                   │   ├── MobileServiceConnection.java
│   │   │   │           │                   │   ├── MobileServiceHttpClient.java
│   │   │   │           │                   │   ├── NextServiceFilterCallback.java
│   │   │   │           │                   │   ├── RequestAsyncTask.java
│   │   │   │           │                   │   ├── ServiceFilter.java
│   │   │   │           │                   │   ├── ServiceFilterRequest.java
│   │   │   │           │                   │   ├── ServiceFilterRequestImpl.java
│   │   │   │           │                   │   ├── ServiceFilterResponse.java
│   │   │   │           │                   │   └── ServiceFilterResponseImpl.java
│   │   │   │           │                   ├── notifications/
│   │   │   │           │                   │   ├── GcmNativeRegistration.java
│   │   │   │           │                   │   ├── GcmTemplateRegistration.java
│   │   │   │           │                   │   ├── MobileServicePush.java
│   │   │   │           │                   │   ├── PnsSpecificRegistrationFactory.java
│   │   │   │           │                   │   ├── Registration.java
│   │   │   │           │                   │   ├── RegistrationCallback.java
│   │   │   │           │                   │   ├── RegistrationGoneException.java
│   │   │   │           │                   │   ├── TemplateRegistration.java
│   │   │   │           │                   │   ├── TemplateRegistrationCallback.java
│   │   │   │           │                   │   └── UnregisterCallback.java
│   │   │   │           │                   ├── table/
│   │   │   │           │                   │   ├── DateTimeOffset.java
│   │   │   │           │                   │   ├── MobileServiceConflictException.java
│   │   │   │           │                   │   ├── MobileServiceConflictExceptionJson.java
│   │   │   │           │                   │   ├── MobileServiceExceptionBase.java
│   │   │   │           │                   │   ├── MobileServiceJsonTable.java
│   │   │   │           │                   │   ├── MobileServicePreconditionFailedException.java
│   │   │   │           │                   │   ├── MobileServicePreconditionFailedExceptionJson.java
│   │   │   │           │                   │   ├── MobileServiceSystemColumns.java
│   │   │   │           │                   │   ├── MobileServiceSystemProperty.java
│   │   │   │           │                   │   ├── MobileServiceTable.java
│   │   │   │           │                   │   ├── MobileServiceTableBase.java
│   │   │   │           │                   │   ├── MobileServiceTableSystemPropertiesProvider.java
│   │   │   │           │                   │   ├── TableDeleteCallback.java
│   │   │   │           │                   │   ├── TableJsonOperationCallback.java
│   │   │   │           │                   │   ├── TableJsonQueryCallback.java
│   │   │   │           │                   │   ├── TableOperationCallback.java
│   │   │   │           │                   │   ├── TableQueryCallback.java
│   │   │   │           │                   │   ├── query/
│   │   │   │           │                   │   │   ├── BinaryOperatorKind.java
│   │   │   │           │                   │   │   ├── BinaryOperatorNode.java
│   │   │   │           │                   │   │   ├── BinaryOperatorNodeMerger.java
│   │   │   │           │                   │   │   ├── ConstantNode.java
│   │   │   │           │                   │   │   ├── ConstantNodeMerger.java
│   │   │   │           │                   │   │   ├── ExecutableJsonQuery.java
│   │   │   │           │                   │   │   ├── ExecutableQuery.java
│   │   │   │           │                   │   │   ├── FieldNode.java
│   │   │   │           │                   │   │   ├── FieldNodeMerger.java
│   │   │   │           │                   │   │   ├── FunctionCallKind.java
│   │   │   │           │                   │   │   ├── FunctionCallNode.java
│   │   │   │           │                   │   │   ├── FunctionCallNodeMerger.java
│   │   │   │           │                   │   │   ├── Query.java
│   │   │   │           │                   │   │   ├── QueryBase.java
│   │   │   │           │                   │   │   ├── QueryException.java
│   │   │   │           │                   │   │   ├── QueryNode.java
│   │   │   │           │                   │   │   ├── QueryNodeKind.java
│   │   │   │           │                   │   │   ├── QueryNodeMerger.java
│   │   │   │           │                   │   │   ├── QueryNodeODataWriter.java
│   │   │   │           │                   │   │   ├── QueryNodeSQLWriter.java
│   │   │   │           │                   │   │   ├── QueryNodeVisitor.java
│   │   │   │           │                   │   │   ├── QueryODataWriter.java
│   │   │   │           │                   │   │   ├── QueryOperations.java
│   │   │   │           │                   │   │   ├── QueryOrder.java
│   │   │   │           │                   │   │   ├── QuerySQLWriter.java
│   │   │   │           │                   │   │   ├── UnaryOperatorKind.java
│   │   │   │           │                   │   │   ├── UnaryOperatorNode.java
│   │   │   │           │                   │   │   └── UnaryOperatorNodeMerger.java
│   │   │   │           │                   │   ├── serialization/
│   │   │   │           │                   │   │   ├── DateSerializer.java
│   │   │   │           │                   │   │   ├── JsonEntityParser.java
│   │   │   │           │                   │   │   └── LongSerializer.java
│   │   │   │           │                   │   └── sync/
│   │   │   │           │                   │       ├── MobileServiceJsonSyncTable.java
│   │   │   │           │                   │       ├── MobileServiceSyncContext.java
│   │   │   │           │                   │       ├── MobileServiceSyncTable.java
│   │   │   │           │                   │       ├── localstore/
│   │   │   │           │                   │       │   ├── ColumnDataInfo.java
│   │   │   │           │                   │       │   ├── ColumnDataType.java
│   │   │   │           │                   │       │   ├── MobileServiceLocalStore.java
│   │   │   │           │                   │       │   ├── MobileServiceLocalStoreException.java
│   │   │   │           │                   │       │   └── SQLiteLocalStore.java
│   │   │   │           │                   │       ├── operations/
│   │   │   │           │                   │       │   ├── DeleteOperation.java
│   │   │   │           │                   │       │   ├── DeleteOperationCollapser.java
│   │   │   │           │                   │       │   ├── InsertOperation.java
│   │   │   │           │                   │       │   ├── InsertOperationCollapser.java
│   │   │   │           │                   │       │   ├── LocalTableOperationProcessor.java
│   │   │   │           │                   │       │   ├── MobileServiceTableOperationState.java
│   │   │   │           │                   │       │   ├── RemoteTableOperationProcessor.java
│   │   │   │           │                   │       │   ├── TableOperation.java
│   │   │   │           │                   │       │   ├── TableOperationCollapser.java
│   │   │   │           │                   │       │   ├── TableOperationError.java
│   │   │   │           │                   │       │   ├── TableOperationKind.java
│   │   │   │           │                   │       │   ├── TableOperationVisitor.java
│   │   │   │           │                   │       │   ├── UpdateOperation.java
│   │   │   │           │                   │       │   └── UpdateOperationCollapser.java
│   │   │   │           │                   │       ├── pull/
│   │   │   │           │                   │       │   ├── IncrementalPullStrategy.java
│   │   │   │           │                   │       │   └── PullStrategy.java
│   │   │   │           │                   │       ├── push/
│   │   │   │           │                   │       │   ├── MobileServicePushCompletionResult.java
│   │   │   │           │                   │       │   ├── MobileServicePushFailedException.java
│   │   │   │           │                   │       │   └── MobileServicePushStatus.java
│   │   │   │           │                   │       ├── queue/
│   │   │   │           │                   │       │   ├── OperationErrorList.java
│   │   │   │           │                   │       │   └── OperationQueue.java
│   │   │   │           │                   │       └── synchandler/
│   │   │   │           │                   │           ├── MobileServiceSyncHandler.java
│   │   │   │           │                   │           ├── MobileServiceSyncHandlerException.java
│   │   │   │           │                   │           └── SimpleSyncHandler.java
│   │   │   │           │                   └── threading/
│   │   │   │           │                       ├── MultiLockDictionary.java
│   │   │   │           │                       └── MultiReadWriteLockDictionary.java
│   │   │   │           └── res/
│   │   │   │               └── values/
│   │   │   │                   └── strings.xml
│   │   │   └── tools/
│   │   │       ├── License.rtf
│   │   │       ├── package.bat
│   │   │       └── thirdpartynotices.rtf
│   │   └── test/
│   │       └── sdk.testapp/
│   │           ├── .gitignore
│   │           ├── build.gradle
│   │           ├── proguard-rules.pro
│   │           └── src/
│   │               └── main/
│   │                   ├── AndroidManifest.xml
│   │                   ├── java/
│   │                   │   └── com/
│   │                   │       └── microsoft/
│   │                   │           └── windowsazure/
│   │                   │               └── mobileservices/
│   │                   │                   └── sdk/
│   │                   │                       └── testapp/
│   │                   │                           ├── framework/
│   │                   │                           │   ├── filters/
│   │                   │                           │   │   ├── EchoFilter.java
│   │                   │                           │   │   ├── HttpMetaEchoFilter.java
│   │                   │                           │   │   ├── NullResponseContentFilter.java
│   │                   │                           │   │   ├── NullResponseFilter.java
│   │                   │                           │   │   ├── ServiceFilterRequestMock.java
│   │                   │                           │   │   ├── ServiceFilterResponseMock.java
│   │                   │                           │   │   └── StatusLineMock.java
│   │                   │                           │   └── mocks/
│   │                   │                           │       ├── MobileServiceLocalStoreMock.java
│   │                   │                           │       └── MobileServiceSyncHandlerMock.java
│   │                   │                           └── test/
│   │                   │                               ├── CustomApiClientTests.java
│   │                   │                               ├── EnhancedPushTests.java
│   │                   │                               ├── IdPropertyTests.java
│   │                   │                               ├── LoginTests.java
│   │                   │                               ├── MobileServiceClientTests.java
│   │                   │                               ├── MobileServiceFeaturesTests.java
│   │                   │                               ├── MobileServiceQueryTests.java
│   │                   │                               ├── MobileServiceSyncTableTests.java
│   │                   │                               ├── MobileServiceTableTests.java
│   │                   │                               ├── MobileServiceUserTests.java
│   │                   │                               ├── SQLiteStoreQueryTests.java
│   │                   │                               ├── SQLiteStoreTests.java
│   │                   │                               ├── SerializationTests.java
│   │                   │                               ├── ServiceFilterTests.java
│   │                   │                               ├── SystemPropertiesTests.java
│   │                   │                               ├── URLTests.java
│   │                   │                               ├── helpers/
│   │                   │                               │   ├── EncodingUtilities.java
│   │                   │                               │   └── SQLiteStoreTestsUtilities.java
│   │                   │                               └── types/
│   │                   │                                   ├── Address.java
│   │                   │                                   ├── ComplexPersonTestObject.java
│   │                   │                                   ├── CustomFunctionOneParameter.java
│   │                   │                                   ├── CustomFunctionTwoParameters.java
│   │                   │                                   ├── DateTestObject.java
│   │                   │                                   ├── IdPropertyTestClasses.java
│   │                   │                                   ├── PersonTestObject.java
│   │                   │                                   ├── PersonTestObjectWithStringId.java
│   │                   │                                   ├── PersonTestObjectWithoutId.java
│   │                   │                                   ├── ResultsContainer.java
│   │                   │                                   ├── SystemPropertyTestClasses.java
│   │                   │                                   └── data/
│   │                   │                                       ├── IdTestData.java
│   │                   │                                       └── SystemPropertiesTestData.java
│   │                   └── res/
│   │                       └── values/
│   │                           └── strings.xml
│   └── iOS/
│       ├── .gitignore
│       ├── License.rtf
│       ├── WindowsAzureMobileServices.xcodeproj/
│       │   ├── project.pbxproj
│       │   ├── project.xcworkspace/
│       │   │   └── contents.xcworkspacedata
│       │   └── xcshareddata/
│       │       └── xcschemes/
│       │           ├── AzureMobileServicesFunctionalTests.xcscheme
│       │           ├── WindowsAzureMobileServices.xcscheme
│       │           └── WindowsAzureMobileServicesFramework.xcscheme
│       ├── appledoc/
│       │   └── AppledocSettings.plist
│       ├── build.command
│       ├── doxygen.config
│       ├── src/
│       │   ├── Info.plist
│       │   ├── MSAPIConnection.h
│       │   ├── MSAPIConnection.m
│       │   ├── MSAPIRequest.h
│       │   ├── MSAPIRequest.m
│       │   ├── MSClient.h
│       │   ├── MSClient.m
│       │   ├── MSClientConnection.h
│       │   ├── MSClientConnection.m
│       │   ├── MSClientInternal.h
│       │   ├── MSCoreDataStore.h
│       │   ├── MSCoreDataStore.m
│       │   ├── MSDateOffset.h
│       │   ├── MSDateOffset.m
│       │   ├── MSError.h
│       │   ├── MSError.m
│       │   ├── MSFilter.h
│       │   ├── MSJSONSerializer.h
│       │   ├── MSJSONSerializer.m
│       │   ├── MSLocalStorage.h
│       │   ├── MSLocalStorage.m
│       │   ├── MSLogin.h
│       │   ├── MSLogin.m
│       │   ├── MSLoginController.h
│       │   ├── MSLoginController.m
│       │   ├── MSLoginSerializer.h
│       │   ├── MSLoginSerializer.m
│       │   ├── MSLoginView.h
│       │   ├── MSLoginView.m
│       │   ├── MSNaiveISODateFormatter.h
│       │   ├── MSNaiveISODateFormatter.m
│       │   ├── MSOperationQueue.h
│       │   ├── MSOperationQueue.m
│       │   ├── MSPredicateTranslator.h
│       │   ├── MSPredicateTranslator.m
│       │   ├── MSPullSettings.h
│       │   ├── MSPullSettings.m
│       │   ├── MSPullSettingsInternal.h
│       │   ├── MSPush.h
│       │   ├── MSPush.m
│       │   ├── MSPushHttp.h
│       │   ├── MSPushHttp.m
│       │   ├── MSPushRequest.h
│       │   ├── MSPushRequest.m
│       │   ├── MSQuery.h
│       │   ├── MSQuery.m
│       │   ├── MSQueryInternal.h
│       │   ├── MSQueryResult.h
│       │   ├── MSQueryResult.m
│       │   ├── MSQueuePullOperation.h
│       │   ├── MSQueuePullOperation.m
│       │   ├── MSQueuePullOperationInternal.h
│       │   ├── MSQueuePurgeOperation.h
│       │   ├── MSQueuePurgeOperation.m
│       │   ├── MSQueuePushOperation.h
│       │   ├── MSQueuePushOperation.m
│       │   ├── MSRegistrationManager.h
│       │   ├── MSRegistrationManager.m
│       │   ├── MSSDKFeatures.h
│       │   ├── MSSDKFeatures.m
│       │   ├── MSSerializer.h
│       │   ├── MSSyncContext.h
│       │   ├── MSSyncContext.m
│       │   ├── MSSyncContextInternal.h
│       │   ├── MSSyncContextReadResult.h
│       │   ├── MSSyncContextReadResult.m
│       │   ├── MSSyncTable.h
│       │   ├── MSSyncTable.m
│       │   ├── MSTable.h
│       │   ├── MSTable.m
│       │   ├── MSTableConfigValue.h
│       │   ├── MSTableConfigValue.m
│       │   ├── MSTableConnection.h
│       │   ├── MSTableConnection.m
│       │   ├── MSTableInternal.h
│       │   ├── MSTableOperation.h
│       │   ├── MSTableOperation.m
│       │   ├── MSTableOperationError.h
│       │   ├── MSTableOperationError.m
│       │   ├── MSTableOperationInternal.h
│       │   ├── MSTableRequest.h
│       │   ├── MSTableRequest.m
│       │   ├── MSURLBuilder.h
│       │   ├── MSURLBuilder.m
│       │   ├── MSUser.h
│       │   ├── MSUser.m
│       │   ├── MSUserAgentBuilder.h
│       │   ├── MSUserAgentBuilder.m
│       │   ├── WindowsAzureMobileServices-Prefix.pch
│       │   └── WindowsAzureMobileServices.h
│       └── test/
│           ├── CoreDataTestModel.xcdatamodeld/
│           │   └── CoreDataTestModel.xcdatamodel/
│           │       └── contents
│           ├── MSClientTests.m
│           ├── MSCoreDataStore+TestHelper.h
│           ├── MSCoreDataStore+TestHelper.m
│           ├── MSCoreDataStoreTests.m
│           ├── MSFilterTest.m
│           ├── MSJSONSerializerTests.m
│           ├── MSLocalStorageTests.m
│           ├── MSMultiRequestTestFilter.h
│           ├── MSMultiRequestTestFilter.m
│           ├── MSOfflinePassthroughHelper.h
│           ├── MSOfflinePassthroughHelper.m
│           ├── MSPredicateTranslatorTests.m
│           ├── MSPullSettingsTests.m
│           ├── MSPushHttpTests.m
│           ├── MSPushTests.m
│           ├── MSQueryTests.m
│           ├── MSSyncTableTests.m
│           ├── MSTable+MSTableTestUtilities.h
│           ├── MSTable+MSTableTestUtilities.m
│           ├── MSTableFuncTests.m
│           ├── MSTableOperationErrorTests.m
│           ├── MSTableOperationTests.m
│           ├── MSTableTests.m
│           ├── MSTestFilter.h
│           ├── MSTestFilter.m
│           ├── MSTestWaiter.h
│           ├── MSTestWaiter.m
│           ├── MSURLbuilderTests.m
│           ├── MSUserAgentBuilderTests.m
│           ├── MSUserTests.m
│           ├── TodoItem.h
│           ├── TodoItem.m
│           ├── WindowsAzureMobileServicesFunctionalTests.m
│           ├── WindowsAzureMobileServicesTests-Info.plist
│           ├── en.lproj/
│           │   └── InfoPlist.strings
│           └── settings.plist
└── test/
    ├── .gitignore
    ├── Android/
    │   ├── Automation/
    │   │   └── AndroidAutomation.bat
    │   └── ZumoE2ETestApp/
    │       ├── .gitignore
    │       ├── build.gradle
    │       ├── libs/
    │       │   ├── getLibs.ps1
    │       │   ├── getLibs.sh
    │       │   └── required-libs.txt
    │       ├── proguard-rules.pro
    │       └── src/
    │           └── main/
    │               ├── AndroidManifest.xml
    │               ├── java/
    │               │   └── com/
    │               │       └── microsoft/
    │               │           └── windowsazure/
    │               │               └── mobileservices/
    │               │                   └── zumoe2etestapp/
    │               │                       ├── Constants.java
    │               │                       ├── GCMIntentService.java
    │               │                       ├── MainActivity.java
    │               │                       ├── TestCaseAdapter.java
    │               │                       ├── ZumoPreferenceActivity.java
    │               │                       ├── framework/
    │               │                       │   ├── CompositeTestGroup.java
    │               │                       │   ├── ExpectedValueException.java
    │               │                       │   ├── FroyoAndroidHttpClientFactory.java
    │               │                       │   ├── FroyoSupport.java
    │               │                       │   ├── LogServiceFilter.java
    │               │                       │   ├── TestCase.java
    │               │                       │   ├── TestExecutionCallback.java
    │               │                       │   ├── TestGroup.java
    │               │                       │   ├── TestResult.java
    │               │                       │   ├── TestStatus.java
    │               │                       │   ├── Util.java
    │               │                       │   └── log/
    │               │                       │       └── DaylightLogger.java
    │               │                       ├── push/
    │               │                       │   ├── GCMMessageCallback.java
    │               │                       │   ├── GCMMessageHelper.java
    │               │                       │   ├── GCMMessageManager.java
    │               │                       │   └── GCMRegistrationMessage.java
    │               │                       └── tests/
    │               │                           ├── ClientSDKLoginTests.java
    │               │                           ├── CustomApiTests.java
    │               │                           ├── EnhancedPushTests.java
    │               │                           ├── LoginTests.java
    │               │                           ├── MiscTests.java
    │               │                           ├── MockResponse.java
    │               │                           ├── MultipleRequestFilter.java
    │               │                           ├── OfflineTests.java
    │               │                           ├── PushTests.java
    │               │                           ├── QueryTestData.java
    │               │                           ├── QueryTests.java
    │               │                           ├── RemoveAuthenticationServiceFilter.java
    │               │                           ├── RoundTripTests.java
    │               │                           ├── StringIdTests.java
    │               │                           ├── SystemPropertiesTests.java
    │               │                           ├── UpdateDeleteTests.java
    │               │                           └── types/
    │               │                               ├── AggregateException.java
    │               │                               ├── AllIntIdMovies.java
    │               │                               ├── AllStringIdMovies.java
    │               │                               ├── ComplexType.java
    │               │                               ├── ComplexType2.java
    │               │                               ├── EnumType.java
    │               │                               ├── FilterResult.java
    │               │                               ├── IntIdMovie.java
    │               │                               ├── IntIdRoundTripTableElement.java
    │               │                               ├── ListFilter.java
    │               │                               ├── Movie.java
    │               │                               ├── MovieComparator.java
    │               │                               ├── ParamsTestTableItem.java
    │               │                               ├── RoundTripTableElement.java
    │               │                               ├── SimpleFilter.java
    │               │                               ├── SimpleMovieFilter.java
    │               │                               ├── StringIdJsonElement.java
    │               │                               ├── StringIdMovie.java
    │               │                               ├── StringIdRoundTripTableElement.java
    │               │                               ├── StringIdRoundTripTableSoftDeleteElement.java
    │               │                               ├── StringIdTableItem.java
    │               │                               └── SystemPropertiesTestData.java
    │               └── res/
    │                   ├── layout/
    │                   │   ├── activity_main.xml
    │                   │   └── row_list_test_case.xml
    │                   ├── menu/
    │                   │   └── activity_main.xml
    │                   ├── raw/
    │                   │   └── mobileservicestore.bks
    │                   ├── values/
    │                   │   ├── strings.xml
    │                   │   ├── strings_activity_zumo_preference.xml
    │                   │   └── styles.xml
    │                   ├── values-v11/
    │                   │   └── styles.xml
    │                   ├── values-v14/
    │                   │   └── styles.xml
    │                   └── xml/
    │                       └── pref_general.xml
    ├── JavaScript/
    │   ├── .gitignore
    │   ├── TestFramework/
    │   │   ├── css/
    │   │   │   └── default.css
    │   │   └── js/
    │   │       ├── testFramework.js
    │   │       ├── testFrameworkConnections.js
    │   │       └── tests/
    │   │           ├── allTests.js
    │   │           ├── apiTests.js
    │   │           ├── loginTests.js
    │   │           ├── miscTests.js
    │   │           ├── pushTests.js
    │   │           ├── queryTestData.js
    │   │           ├── queryTests.js
    │   │           ├── roundTripTests.js
    │   │           └── updateDeleteTests.js
    │   └── ZumoE2ETestAppJs/
    │       ├── .gitignore
    │       ├── ZumoE2ETestAppHTML/
    │       │   ├── .gitignore
    │       │   ├── Properties/
    │       │   │   └── AssemblyInfo.cs
    │       │   ├── Web.Debug.config
    │       │   ├── Web.Release.config
    │       │   ├── Web.config
    │       │   ├── ZumoE2ETestAppHTML.csproj
    │       │   ├── default.html
    │       │   └── js/
    │       │       ├── lib/
    │       │       │   └── MobileServices.Web.js
    │       │       └── platformSpecificFunctions.js
    │       ├── ZumoE2ETestAppJs/
    │       │   ├── Package.StoreAssociation.xml
    │       │   ├── ZumoE2ETestAppJs.jsproj
    │       │   ├── ZumoE2ETestAppJs_StoreKey.pfx
    │       │   ├── ZumoE2ETestAppJs_TemporaryKey.pfx
    │       │   ├── css/
    │       │   │   └── where.txt
    │       │   ├── default.html
    │       │   ├── js/
    │       │   │   ├── MobileServices.intellisense.js
    │       │   │   ├── MobileServices.js
    │       │   │   ├── MobileServices.pri
    │       │   │   ├── default.js
    │       │   │   ├── platformSpecificFunctions.js
    │       │   │   ├── tests/
    │       │   │   │   └── where.txt
    │       │   │   └── wl.js
    │       │   ├── package.appxmanifest
    │       │   └── packages.config
    │       └── ZumoE2ETestAppJs.sln
    ├── PLib/
    │   ├── .gitignore
    │   └── ZumoE2ETestApp/
    │       ├── .gitignore
    │       ├── .nuget/
    │       │   ├── NuGet.Config
    │       │   └── NuGet.targets
    │       ├── UpgradeLog.htm
    │       ├── ZumoE2ETestApp/
    │       │   ├── App.xaml
    │       │   ├── App.xaml.cs
    │       │   ├── Common/
    │       │   │   └── StandardStyles.xaml
    │       │   ├── Framework/
    │       │   │   ├── TestStatus.cs
    │       │   │   ├── Util.cs
    │       │   │   ├── ZumoPushGlobals.cs
    │       │   │   ├── ZumoTest.cs
    │       │   │   ├── ZumoTestEventArgs.cs
    │       │   │   ├── ZumoTestGlobals.cs
    │       │   │   ├── ZumoTestGroup.cs
    │       │   │   └── ZumoTestGroupEventArgs.cs
    │       │   ├── MainPage.xaml
    │       │   ├── MainPage.xaml.cs
    │       │   ├── Package.StoreAssociation.xml
    │       │   ├── Package.appxmanifest
    │       │   ├── Properties/
    │       │   │   └── AssemblyInfo.cs
    │       │   ├── Tests/
    │       │   │   ├── ExceptionTypeWhichWillNeverBeThrown.cs
    │       │   │   ├── TestStore.cs
    │       │   │   ├── Types/
    │       │   │   │   ├── ICloneableItem.cs
    │       │   │   │   ├── Movie.cs
    │       │   │   │   ├── OfflineReadyItem.cs
    │       │   │   │   ├── OfflineReadyItemNoVersion.cs
    │       │   │   │   ├── RoundTripTableItem.cs
    │       │   │   │   ├── StringIdRoundTripTableItem.cs
    │       │   │   │   └── VersionedType.cs
    │       │   │   ├── ZumoCUDTests.cs
    │       │   │   ├── ZumoCustomApiTests.cs
    │       │   │   ├── ZumoLoginTests.cs
    │       │   │   ├── ZumoMiscTests.cs
    │       │   │   ├── ZumoOfflineTests.cs
    │       │   │   ├── ZumoPushTests.cs
    │       │   │   ├── ZumoQueryTestData.cs
    │       │   │   ├── ZumoQueryTests.cs
    │       │   │   ├── ZumoRoundTripTests.cs
    │       │   │   ├── ZumoSetupTests.cs
    │       │   │   └── ZumoTestCommon.cs
    │       │   ├── UIElements/
    │       │   │   ├── AppInfoRepository.cs
    │       │   │   ├── InputDialog.xaml
    │       │   │   ├── InputDialog.xaml.cs
    │       │   │   ├── ListViewForTest.cs
    │       │   │   ├── ListViewForTestGroup.cs
    │       │   │   ├── MoviesDisplayControl.xaml
    │       │   │   ├── MoviesDisplayControl.xaml.cs
    │       │   │   ├── SaveAppsControl.xaml
    │       │   │   ├── SaveAppsControl.xaml.cs
    │       │   │   ├── UploadLogsControl.xaml
    │       │   │   └── UploadLogsControl.xaml.cs
    │       │   ├── ZumoE2ETestApp.csproj
    │       │   ├── ZumoE2ETestApp_StoreKey.pfx
    │       │   ├── ZumoE2ETestApp_TemporaryKey.pfx
    │       │   └── packages.config
    │       ├── ZumoE2ETestApp.sln
    │       ├── ZumoE2ETestAppNet45/
    │       │   ├── App.config
    │       │   ├── App.xaml
    │       │   ├── App.xaml.cs
    │       │   ├── Common/
    │       │   │   └── StandardStyles.xaml
    │       │   ├── MainPage.xaml
    │       │   ├── MainPage.xaml.cs
    │       │   ├── MainWindow.xaml
    │       │   ├── MainWindow.xaml.cs
    │       │   ├── Properties/
    │       │   │   ├── AssemblyInfo.cs
    │       │   │   ├── Resources.Designer.cs
    │       │   │   ├── Resources.resx
    │       │   │   ├── Settings.Designer.cs
    │       │   │   └── Settings.settings
    │       │   ├── UIElements/
    │       │   │   ├── InputDialog.xaml
    │       │   │   ├── InputDialog.xaml.cs
    │       │   │   ├── MoviesDisplayControl.xaml
    │       │   │   ├── MoviesDisplayControl.xaml.cs
    │       │   │   ├── SaveAppsControl.xaml
    │       │   │   ├── SaveAppsControl.xaml.cs
    │       │   │   ├── UploadLogsControl.xaml
    │       │   │   └── UploadLogsControl.xaml.cs
    │       │   ├── ZumoE2ETestAppNet45.csproj
    │       │   └── packages.config
    │       └── ZumoE2ETestAppWP8/
    │           ├── App.xaml
    │           ├── App.xaml.cs
    │           ├── Framework/
    │           │   └── Readme.txt
    │           ├── LocalizedStrings.cs
    │           ├── MainPage.xaml
    │           ├── MainPage.xaml.cs
    │           ├── Properties/
    │           │   ├── AppManifest.xml
    │           │   ├── AssemblyInfo.cs
    │           │   └── WMAppManifest.xml
    │           ├── Resources/
    │           │   ├── AppResources.Designer.cs
    │           │   └── AppResources.resx
    │           ├── Tests/
    │           │   ├── Types/
    │           │   │   └── Readme.txt
    │           │   └── ZumoWP8PushTests.cs
    │           ├── UIElements/
    │           │   ├── InputDialog.xaml
    │           │   └── InputDialog.xaml.cs
    │           ├── ZumoE2ETestAppWP8.csproj
    │           ├── app.config
    │           └── packages.config
    ├── SetupScripts/
    │   ├── apis/
    │   │   ├── SetupAPIs.bat
    │   │   ├── SetupAPIs.sh
    │   │   ├── admin.js
    │   │   ├── admin.json
    │   │   ├── application.js
    │   │   ├── application.json
    │   │   ├── movieFinder.js
    │   │   ├── movieFinder.json
    │   │   ├── public.js
    │   │   ├── public.json
    │   │   ├── runtimeInfo.js
    │   │   ├── runtimeInfo.json
    │   │   ├── shared.js
    │   │   ├── shared.json
    │   │   ├── user.js
    │   │   └── user.json
    │   └── tables/
    │       ├── ParamsTestTable.delete.js
    │       ├── ParamsTestTable.insert.js
    │       ├── ParamsTestTable.read.js
    │       ├── ParamsTestTable.update.js
    │       ├── SetupTables.bat
    │       ├── SetupTables.sh
    │       ├── authenticated.delete.js
    │       ├── authenticated.insert.js
    │       ├── authenticated.read.js
    │       ├── authenticated.update.js
    │       ├── blog_comments.insert.js
    │       ├── blog_comments.read.js
    │       ├── bothIdTypeMovies.insert.js
    │       ├── droidPushTest.insert.js
    │       ├── droidRoundTripTable.insert.js
    │       ├── droidRoundTripTable.read.js
    │       ├── droidRoundTripTable.update.js
    │       ├── iosPushTest.insert.js
    │       ├── iosRoundTripTable.insert.js
    │       ├── offlinereadyitemnoversion.insert.js
    │       ├── stringIdRoundTripTable.insert.js
    │       ├── stringIdRoundTripTable.read.js
    │       ├── stringIdRoundTripTable.update.js
    │       ├── w8PushTest.insert.js
    │       ├── w8RoundTripTable.insert.js
    │       ├── w8RoundTripTable.read.js
    │       ├── w8RoundTripTable.update.js
    │       ├── w8jsRoundTripTable.insert.js
    │       ├── w8jsRoundTripTable.read.js
    │       ├── w8jsRoundTripTable.update.js
    │       ├── w8jsServerQueryMovies.read.js
    │       └── wp8PushTest.insert.js
    ├── ZumoE2EServerApp/
    │   ├── App_Start/
    │   │   └── WebApiConfig.cs
    │   ├── Controllers/
    │   │   ├── AdminController.cs
    │   │   ├── ApplicationApiController.cs
    │   │   ├── ApplicationController.cs
    │   │   ├── AuthenticatedController.cs
    │   │   ├── MovieFinderApiController.cs
    │   │   ├── OfflineReadyController.cs
    │   │   ├── ParamsTestTableController.cs
    │   │   ├── PublicController.cs
    │   │   ├── RuntimeInfoController.cs
    │   │   ├── StringIdMoviesController.cs
    │   │   ├── StringIdRoundTripTableController.cs
    │   │   ├── W8JSRoundTripTableController.cs
    │   │   ├── W8PushTestController.cs
    │   │   └── W8RoundTripTableController.cs
    │   ├── DataObjects/
    │   │   ├── Movie.cs
    │   │   ├── OfflineReady.cs
    │   │   ├── ParamsTestTableEntity.cs
    │   │   ├── RoundTripTableItem.cs
    │   │   ├── StringIdRoundTripTableItem.cs
    │   │   ├── TestUser.cs
    │   │   ├── W8JSRoundTripTableItem.cs
    │   │   └── W8PushTestEntity.cs
    │   ├── Global.asax
    │   ├── Global.asax.cs
    │   ├── Models/
    │   │   └── SDKClientTestContext.cs
    │   ├── Performance/
    │   │   └── Microsoft.ServiceBus.MessagingPerformanceCounters.man
    │   ├── Properties/
    │   │   └── AssemblyInfo.cs
    │   ├── ScheduledJobs/
    │   │   └── SimpleJob.cs
    │   ├── Utils/
    │   │   ├── ComplexTypeDomainManager.cs
    │   │   ├── CustomSharedApi.cs
    │   │   ├── InMemoryDomainManager.cs
    │   │   ├── StringIdRoundTripDomainManager.cs
    │   │   ├── W8JSRoundTripDomainManager.cs
    │   │   └── W8RoundTripDomainManager.cs
    │   ├── Web.Debug.config
    │   ├── Web.Release.config
    │   ├── Web.config
    │   ├── ZumoE2EServerApp.csproj
    │   ├── ZumoE2EServerApp.sln
    │   └── packages.config
    └── iOS/
        ├── .gitignore
        └── ZumoE2ETestApp/
            ├── WindowsAzureMobileServices.framework/
            │   ├── Headers/
            │   │   ├── MSClient.h
            │   │   ├── MSError.h
            │   │   ├── MSFilter.h
            │   │   ├── MSLoginController.h
            │   │   ├── MSPush.h
            │   │   ├── MSQuery.h
            │   │   ├── MSTable.h
            │   │   ├── MSUser.h
            │   │   └── WindowsAzureMobileServices.h
            │   ├── Versions/
            │   │   ├── A/
            │   │   │   ├── Headers/
            │   │   │   │   ├── MSClient.h
            │   │   │   │   ├── MSError.h
            │   │   │   │   ├── MSFilter.h
            │   │   │   │   ├── MSLoginController.h
            │   │   │   │   ├── MSPush.h
            │   │   │   │   ├── MSQuery.h
            │   │   │   │   ├── MSTable.h
            │   │   │   │   ├── MSUser.h
            │   │   │   │   └── WindowsAzureMobileServices.h
            │   │   │   └── WindowsAzureMobileServices
            │   │   └── Current/
            │   │       └── Headers/
            │   │           ├── MSClient.h
            │   │           ├── MSError.h
            │   │           ├── MSFilter.h
            │   │           ├── MSLoginController.h
            │   │           ├── MSPush.h
            │   │           ├── MSQuery.h
            │   │           ├── MSTable.h
            │   │           ├── MSUser.h
            │   │           └── WindowsAzureMobileServices.h
            │   ├── WindowsAzureMobileServices
            │   └── license.rtf
            ├── ZumoE2ETestApp/
            │   ├── TestLoggingFilter.h
            │   ├── TestLoggingFilter.m
            │   ├── ZumoAppDelegate.h
            │   ├── ZumoAppDelegate.m
            │   ├── ZumoCUDTests.h
            │   ├── ZumoCUDTests.m
            │   ├── ZumoCustomApiTests.h
            │   ├── ZumoCustomApiTests.m
            │   ├── ZumoE2ETestApp-Info.plist
            │   ├── ZumoE2ETestApp-Prefix.pch
            │   ├── ZumoLogUpdater.h
            │   ├── ZumoLogUpdater.m
            │   ├── ZumoLoginTests.h
            │   ├── ZumoLoginTests.m
            │   ├── ZumoMainTableHeader.xib
            │   ├── ZumoMainTableViewController.h
            │   ├── ZumoMainTableViewController.m
            │   ├── ZumoMiscTests.h
            │   ├── ZumoMiscTests.m
            │   ├── ZumoPushTests.h
            │   ├── ZumoPushTests.m
            │   ├── ZumoQueryTestData.h
            │   ├── ZumoQueryTestData.m
            │   ├── ZumoQueryTests.h
            │   ├── ZumoQueryTests.m
            │   ├── ZumoRoundTripTests.h
            │   ├── ZumoRoundTripTests.m
            │   ├── ZumoSavedAppsHeader.xib
            │   ├── ZumoSavedAppsTableViewController.h
            │   ├── ZumoSavedAppsTableViewController.m
            │   ├── ZumoTest.h
            │   ├── ZumoTest.m
            │   ├── ZumoTestCallbacks.h
            │   ├── ZumoTestGlobals.h
            │   ├── ZumoTestGlobals.m
            │   ├── ZumoTestGroup.h
            │   ├── ZumoTestGroup.m
            │   ├── ZumoTestGroupCallbacks.h
            │   ├── ZumoTestGroupTableHeader.xib
            │   ├── ZumoTestGroupTableViewController.h
            │   ├── ZumoTestGroupTableViewController.m
            │   ├── ZumoTestHelpViewController.h
            │   ├── ZumoTestHelpViewController.m
            │   ├── ZumoTestHelpViewController.xib
            │   ├── ZumoTestRunSetup.h
            │   ├── ZumoTestRunSetup.m
            │   ├── ZumoTestStore.h
            │   ├── ZumoTestStore.m
            │   ├── en.lproj/
            │   │   └── InfoPlist.strings
            │   └── main.m
            └── ZumoE2ETestApp.xcodeproj/
                └── project.pbxproj
Download .txt
Showing preview only (772K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (7864 symbols across 808 files)

FILE: component/samples/androidsample/androidsample/Resources/Resource.designer.cs
  class Resource (line 18) | [System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.T...
    method Resource (line 22) | static Resource()
    method UpdateIdValues (line 27) | public static void UpdateIdValues()
    class Attribute (line 31) | public partial class Attribute
      method Attribute (line 34) | static Attribute()
      method Attribute (line 39) | private Attribute()
    class Drawable (line 44) | public partial class Drawable
      method Drawable (line 50) | static Drawable()
      method Drawable (line 55) | private Drawable()
    class Id (line 60) | public partial class Id
      method Id (line 87) | static Id()
      method Id (line 92) | private Id()
    class Layout (line 97) | public partial class Layout
      method Layout (line 106) | static Layout()
      method Layout (line 111) | private Layout()
    class Menu (line 116) | public partial class Menu
      method Menu (line 122) | static Menu()
      method Menu (line 127) | private Menu()
    class String (line 132) | public partial class String
      method String (line 153) | static String()
      method String (line 158) | private String()
    class Style (line 163) | public partial class Style
      method Style (line 172) | static Style()
      method Style (line 177) | private Style()

FILE: component/samples/androidsample/androidsample/ToDoActivity.cs
  class ToDoActivity (line 13) | [Activity (MainLauncher = true,
    method OnCreate (line 36) | protected override async void OnCreate (Bundle bundle)
    method OnCreateOptionsMenu (line 85) | public override bool OnCreateOptionsMenu (IMenu menu)
    method OnOptionsItemSelected (line 92) | public override bool OnOptionsItemSelected (IMenuItem item)
    method OnRefreshItemsSelected (line 101) | async void OnRefreshItemsSelected ()
    method RefreshItemsFromTableAsync (line 107) | async Task RefreshItemsFromTableAsync ()
    method CheckItem (line 124) | public async Task CheckItem (ToDoItem item)
    method AddItem (line 142) | [Java.Interop.Export()]
    method CreateAndShowDialog (line 169) | void CreateAndShowDialog (Exception exception, String title)
    method CreateAndShowDialog (line 174) | void CreateAndShowDialog (string message, string title)
    class ProgressHandler (line 183) | class ProgressHandler : DelegatingHandler
      method SendAsync (line 191) | protected override async Task<HttpResponseMessage> SendAsync (HttpRe...

FILE: component/samples/androidsample/androidsample/ToDoItem.cs
  class ToDoItem (line 6) | public class ToDoItem
  class ToDoItemWrapper (line 17) | public class ToDoItemWrapper : Java.Lang.Object
    method ToDoItemWrapper (line 19) | public ToDoItemWrapper (ToDoItem item)

FILE: component/samples/androidsample/androidsample/ToDoItemAdapter.cs
  class ToDoItemAdapter (line 9) | public class ToDoItemAdapter : BaseAdapter<ToDoItem>
    method ToDoItemAdapter (line 15) | public ToDoItemAdapter (Activity activity, int layoutResourceId)
    method GetView (line 22) | public override View GetView (int position, Android.Views.View convert...
    method Add (line 53) | public void Add (ToDoItem item)
    method Clear (line 59) | public void Clear ()
    method Remove (line 65) | public void Remove (ToDoItem item)
    method GetItemId (line 73) | public override long GetItemId (int position)

FILE: component/samples/iOSsample/iOSsample/AppDelegate.cs
  class AppDelegate (line 12) | [Foundation.Register("AppDelegate")]

FILE: component/samples/iOSsample/iOSsample/Main.cs
  class Application (line 9) | public class Application
    method Main (line 12) | static void Main (string[] args)

FILE: component/samples/iOSsample/iOSsample/QSTodoListViewController.cs
  class QSTodoListViewController (line 9) | public partial class QSTodoListViewController : UITableViewController
    method QSTodoListViewController (line 15) | public QSTodoListViewController (IntPtr handle) : base (handle)
    method ViewDidLoad (line 19) | public override async void ViewDidLoad ()
    method RefreshAsync (line 46) | async Task RefreshAsync ()
    method RowsInSection (line 61) | public override nint RowsInSection (UITableView tableview, nint section)
    method NumberOfSections (line 69) | public override nint NumberOfSections (UITableView tableView)
    method GetCell (line 74) | public override UITableViewCell GetCell (UITableView tableView, NSInde...
    method TitleForDeleteConfirmation (line 91) | public override string TitleForDeleteConfirmation (UITableView tableVi...
    method EditingStyleForRow (line 97) | public override UITableViewCellEditingStyle EditingStyleForRow (UITabl...
    method CommitEditingStyle (line 110) | async public override void CommitEditingStyle (UITableView tableView, ...
    method OnAdd (line 129) | async partial void OnAdd (NSObject sender)
    method ShouldReturn (line 152) | [Foundation.Export("textFieldShouldReturn:")]
    method AddRefreshControl (line 163) | void AddRefreshControl ()

FILE: component/samples/iOSsample/iOSsample/QSTodoListViewController.designer.cs
  class QSTodoListViewController (line 11) | [Foundation.Register("QSTodoListViewController")]
    method OnAdd (line 20) | [Foundation.Action("OnAdd:")]
    method ReleaseDesignerOutlets (line 23) | void ReleaseDesignerOutlets ()

FILE: component/samples/iOSsample/iOSsample/QSTodoService.cs
  class QSTodoService (line 9) | public class QSTodoService : DelegatingHandler
    method QSTodoService (line 19) | public QSTodoService ()
    method RefreshDataAsync (line 32) | async public Task<List<ToDoItem>> RefreshDataAsync ()
    method InsertTodoItemAsync (line 48) | public async Task InsertTodoItemAsync (ToDoItem todoItem)
    method CompleteItemAsync (line 61) | public async Task CompleteItemAsync (ToDoItem item)
    method Busy (line 75) | void Busy (bool busy)
    method SendAsync (line 91) | protected override async Task<System.Net.Http.HttpResponseMessage> Sen...

FILE: component/samples/iOSsample/iOSsample/ToDoItem.cs
  class ToDoItem (line 6) | public class ToDoItem

FILE: sdk/Javascript/Gruntfile.js
  function wrapModule (line 130) | function wrapModule(src, filepath) {
  function wrapResourceFile (line 155) | function wrapResourceFile(src, filepath) {

FILE: sdk/Javascript/src/Internals/InternalsVisible.js
  function exposeModules (line 22) | function exposeModules() {

FILE: sdk/Javascript/src/LoginUis/BrowserPopup.js
  function createIntermediateIframeForLogin (line 105) | function createIntermediateIframeForLogin(runtimeOrigin, completionOrigi...

FILE: sdk/Javascript/src/LoginUis/CordovaPopup.js
  function isRunUnderRippleEmulator (line 75) | function isRunUnderRippleEmulator () {
  function currentCordovaVersion (line 80) | function currentCordovaVersion() {
  function isSupportedCordovaVersion (line 86) | function isSupportedCordovaVersion(version) {
  function hasInAppBrowser (line 98) | function hasInAppBrowser() {
  function parseOAuthResultFromDoneUrl (line 102) | function parseOAuthResultFromDoneUrl(url) {
  function extractMessageFromUrl (line 111) | function extractMessageFromUrl(url, separator) {
  function getSpinnerMarkup (line 116) | function getSpinnerMarkup() {

FILE: sdk/Javascript/src/LoginUis/WebAuthBroker.js
  function isWebAuthBrokerAvailable (line 111) | function isWebAuthBrokerAvailable() {

FILE: sdk/Javascript/src/MobileServiceClient.js
  function MobileServiceClient (line 30) | function MobileServiceClient(applicationUrl, applicationKey) {
  function getApplicationInstallationId (line 442) | function getApplicationInstallationId() {

FILE: sdk/Javascript/src/MobileServiceLogin.js
  function MobileServiceLogin (line 16) | function MobileServiceLogin(client, ignoreFilters) {
  function onLoginComplete (line 275) | function onLoginComplete(error, token, client, callback) {
  function onLoginResponse (line 318) | function onLoginResponse(error, response, client, callback) {
  function loginWithProviderAndToken (line 351) | function loginWithProviderAndToken(login, provider, token, parameters, c...
  function loginWithLoginControl (line 398) | function loginWithLoginControl(login, provider, useSingleSignOn, paramet...

FILE: sdk/Javascript/src/MobileServiceTable.js
  function MobileServiceTable (line 44) | function MobileServiceTable(tableName, client) {
  function removeSystemProperties (line 653) | function removeSystemProperties(instance) {
  function addSystemProperties (line 663) | function addSystemProperties(parameters, properties, querystring) {
  function getItemFromResponse (line 696) | function getItemFromResponse(response) {
  function setServerItemIfPreconditionFailed (line 708) | function setServerItemIfPreconditionFailed(error) {
  function getEtagFromVersion (line 715) | function getEtagFromVersion(version) {
  function getVersionFromEtag (line 721) | function getVersionFromEtag(etag) {
  function addQueryParametersFeaturesIfApplicable (line 732) | function addQueryParametersFeaturesIfApplicable(features, userQueryParam...

FILE: sdk/Javascript/src/Platforms/Platform.Web.js
  function getBestTransport (line 255) | function getBestTransport() {
  function getBestProvider (line 264) | function getBestProvider(providers) {

FILE: sdk/Javascript/src/Push/LocalStorageManager.js
  function LocalStorageManager (line 25) | function LocalStorageManager(storageKey) {

FILE: sdk/Javascript/src/Push/Push.Web.js
  function Push (line 20) | function Push(mobileServicesClient) {
  function makeCoreRegistration (line 303) | function makeCoreRegistration(pushHandle, platform, tags) {

FILE: sdk/Javascript/src/Push/Push.WinJS.js
  function Push (line 14) | function Push(mobileServicesClient, tileId) {
  function makeCoreRegistration (line 117) | function makeCoreRegistration(channelUri, tags) {

FILE: sdk/Javascript/src/Push/PushHttpClient.js
  function PushHttpClient (line 12) | function PushHttpClient(mobileServicesClient) {

FILE: sdk/Javascript/src/Push/RegistrationManager.js
  function RegistrationManager (line 18) | function RegistrationManager(mobileServicesClient, platform, storageKey) {

FILE: sdk/Javascript/src/Require.js
  function require (line 7) | function require(name) {

FILE: sdk/Javascript/src/Transports/IframeTransport.js
  function fixupAjax (line 56) | function fixupAjax(xhr) {
  function whenBridgeLoaded (line 66) | function whenBridgeLoaded(originRoot, callback) {

FILE: sdk/Javascript/src/Utilities/Extensions.js
  function classOf (line 223) | function classOf(value) {

FILE: sdk/Javascript/src/Utilities/PostMessageExchange.js
  function PostMessageExchange (line 11) | function PostMessageExchange() {
  function getOriginRoot (line 112) | function getOriginRoot(url) {
  function parseUrl (line 124) | function parseUrl(url) {

FILE: sdk/Javascript/src/Utilities/Promises.js
  function Promise (line 22) | function Promise(init) {

FILE: sdk/Javascript/test/framework/ActionContinuation.cs
  class ActionContinuation (line 13) | internal class ActionContinuation : IContinuation
    method Success (line 30) | void IContinuation.Success()
    method Error (line 39) | void IContinuation.Error(string message)

FILE: sdk/Javascript/test/framework/Assert.cs
  class Assert (line 16) | public static class Assert
    method Fail (line 27) | public static void Fail(string message)
    method AreEqual (line 37) | public static void AreEqual(object a, object b)
    method AreEqual (line 48) | public static void AreEqual(object a, object b, string message)
    method AreSame (line 71) | public static void AreSame(object a, object b)
    method AreSame (line 82) | public static void AreSame(object a, object b, string message)
    method AreNotEqual (line 95) | public static void AreNotEqual(object a, object b)
    method AreNotEqual (line 106) | public static void AreNotEqual(object a, object b, string message)
    method IsTrue (line 118) | public static void IsTrue(bool condition)
    method IsTrue (line 128) | public static void IsTrue(bool condition, string message)
    method IsFalse (line 140) | public static void IsFalse(bool condition)
    method IsFalse (line 150) | public static void IsFalse(bool condition, string message)
    method Contains (line 163) | public static void Contains(string text, string substring)
    method Contains (line 180) | public static void Contains(string text, string substring, string mess...
    method StartsWith (line 193) | public static void StartsWith(string text, string substring)
    method StartsWith (line 210) | public static void StartsWith(string text, string substring, string me...
    method EndsWith (line 223) | public static void EndsWith(string text, string substring)
    method EndsWith (line 240) | public static void EndsWith(string text, string substring, string mess...
    method IsNull (line 248) | public static void IsNull(object value)
    method IsNull (line 253) | public static void IsNull(object value, string message)
    method IsNotNull (line 261) | public static void IsNotNull(object value)
    method IsNotNull (line 266) | public static void IsNotNull(object value, string message)
    method AreEquivalent (line 274) | public static void AreEquivalent(IEnumerable a, IEnumerable b)
    method AreEquivalent (line 279) | public static void AreEquivalent(IEnumerable a, IEnumerable b, string ...

FILE: sdk/Javascript/test/framework/FunctionalTestFilter.cs
  class FunctionalTestFilter (line 14) | internal class FunctionalTestFilter : TestFilter
    method FunctionalTestFilter (line 35) | public FunctionalTestFilter(TestSettings settings)
    method Filter (line 44) | public override void Filter(IList<TestGroup> groups)

FILE: sdk/Javascript/test/framework/IAsyncExecution.cs
  type IAsyncExecution (line 14) | public interface IAsyncExecution
    method Start (line 23) | void Start(IContinuation continuation);

FILE: sdk/Javascript/test/framework/IContinuation.cs
  type IContinuation (line 12) | public interface IContinuation
    method Success (line 18) | void Success();
    method Error (line 25) | void Error(string message);

FILE: sdk/Javascript/test/framework/ITestReporter.cs
  type ITestReporter (line 16) | public interface ITestReporter
    method StartRun (line 22) | void StartRun(TestHarness harness);
    method Progress (line 31) | void Progress(TestHarness harness);
    method EndRun (line 39) | void EndRun(TestHarness harness);
    method StartGroup (line 45) | void StartGroup(TestGroup group);
    method EndGroup (line 51) | void EndGroup(TestGroup group);
    method StartTest (line 57) | void StartTest(TestMethod test);
    method EndTest (line 63) | void EndTest(TestMethod test);
    method Log (line 69) | void Log(string message);
    method Error (line 75) | void Error(string errorDetails);
    method Status (line 81) | void Status(string status);

FILE: sdk/Javascript/test/framework/RuntimeTestFilter.cs
  class RuntimeTestFilter (line 14) | internal class RuntimeTestFilter : TestFilter
    method RuntimeTestFilter (line 25) | public RuntimeTestFilter(TestSettings settings)
    method Filter (line 34) | public override void Filter(IList<TestGroup> groups)

FILE: sdk/Javascript/test/framework/Tagging/TagManager.ExpressionEvaluator.cs
  class TagManager (line 18) | internal sealed partial class TagManager
    class ExpressionEvaluator (line 43) | private class ExpressionEvaluator
      method Evaluate (line 90) | public static IEnumerable<TestMethod> Evaluate(TagManager owner, str...
      method ExpressionEvaluator (line 115) | private ExpressionEvaluator(TagManager owner, string tagExpression)
      method Match (line 133) | private void Match(string expected)
      method TryMatch (line 153) | private bool TryMatch(string expected)
      method Evaluate (line 176) | private IEnumerable<TestMethod> Evaluate()
      method ReadExpression (line 210) | private IEnumerable<TestMethod> ReadExpression()
      method ReadExpression (line 229) | private IEnumerable<TestMethod> ReadExpression(IEnumerable<TestMetho...
      method ReadTerm (line 262) | private IEnumerable<TestMethod> ReadTerm()
      method ReadTerm (line 280) | private IEnumerable<TestMethod> ReadTerm(IEnumerable<TestMethod> fac...
      method ReadFactor (line 302) | private IEnumerable<TestMethod> ReadFactor()
      method CreateEmptyList (line 325) | private static List<TestMethod> CreateEmptyList()
      method ReadTag (line 339) | private IEnumerable<TestMethod> ReadTag()

FILE: sdk/Javascript/test/framework/Tagging/TagManager.Tags.cs
  class TagManager (line 14) | internal sealed partial class TagManager
    class Tags (line 21) | private class Tags : List<string>
      method Tags (line 26) | public Tags() :
      method Tags (line 35) | public Tags(IEnumerable<string> collection) :
      method AddTag (line 44) | public void AddTag(string tag)

FILE: sdk/Javascript/test/framework/Tagging/TagManager.cs
  class TagManager (line 14) | internal sealed partial class TagManager
    method TagManager (line 57) | public TagManager(TestGroup group)
    method CreateClassTags (line 77) | private void CreateClassTags(TestGroup group)
    method CreateMethodTags (line 98) | private void CreateMethodTags(TestMethod method)
    method EvaluateExpression (line 150) | public IEnumerable<TestMethod> EvaluateExpression(string tagExpression)

FILE: sdk/Javascript/test/framework/Tagging/TagTestFilter.cs
  class TagTestFilter (line 14) | internal class TagTestFilter : TestFilter
    method TagTestFilter (line 25) | public TagTestFilter(TestSettings settings)
    method Filter (line 35) | public override void Filter(IList<TestGroup> groups)

FILE: sdk/Javascript/test/framework/TestFilter.cs
  class TestFilter (line 15) | internal abstract class TestFilter
    method TestFilter (line 21) | public TestFilter(TestSettings settings)
    method Filter (line 36) | public virtual void Filter(IList<TestGroup> groups)
    method Remove (line 46) | protected static void Remove<T>(IList<T> elements, Func<T, bool> predi...

FILE: sdk/Javascript/test/framework/TestGroup.cs
  class TestGroup (line 13) | public sealed class TestGroup
    method TestGroup (line 18) | public TestGroup()
    method Exclude (line 44) | public void Exclude(string reason)

FILE: sdk/Javascript/test/framework/TestHarness.cs
  class TestHarness (line 18) | public sealed class TestHarness
    method TestHarness (line 23) | public TestHarness()
    method Log (line 71) | public void Log(string message)
    method FilterTests (line 79) | private void FilterTests()
    method RunAsync (line 106) | public void RunAsync()
    method SendTestResults (line 246) | private void SendTestResults()

FILE: sdk/Javascript/test/framework/TestMethod.cs
  class TestMethod (line 13) | public sealed class TestMethod
    method TestMethod (line 18) | public TestMethod()
    method Exclude (line 78) | public void Exclude(string reason)

FILE: sdk/Javascript/test/framework/TestSettings.cs
  class TestSettings (line 16) | public sealed class TestSettings
    method TestSettings (line 21) | public TestSettings()
    method Load (line 70) | public void Load()
    method Save (line 93) | public void Save()

FILE: sdk/Javascript/test/framework/WinJS/Formatter.cs
  class Formatter (line 12) | public static class Formatter
    method Format (line 20) | public static string Format(string format, object arg)
    method Format (line 32) | public static string Format(string format, object arg0, object arg1)
    method Format (line 45) | public static string Format(string format, object arg0, object arg1, o...
    method Format (line 59) | public static string Format(string format, object arg0, object arg1, o...
    method Format (line 74) | public static string Format(string format, object arg0, object arg1, o...

FILE: sdk/Javascript/test/framework/WinJS/MessageEventArgs.cs
  class MessageEventArgs (line 12) | public sealed class MessageEventArgs

FILE: sdk/Javascript/test/framework/WinJS/PromiseAsyncExecution.cs
  class PromiseAsyncExecution (line 19) | public sealed class PromiseAsyncExecution : IAsyncExecution
    method Start (line 38) | public void Start(IContinuation continuation)

FILE: sdk/Javascript/test/framework/WinJS/PromiseAsyncExecutionEventArgs.cs
  class PromiseAsyncExecutionEventArgs (line 13) | public sealed class PromiseAsyncExecutionEventArgs
    method PromiseAsyncExecutionEventArgs (line 28) | public PromiseAsyncExecutionEventArgs()
    method PromiseAsyncExecutionEventArgs (line 40) | public PromiseAsyncExecutionEventArgs(IContinuation continuation)
    method Complete (line 52) | public void Complete()
    method Error (line 61) | public void Error(string message)

FILE: sdk/Javascript/test/framework/WinJS/TestReporter.cs
  class TestReporter (line 18) | public sealed class TestReporter : ITestReporter
    method RaiseEvent (line 76) | private void RaiseEvent<T>(EventHandler<T> handler, T args)
    method StartRun (line 88) | public void StartRun(TestHarness harness)
    method Progress (line 100) | public void Progress(TestHarness harness)
    method EndRun (line 111) | public void EndRun(TestHarness harness)
    method StartGroup (line 120) | public void StartGroup(TestGroup group)
    method EndGroup (line 129) | public void EndGroup(TestGroup group)
    method StartTest (line 138) | public void StartTest(TestMethod test)
    method EndTest (line 147) | public void EndTest(TestMethod test)
    method Log (line 156) | public void Log(string message)
    method Error (line 165) | public void Error(string errorDetails)
    method Status (line 174) | public void Status(string status)

FILE: sdk/Javascript/test/web/js/TestClientHelper.js
  function parseQueryString (line 30) | function parseQueryString() {

FILE: sdk/Javascript/test/web/js/TestFrameworkAdapter.js
  function Test (line 109) | function Test(testName) {
  function TestGroup (line 175) | function TestGroup(groupName, testsArray) {

FILE: sdk/Javascript/test/winJS/tests/TestInterface.js
  function getResultsElement (line 19) | function getResultsElement() {
  function write (line 23) | function write(markup) {
  function tag (line 36) | function tag(element, styleOrContent, content) {

FILE: sdk/Javascript/test/winJS/tests/functional/mobileServiceTable.Functional.js
  function emptyTable (line 15) | function emptyTable(table) {

FILE: sdk/Javascript/test/winJS/tests/unit/localStorageManager.js
  function populateStorage (line 282) | function populateStorage() {
  function clearStorage (line 295) | function clearStorage() {

FILE: sdk/Javascript/test/winJS/tests/unit/mobileServiceTables.js
  function checkRequestURL (line 15) | function checkRequestURL(url, property)

FILE: sdk/Javascript/test/winJS/tests/unit/mobileServicesClient.js
  function testLoginParameters (line 612) | function testLoginParameters(args, expectedStartUri, expectedEndUri) {

FILE: sdk/Javascript/test/winJS/tests/unit/registrationManager.js
  function CreateStorage (line 692) | function CreateStorage() {
  function DeleteStorage (line 699) | function DeleteStorage(localStore) {

FILE: sdk/Javascript/tools/JSBuild/MergeJSModules.cs
  class MergeJSModules (line 50) | public class MergeJSModules : Task
    method Execute (line 64) | [SuppressMessage(
    method Ensure (line 109) | private static void Ensure(bool condition, string format, params objec...
    method GetAttribute (line 126) | private static string GetAttribute(XElement element, string attribute)
    method ExpandPath (line 146) | private static IEnumerable<string> ExpandPath(string pathPattern)
    method MergeModulesIntoLibrary (line 173) | private static void MergeModulesIntoLibrary(string definitionPath)
    method ScriptConditionSatisifesModuleCondition (line 260) | private static bool ScriptConditionSatisifesModuleCondition(string scr...
    method WriteHeader (line 285) | private static void WriteHeader(StringBuilder script, string libraryDe...
    method WriteModule (line 406) | private static void WriteModule(StringBuilder script, string rootPath,...
    method WriteResource (line 525) | private static void WriteResource(StringBuilder script, string rootPat...
    method WriteFooter (line 587) | private static void WriteFooter(StringBuilder script, List<string> ent...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.Android/Authentication/MobileServiceUIAuthentication.cs
  class MobileServiceUIAuthentication (line 10) | internal class MobileServiceUIAuthentication : MobileServiceAuthentication
    method MobileServiceUIAuthentication (line 12) | public MobileServiceUIAuthentication (Context context, IMobileServiceC...
    method LoginAsyncOverride (line 20) | protected override Task<string> LoginAsyncOverride()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.Android/ExpressionUtility/ExpressionVisitor.cs
  class ExpressionVisitor (line 14) | internal abstract class ExpressionVisitor
    method ExpressionVisitor (line 16) | protected ExpressionVisitor()
    method Visit (line 20) | public virtual Expression Visit(Expression exp)
    method VisitBinding (line 92) | protected virtual MemberBinding VisitBinding(MemberBinding binding)
    method VisitElementInitializer (line 107) | protected virtual ElementInit VisitElementInitializer(ElementInit init...
    method VisitUnary (line 117) | protected virtual Expression VisitUnary(UnaryExpression u)
    method VisitBinary (line 127) | protected virtual Expression VisitBinary(BinaryExpression b)
    method VisitTypeIs (line 146) | protected virtual Expression VisitTypeIs(TypeBinaryExpression b)
    method VisitConstant (line 156) | protected virtual Expression VisitConstant(ConstantExpression c)
    method VisitConditional (line 161) | protected virtual Expression VisitConditional(ConditionalExpression c)
    method VisitParameter (line 173) | protected virtual Expression VisitParameter(ParameterExpression p)
    method VisitMember (line 178) | protected virtual Expression VisitMember(MemberExpression m)
    method VisitMethodCall (line 188) | protected virtual Expression VisitMethodCall(MethodCallExpression m)
    method VisitExpressionList (line 199) | protected virtual ReadOnlyCollection<Expression> VisitExpressionList(R...
    method VisitMemberAssignment (line 226) | protected virtual MemberAssignment VisitMemberAssignment(MemberAssignm...
    method VisitMemberMemberBinding (line 236) | protected virtual MemberMemberBinding VisitMemberMemberBinding(MemberM...
    method VisitMemberListBinding (line 246) | protected virtual MemberListBinding VisitMemberListBinding(MemberListB...
    method VisitBindingList (line 256) | protected virtual IEnumerable<MemberBinding> VisitBindingList(ReadOnly...
    method VisitElementInitializerList (line 283) | protected virtual IEnumerable<ElementInit> VisitElementInitializerList...
    method VisitLambda (line 310) | protected virtual Expression VisitLambda(LambdaExpression lambda)
    method VisitNew (line 322) | protected virtual NewExpression VisitNew(NewExpression nex)
    method VisitMemberInit (line 339) | protected virtual Expression VisitMemberInit(MemberInitExpression init)
    method VisitListInit (line 350) | protected virtual Expression VisitListInit(ListInitExpression init)
    method VisitNewArray (line 361) | protected virtual Expression VisitNewArray(NewArrayExpression na)
    method VisitInvocation (line 378) | protected virtual Expression VisitInvocation(InvocationExpression iv)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.Android/Extensions/MobileServiceClientExtensions.cs
  class MobileServiceClientExtensions (line 10) | public static class MobileServiceClientExtensions
    method LoginAsync (line 27) | public static Task<MobileServiceUser> LoginAsync(this IMobileServiceCl...
    method LoginAsync (line 50) | public static Task<MobileServiceUser> LoginAsync(this IMobileServiceCl...
    method LoginAsync (line 70) | public static Task<MobileServiceUser> LoginAsync(this IMobileServiceCl...
    method LoginAsync (line 93) | public static Task<MobileServiceUser> LoginAsync(this IMobileServiceCl...
    method GetPush (line 108) | public static Push GetPush(this MobileServiceClient client)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.Android/Platform/ApplicationStorage.cs
  class ApplicationStorage (line 12) | internal class ApplicationStorage : IApplicationStorage
    method ApplicationStorage (line 19) | private ApplicationStorage()
    method ApplicationStorage (line 24) | internal ApplicationStorage(string name)
    method TryReadSetting (line 42) | public bool TryReadSetting(string name, out object value)
    method WriteSetting (line 75) | public void WriteSetting(string name, object value)
    method Save (line 103) | public void Save()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.Android/Platform/CurrentPlatform.cs
  class CurrentPlatform (line 12) | public class CurrentPlatform : IPlatform
    method Init (line 18) | public static void Init()
    method GetNamedApplicationStorage (line 39) | IApplicationStorage IPlatform.GetNamedApplicationStorage(string name)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.Android/Platform/PlatformInformation.cs
  class PlatformInformation (line 8) | class PlatformInformation : IPlatformInformation

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.Android/Platform/PushUtility.cs
  class PushUtility (line 9) | internal class PushUtility : IPushUtility
    method GetNewNativeRegistration (line 27) | public Registration GetNewNativeRegistration()
    method GetNewNativeRegistration (line 32) | public Registration GetNewNativeRegistration(string deviceId, IEnumera...
    method GetNewTemplateRegistration (line 37) | public Registration GetNewTemplateRegistration()
    method GetNewTemplateRegistration (line 42) | public Registration GetNewTemplateRegistration(string deviceId, string...
    method GetPlatform (line 47) | public string GetPlatform()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.Android/Push/GcmRegistration.cs
  class GcmRegistration (line 14) | [JsonObject(MemberSerialization.OptIn)]
    method GcmRegistration (line 17) | internal GcmRegistration()
    method GcmRegistration (line 25) | public GcmRegistration(string deviceId)
    method GcmRegistration (line 35) | public GcmRegistration(string deviceId, IEnumerable<string> tags)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.Android/Push/GcmTemplateRegistration.cs
  class GcmTemplateRegistration (line 18) | [JsonObject(MemberSerialization.OptIn)]
    method GcmTemplateRegistration (line 21) | internal GcmTemplateRegistration()
    method GcmTemplateRegistration (line 31) | public GcmTemplateRegistration(string deviceId, string jsonTemplate, s...
    method GcmTemplateRegistration (line 43) | public GcmTemplateRegistration(string deviceId, string jsonTemplate, s...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.Android/Push/Push.cs
  class Push (line 14) | public sealed class Push
    method Push (line 18) | internal Push(MobileServiceClient client)
    method RegisterNativeAsync (line 39) | public Task RegisterNativeAsync(string deviceId)
    method RegisterNativeAsync (line 50) | public Task RegisterNativeAsync(string deviceId, IEnumerable<string> t...
    method RegisterTemplateAsync (line 68) | public Task RegisterTemplateAsync(string deviceId, string jsonTemplate...
    method RegisterTemplateAsync (line 81) | public Task RegisterTemplateAsync(string deviceId, string jsonTemplate...
    method UnregisterNativeAsync (line 106) | public Task UnregisterNativeAsync()
    method UnregisterTemplateAsync (line 116) | public Task UnregisterTemplateAsync(string templateName)
    method UnregisterAllAsync (line 126) | public Task UnregisterAllAsync(string deviceId)
    method RegisterAsync (line 141) | public Task RegisterAsync(Registration registration)
    method ListRegistrationsAsync (line 161) | public Task<List<Registration>> ListRegistrationsAsync(string deviceId)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.Net45/Platform/ApplicationStorage.cs
  class ApplicationStorage (line 16) | internal class ApplicationStorage : IApplicationStorage
    method ApplicationStorage (line 23) | private ApplicationStorage() : this(string.Empty)
    method ApplicationStorage (line 27) | internal ApplicationStorage(string name)
    method TryReadSetting (line 59) | bool IApplicationStorage.TryReadSetting(string name, out object value)
    method WriteSetting (line 101) | void IApplicationStorage.WriteSetting(string name, object value)
    method Save (line 125) | public void Save()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.Net45/Platform/CurrentPlatform.cs
  class CurrentPlatform (line 9) | internal class CurrentPlatform : IPlatform
    method GetNamedApplicationStorage (line 34) | public IApplicationStorage GetNamedApplicationStorage(string name)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.Net45/Platform/PlatformInformation.cs
  class PlatformInformation (line 16) | internal class PlatformInformation : IPlatformInformation

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.SQLiteStore/ColumnDefinition.cs
  class ColumnDefinition (line 13) | public class ColumnDefinition
    method ColumnDefinition (line 22) | public ColumnDefinition(string name, JTokenType jsonType, string store...
    method GetHashCode (line 29) | public override int GetHashCode()
    method Equals (line 34) | public override bool Equals(object obj)
    method ToString (line 47) | public override string ToString()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.SQLiteStore/Extensions/EnumerableExtensions.cs
  class EnumerableExtensions (line 8) | internal static class EnumerableExtensions
    method Split (line 13) | public static IEnumerable<IEnumerable<T>> Split<T>(this IEnumerable<T>...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.SQLiteStore/MobileServiceSQLiteStore.cs
  class MobileServiceSQLiteStore (line 21) | public class MobileServiceSQLiteStore : MobileServiceLocalStore
    method MobileServiceSQLiteStore (line 33) | protected MobileServiceSQLiteStore() { }
    method MobileServiceSQLiteStore (line 39) | public MobileServiceSQLiteStore(string fileName)
    method DefineTable (line 54) | public override void DefineTable(string tableName, JObject item)
    method OnInitialize (line 87) | protected override async Task OnInitialize()
    method ReadAsync (line 98) | public override Task<JToken> ReadAsync(MobileServiceTableQueryDescript...
    method UpsertAsync (line 135) | public override Task UpsertAsync(string tableName, IEnumerable<JObject...
    method UpsertAsyncInternal (line 151) | private Task UpsertAsyncInternal(string tableName, IEnumerable<JObject...
    method DeleteAsync (line 202) | public override Task DeleteAsync(MobileServiceTableQueryDescription qu...
    method DeleteAsync (line 225) | public override Task DeleteAsync(string tableName, IEnumerable<string>...
    method LookupAsync (line 263) | public override Task<JObject> LookupAsync(string tableName, string id)
    method GetTable (line 287) | private TableDefinition GetTable(string tableName)
    method SaveSetting (line 297) | internal virtual async Task SaveSetting(string name, string value)
    method InitializeConfig (line 307) | private async Task InitializeConfig()
    method CreateAllTables (line 321) | private void CreateAllTables()
    method BatchUpdate (line 329) | private void BatchUpdate(string tableName, IEnumerable<JObject> items,...
    method BatchInsert (line 371) | private void BatchInsert(string tableName, IEnumerable<JObject> items,...
    method ValidateParameterCount (line 407) | private static int ValidateParameterCount(int parametersCount)
    method AppendInsertValuesSql (line 417) | private static void AppendInsertValuesSql(StringBuilder sql, Dictionar...
    method CreateTableFromObject (line 433) | internal virtual void CreateTableFromObject(string tableName, IEnumera...
    method AddParameter (line 464) | private static string AddParameter(JObject item, Dictionary<string, ob...
    method CreateParameter (line 472) | private static string CreateParameter(Dictionary<string, object> param...
    method ExecuteNonQuery (line 484) | protected virtual void ExecuteNonQuery(string sql, IDictionary<string,...
    method ExecuteQuery (line 508) | protected virtual IList<JObject> ExecuteQuery(string tableName, string...
    method ExecuteQuery (line 514) | protected virtual IList<JObject> ExecuteQuery(TableDefinition table, s...
    method ValidateResult (line 540) | private static void ValidateResult(SQLiteResult result)
    method ReadRow (line 548) | private JObject ReadRow(TableDefinition table, ISQLiteStatement statem...
    method GetSystemProperties (line 570) | private static MobileServiceSystemProperties GetSystemProperties(JObje...
    method Dispose (line 593) | protected override void Dispose(bool disposing)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.SQLiteStore/MobileServiceSQLiteStoreExtensions.cs
  class MobileServiceSQLiteStoreExtensions (line 20) | public static class MobileServiceSQLiteStoreExtensions
    method DefineTable (line 22) | public static void DefineTable<T>(this MobileServiceSQLiteStore store)
    method DefineTable (line 28) | public static void DefineTable<T>(this MobileServiceSQLiteStore store,...
    method SetEnumDefault (line 54) | private static void SetEnumDefault(JsonObjectContract contract, object...
    method ConvertToJObject (line 71) | private static JObject ConvertToJObject(MobileServiceJsonSerializerSet...
    method SetIdDefault (line 78) | private static void SetIdDefault<T>(MobileServiceJsonSerializerSetting...
    method SetNullDefault (line 91) | private static void SetNullDefault(JsonObjectContract contract, JObjec...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.SQLiteStore/Properties/Resources.Designer.cs
  class Resources (line 23) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
    method Resources (line 32) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.SQLiteStore/SqlColumnType.cs
  class SqlColumnType (line 8) | internal static class SqlColumnType

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.SQLiteStore/SqlHelpers.cs
  class SqlHelpers (line 11) | internal class SqlHelpers
    method SerializeValue (line 15) | public static object SerializeValue(JValue value, bool allowNull)
    method SerializeValue (line 21) | public static object SerializeValue(JToken value, string storeType, JT...
    method DeserializeValue (line 44) | public static JToken DeserializeValue(object value, string storeType, ...
    method GetStoreCastType (line 68) | public static string GetStoreCastType(Type type)
    method GetStoreType (line 104) | public static string GetStoreType(JTokenType type, bool allowNull)
    method FormatTableName (line 146) | public static string FormatTableName(string tableName)
    method FormatMember (line 152) | public static string FormatMember(string memberName)
    method IsNumberType (line 158) | private static bool IsNumberType(string storeType)
    method IsRealType (line 166) | private static bool IsRealType(string storeType)
    method IsTextType (line 172) | private static bool IsTextType(string storeType)
    method SerializeAsNumber (line 182) | private static object SerializeAsNumber(JToken value, JTokenType colum...
    method SerializeAsReal (line 191) | private static double SerializeAsReal(JToken value, JTokenType columnT...
    method SerializeAsText (line 196) | private static string SerializeAsText(JToken value, JTokenType columnT...
    method ParseText (line 206) | private static JToken ParseText(JTokenType type, object value)
    method ParseReal (line 238) | private static JToken ParseReal(JTokenType type, object value)
    method ParseNumber (line 249) | private static JToken ParseNumber(JTokenType type, object value)
    method DeserializeDateTime (line 265) | private static JToken DeserializeDateTime(double value)
    method SerializeDateTime (line 270) | private static double SerializeDateTime(JToken value)
    method ValidateIdentifier (line 281) | private static void ValidateIdentifier(string identifier)
    method IsValidIdentifier (line 289) | private static bool IsValidIdentifier(string identifier)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.SQLiteStore/SqlQueryFormatter.cs
  class SqlQueryFormatter (line 14) | internal class SqlQueryFormatter : QueryNodeVisitor<QueryNode>
    method SqlQueryFormatter (line 21) | public SqlQueryFormatter(MobileServiceTableQueryDescription query)
    method FormatSelect (line 26) | public string FormatSelect()
    method FormatSelectCount (line 43) | public string FormatSelectCount()
    method FormatDelete (line 55) | public string FormatDelete()
    method FormatQuery (line 73) | private string FormatQuery(string command)
    method GetSql (line 100) | private string GetSql()
    method Reset (line 105) | private void Reset()
    method FormatLimitClause (line 111) | private void FormatLimitClause(int? limit, int? offset)
    method FormatCountQuery (line 121) | private void FormatCountQuery()
    method FormatOrderByClause (line 132) | private void FormatOrderByClause(IList<OrderByNode> orderings)
    method FormatWhereClause (line 149) | private void FormatWhereClause(QueryNode expression)
    method Visit (line 155) | public override QueryNode Visit(BinaryOperatorNode nodeIn)
    method Visit (line 251) | public override QueryNode Visit(ConstantNode nodeIn)
    method Visit (line 266) | public override QueryNode Visit(MemberAccessNode nodeIn)
    method Visit (line 274) | public override QueryNode Visit(FunctionCallNode nodeIn)
    method FormatLikeFunction (line 323) | private QueryNode FormatLikeFunction(bool startAny, FunctionCallNode n...
    method FormatConcatFunction (line 343) | private QueryNode FormatConcatFunction(FunctionCallNode nodeIn)
    method FormatIndexOfFunction (line 355) | private QueryNode FormatIndexOfFunction(FunctionCallNode nodeIn)
    method FormatSubstringFunction (line 362) | private QueryNode FormatSubstringFunction(FunctionCallNode nodeIn)
    method FormatStringFunction (line 382) | private QueryNode FormatStringFunction(string fn, FunctionCallNode nod...
    method FormatCeilingFunction (line 397) | private QueryNode FormatCeilingFunction(FunctionCallNode nodeIn)
    method FormatRoundFunction (line 410) | private QueryNode FormatRoundFunction(FunctionCallNode nodeIn)
    method FormatFloorFunction (line 421) | private QueryNode FormatFloorFunction(FunctionCallNode nodeIn)
    method FormatDateFunction (line 448) | private QueryNode FormatDateFunction(string formatSting, FunctionCallN...
    method Visit (line 458) | public override QueryNode Visit(UnaryOperatorNode nodeIn)
    method Visit (line 479) | public override QueryNode Visit(ConvertNode nodeIn)
    method CreateParameter (line 500) | private string CreateParameter(object value)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.SQLiteStore/TableDefinition.cs
  class TableDefinition (line 14) | [SuppressMessage("Microsoft.Interoperability", "CA1405:ComVisibleTypeBas...
    method TableDefinition (line 19) | public TableDefinition()
    method TableDefinition (line 23) | public TableDefinition(IDictionary<string, ColumnDefinition> definitio...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.WindowsPhone8.UI/Authentication/AuthenticationBroker.cs
  type PhoneAuthenticationStatus (line 19) | internal enum PhoneAuthenticationStatus
  class AuthenticationBroker (line 33) | internal class AuthenticationBroker : IDisposable
    method AuthenticationBroker (line 62) | public AuthenticationBroker()
    method AuthenticateAsync (line 90) | public Task<string> AuthenticateAsync(Uri startUrl, Uri endUrl, bool u...
    method OnAuthenticationFinished (line 136) | internal void OnAuthenticationFinished(string data, PhoneAuthenticatio...
    method GetTokenStringFromResponseData (line 162) | private string GetTokenStringFromResponseData(string responseData)
    method GetSubStringAfterMatch (line 205) | private string GetSubStringAfterMatch(string stringToSearch, string ma...
    method Dispose (line 224) | public void Dispose()
    method Dispose (line 238) | protected virtual void Dispose(bool disposing)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.WindowsPhone8.UI/LoginPage.xaml.cs
  class LoginPage (line 14) | public partial class LoginPage : PhoneApplicationPage
    method LoginPage (line 33) | public LoginPage()
    method BrowserControl_LoadCompleted (line 47) | void BrowserControl_LoadCompleted(object sender, NavigationEventArgs e)
    method OnNavigatedTo (line 71) | protected override void OnNavigatedTo(NavigationEventArgs e)
    method OnNavigatingFrom (line 105) | protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)
    method LoginPage_BackKeyPress (line 125) | void LoginPage_BackKeyPress(object sender, System.ComponentModel.Cance...
    method BrowserControl_Navigating (line 139) | private void BrowserControl_Navigating(object sender, NavigatingEventA...
    method BrowserControl_NavigationFailed (line 157) | private void BrowserControl_NavigationFailed(object sender, Navigation...
    method ShowProgressBar (line 184) | private void ShowProgressBar()
    method HideProgressBar (line 193) | private void HideProgressBar()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.WindowsPhone8/Platform/ApplicationStorage.cs
  class ApplicationStorage (line 15) | public class ApplicationStorage : IApplicationStorage
    method ApplicationStorage (line 22) | private ApplicationStorage() : this(string.Empty)
    method ApplicationStorage (line 26) | internal ApplicationStorage(string name)
    method TryReadSetting (line 59) | bool IApplicationStorage.TryReadSetting(string name, out object value)
    method WriteSetting (line 80) | void IApplicationStorage.WriteSetting(string name, object value)
    method Save (line 91) | void IApplicationStorage.Save()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.WindowsPhone8/Platform/PlatformInformation.cs
  class PlatformInformation (line 16) | internal class PlatformInformation : IPlatformInformation

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.WindowsPhone8/Platform/PushUtility.cs
  class PushUtility (line 9) | internal class PushUtility : IPushUtility
    method GetNewNativeRegistration (line 27) | public Registration GetNewNativeRegistration()
    method GetNewTemplateRegistration (line 32) | public Registration GetNewTemplateRegistration()
    method GetPlatform (line 37) | public string GetPlatform()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.WindowsPhone8/Push/MpnsRegistration.cs
  class MpnsRegistration (line 15) | [JsonObject(MemberSerialization.OptIn)]
    method MpnsRegistration (line 18) | internal MpnsRegistration()
    method MpnsRegistration (line 26) | public MpnsRegistration(string channelUri)
    method MpnsRegistration (line 36) | public MpnsRegistration(string channelUri, IEnumerable<string> tags)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.WindowsPhone8/Push/MpnsTemplateRegistration.cs
  class MpnsTemplateRegistration (line 18) | [JsonObject(MemberSerialization.OptIn)]
    method MpnsTemplateRegistration (line 39) | internal MpnsTemplateRegistration()
    method MpnsTemplateRegistration (line 49) | public MpnsTemplateRegistration(string channelUri, string bodyTemplate...
    method MpnsTemplateRegistration (line 61) | public MpnsTemplateRegistration(string channelUri, string bodyTemplate...
    method MpnsTemplateRegistration (line 74) | public MpnsTemplateRegistration(string channelUri, string bodyTemplate...
    type TemplateRegistrationType (line 114) | private enum TemplateRegistrationType
    method DetectBodyType (line 149) | private void DetectBodyType()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.WindowsPhone8/Push/Push.cs
  class Push (line 14) | public sealed class Push
    method Push (line 22) | public Push(MobileServiceClient client)
    method RegisterNativeAsync (line 39) | public Task RegisterNativeAsync(string channelUri)
    method RegisterNativeAsync (line 50) | public Task RegisterNativeAsync(string channelUri, IEnumerable<string>...
    method RegisterTemplateAsync (line 68) | public Task RegisterTemplateAsync(string channelUri, string xmlTemplat...
    method RegisterTemplateAsync (line 81) | public Task RegisterTemplateAsync(string channelUri, string xmlTemplat...
    method UnregisterNativeAsync (line 106) | public Task UnregisterNativeAsync()
    method UnregisterTemplateAsync (line 116) | public Task UnregisterTemplateAsync(string templateName)
    method UnregisterAllAsync (line 126) | public Task UnregisterAllAsync(string channelUri)
    method RegisterAsync (line 141) | public Task RegisterAsync(Registration registration)
    method ListRegistrationsAsync (line 161) | public Task<List<Registration>> ListRegistrationsAsync(string channelUri)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.WindowsPhone81/Authentication/AuthenticationBroker.cs
  class AuthenticationBroker (line 18) | internal class AuthenticationBroker
    method AuthenticateAsync (line 45) | public Task<string> AuthenticateAsync(Uri startUrl, Uri endUrl, bool u...
    method AuthenticationComplete (line 50) | public void AuthenticationComplete(WebAuthenticationResult result)
    method AuthenticateWithBroker (line 102) | private Task<string> AuthenticateWithBroker(Uri startUrl, Uri endUrl, ...
    method GetTokenStringFromResult (line 140) | private string GetTokenStringFromResult(WebAuthenticationResult result)
    method GetSubStringAfterMatch (line 188) | private string GetSubStringAfterMatch(string stringToSearch, string ma...
    method GetUrlWithQueryStringParameter (line 221) | private Uri GetUrlWithQueryStringParameter(Uri url, string queryParame...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.WindowsPhone81/Extensions/MobileServiceClientExtensions.cs
  class MobileServiceClientExtensions (line 14) | public static class MobileServiceClientExtensions
    method LoginAsync (line 28) | public static Task<MobileServiceUser> LoginAsync(this IMobileServiceCl...
    method LoginComplete (line 46) | public static void LoginComplete(this IMobileServiceClient client, Web...
    method LoginAsync (line 65) | public static Task<MobileServiceUser> LoginAsync(this IMobileServiceCl...
    method LoginAsync (line 85) | public static Task<MobileServiceUser> LoginAsync(this IMobileServiceCl...
    method GetPush (line 101) | public static Push GetPush(this MobileServiceClient client)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.WindowsPhone81/Platform/ApplicationStorage.cs
  class ApplicationStorage (line 17) | internal class ApplicationStorage : IApplicationStorage
    method ApplicationStorage (line 24) | private ApplicationStorage()
    method ApplicationStorage (line 29) | internal ApplicationStorage(string name)
    method TryReadSetting (line 61) | bool IApplicationStorage.TryReadSetting(string name, out object value)
    method WriteSetting (line 85) | void IApplicationStorage.WriteSetting(string name, object value)
    method Save (line 96) | public void Save()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.WindowsPhone81/Platform/PlatformInformation.cs
  class PlatformInformation (line 15) | internal class PlatformInformation : IPlatformInformation

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.WindowsStore/Authentication/AuthenticationBroker.cs
  class AuthenticationBroker (line 17) | internal class AuthenticationBroker
    method AuthenticateAsync (line 42) | public async Task<string> AuthenticateAsync(Uri startUrl, Uri endUrl, ...
    method AuthenticateWithBroker (line 87) | private async Task<WebAuthenticationResult> AuthenticateWithBroker(Uri...
    method GetTokenStringFromResult (line 119) | private string GetTokenStringFromResult(WebAuthenticationResult result)
    method GetSubStringAfterMatch (line 167) | private string GetSubStringAfterMatch(string stringToSearch, string ma...
    method GetUrlWithQueryStringParameter (line 200) | private Uri GetUrlWithQueryStringParameter(Uri url, string queryParame...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.WindowsStore/Authentication/MobileServiceSingleSignOnAuthentication.cs
  class MobileServiceSingleSignOnAuthentication (line 16) | internal class MobileServiceSingleSignOnAuthentication : MobileServiceAu...
    method MobileServiceSingleSignOnAuthentication (line 34) | public MobileServiceSingleSignOnAuthentication(IMobileServiceClient cl...
    method LoginAsyncOverride (line 45) | protected override Task<string> LoginAsyncOverride()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.WindowsStore/Authentication/MobileServiceUIAuthentication.cs
  class MobileServiceUIAuthentication (line 10) | internal class MobileServiceUIAuthentication : MobileServiceAuthentication
    method MobileServiceUIAuthentication (line 24) | public MobileServiceUIAuthentication(IMobileServiceClient client, stri...
    method LoginAsyncOverride (line 35) | protected override Task<string> LoginAsyncOverride()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.WindowsStore/Collections/MobileServiceIncrementalLoadingCollection.cs
  class MobileServiceIncrementalLoadingCollection (line 35) | public class MobileServiceIncrementalLoadingCollection<TTable, TCollecti...
    method MobileServiceIncrementalLoadingCollection (line 49) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "C...
    method MobileServiceIncrementalLoadingCollection (line 66) | public MobileServiceIncrementalLoadingCollection(IMobileServiceTableQu...
    method MobileServiceIncrementalLoadingCollection (line 76) | public MobileServiceIncrementalLoadingCollection(IMobileServiceTableQu...
    method LoadMoreItemsAsync (line 102) | IAsyncOperation<LoadMoreItemsResult> ISupportIncrementalLoading.LoadMo...
    method OnExceptionOccurred (line 131) | protected virtual void OnExceptionOccurred(Exception exception)
    method MobileServiceIncrementalLoadingCollection (line 154) | public MobileServiceIncrementalLoadingCollection(IMobileServiceTableQu...
  class MobileServiceIncrementalLoadingCollection (line 146) | public class MobileServiceIncrementalLoadingCollection<T> : MobileServic...
    method MobileServiceIncrementalLoadingCollection (line 49) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "C...
    method MobileServiceIncrementalLoadingCollection (line 66) | public MobileServiceIncrementalLoadingCollection(IMobileServiceTableQu...
    method MobileServiceIncrementalLoadingCollection (line 76) | public MobileServiceIncrementalLoadingCollection(IMobileServiceTableQu...
    method LoadMoreItemsAsync (line 102) | IAsyncOperation<LoadMoreItemsResult> ISupportIncrementalLoading.LoadMo...
    method OnExceptionOccurred (line 131) | protected virtual void OnExceptionOccurred(Exception exception)
    method MobileServiceIncrementalLoadingCollection (line 154) | public MobileServiceIncrementalLoadingCollection(IMobileServiceTableQu...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.WindowsStore/ExpressionUtility/PartialEvaluator.cs
  class PartialEvaluator (line 31) | internal static class PartialEvaluator
    method PartiallyEvaluate (line 45) | public static Expression PartiallyEvaluate(Expression expression)
    method FindIndependentSubtrees (line 64) | private static List<Expression> FindIndependentSubtrees(Expression exp...
    method EvaluateIndependentSubtrees (line 151) | private static Expression EvaluateIndependentSubtrees(Expression expre...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.WindowsStore/ExpressionUtility/VisitorHelper.cs
  class VisitorHelper (line 14) | internal class VisitorHelper : ExpressionVisitor
    method VisitorHelper (line 33) | private VisitorHelper()
    method VisitAll (line 48) | public static Expression VisitAll(Expression expression, Func<Expressi...
    method VisitMembers (line 72) | public static Expression VisitMembers(Expression expression, Func<Memb...
    method Visit (line 90) | public override Expression Visit(Expression expression)
    method VisitMember (line 102) | protected override Expression VisitMember(MemberExpression expression)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.WindowsStore/Extensions/MobileServiceClientExtensions.cs
  class MobileServiceClientExtensions (line 13) | public static class MobileServiceClientExtensions
    method LoginAsync (line 27) | public static Task<MobileServiceUser> LoginAsync(this IMobileServiceCl...
    method LoginAsync (line 47) | public static Task<MobileServiceUser> LoginAsync(this IMobileServiceCl...
    method LoginAsync (line 64) | public static Task<MobileServiceUser> LoginAsync(this IMobileServiceCl...
    method LoginAsync (line 84) | public static Task<MobileServiceUser> LoginAsync(this IMobileServiceCl...
    method GetPush (line 100) | public static Push GetPush(this MobileServiceClient client)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.WindowsStore/Extensions/MobileServiceCollectionViewExtensions.cs
  class MobileServiceCollectionViewExtensions (line 13) | public static class MobileServiceCollectionViewExtensions
    method ToCollectionView (line 19) | public static MobileServiceCollectionView<T> ToCollectionView<T>(this ...
    method ToCollectionView (line 28) | public static MobileServiceCollectionView<T> ToCollectionView<T>(this ...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.WindowsStore/Extensions/MobileServiceIncrementalLoadingCollectionExtensions.cs
  class MobileServiceIncrementalLoadingCollectionExtensions (line 17) | public static class MobileServiceIncrementalLoadingCollectionExtensions
    method ToIncrementalLoadingCollection (line 23) | public static MobileServiceIncrementalLoadingCollection<TTable, TTable...
    method ToIncrementalLoadingCollection (line 32) | public static MobileServiceIncrementalLoadingCollection<TTable, TTable...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.WindowsStore/Extensions/SingleSignOnExtensions.cs
  class SingleSignOnExtensions (line 13) | public static class SingleSignOnExtensions
    method LoginAsync (line 33) | public static Task<MobileServiceUser> LoginAsync(this IMobileServiceCl...
    method LoginAsync (line 59) | public static Task<MobileServiceUser> LoginAsync(this IMobileServiceCl...
    method LoginAsync (line 82) | public static Task<MobileServiceUser> LoginAsync(this IMobileServiceCl...
    method LoginAsync (line 108) | public static Task<MobileServiceUser> LoginAsync(this IMobileServiceCl...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.WindowsStore/Platform/ApplicationStorage.cs
  class ApplicationStorage (line 17) | internal class ApplicationStorage : IApplicationStorage
    method ApplicationStorage (line 24) | private ApplicationStorage()
    method ApplicationStorage (line 29) | internal ApplicationStorage(string name)
    method TryReadSetting (line 61) | bool IApplicationStorage.TryReadSetting(string name, out object value)
    method WriteSetting (line 85) | void IApplicationStorage.WriteSetting(string name, object value)
    method Save (line 96) | public void Save()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.WindowsStore/Platform/CurrentPlatform.cs
  class CurrentPlatform (line 9) | internal class CurrentPlatform : IPlatform
    method GetNamedApplicationStorage (line 34) | public IApplicationStorage GetNamedApplicationStorage(string name)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.WindowsStore/Platform/ExpressionUtility.cs
  class ExpressionUtility (line 14) | internal class ExpressionUtility : IExpressionUtility
    method PartiallyEvaluate (line 44) | public Expression PartiallyEvaluate(Expression expression)
    method GetMemberExpressions (line 54) | public IEnumerable<MemberExpression> GetMemberExpressions(Expression e...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.WindowsStore/Platform/PlatformInformation.cs
  class PlatformInformation (line 15) | internal class PlatformInformation : IPlatformInformation

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.WindowsStore/Platform/PushUtility.cs
  class PushUtility (line 9) | internal class PushUtility : IPushUtility
    method GetNewNativeRegistration (line 27) | public Registration GetNewNativeRegistration()
    method GetNewTemplateRegistration (line 32) | public Registration GetNewTemplateRegistration()
    method GetPlatform (line 37) | public string GetPlatform()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.WindowsStore/Push/Push.cs
  class Push (line 19) | public sealed class Push
    method Push (line 25) | internal Push(MobileServiceClient client)
    method Push (line 30) | private Push(MobileServiceClient client, string tileId, SecondaryTiles...
    method RegisterNativeAsync (line 69) | public Task RegisterNativeAsync(string channelUri)
    method RegisterNativeAsync (line 80) | public Task RegisterNativeAsync(string channelUri, IEnumerable<string>...
    method RegisterTemplateAsync (line 98) | public Task RegisterTemplateAsync(string channelUri, XmlDocument xmlTe...
    method RegisterTemplateAsync (line 111) | public Task RegisterTemplateAsync(string channelUri, XmlDocument xmlTe...
    method RegisterTemplateAsync (line 128) | public Task RegisterTemplateAsync(string channelUri, string xmlTemplat...
    method RegisterTemplateAsync (line 141) | public Task RegisterTemplateAsync(string channelUri, string xmlTemplat...
    method UnregisterNativeAsync (line 166) | public Task UnregisterNativeAsync()
    method UnregisterTemplateAsync (line 176) | public Task UnregisterTemplateAsync(string templateName)
    method UnregisterAllAsync (line 186) | public Task UnregisterAllAsync(string channelUri)
    method RegisterAsync (line 201) | public Task RegisterAsync(Registration registration)
    method ListRegistrationsAsync (line 221) | public Task<List<Registration>> ListRegistrationsAsync(string channelUri)
    class SecondaryTilesList (line 229) | private class SecondaryTilesList : IDictionary<string, Push>
      method SecondaryTilesList (line 234) | internal SecondaryTilesList(Push parent)
      method Add (line 288) | public void Add(string key, Push value)
      method ContainsKey (line 293) | public bool ContainsKey(string tileId)
      method Remove (line 298) | public bool Remove(string tileId)
      method TryGetValue (line 304) | public bool TryGetValue(string tileId, out Push value)
      method Add (line 309) | public void Add(KeyValuePair<string, Push> item)
      method Clear (line 314) | public void Clear()
      method Contains (line 319) | public bool Contains(KeyValuePair<string, Push> item)
      method CopyTo (line 324) | public void CopyTo(KeyValuePair<string, Push>[] array, int arrayIndex)
      method Remove (line 332) | public bool Remove(KeyValuePair<string, Push> item)
      method GetEnumerator (line 337) | public IEnumerator<KeyValuePair<string, Push>> GetEnumerator()
      method GetEnumerator (line 342) | System.Collections.IEnumerator System.Collections.IEnumerable.GetEnu...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.WindowsStore/Push/WnsRegistration.cs
  class WnsRegistration (line 14) | [JsonObject(MemberSerialization.OptIn)]
    method WnsRegistration (line 17) | internal WnsRegistration()
    method WnsRegistration (line 25) | public WnsRegistration(string channelUri)
    method WnsRegistration (line 35) | public WnsRegistration(string channelUri, IEnumerable<string> tags)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.WindowsStore/Push/WnsTemplateRegistration.cs
  type TemplateRegistrationType (line 16) | internal enum TemplateRegistrationType
  class WnsTemplateRegistration (line 27) | [JsonObject(MemberSerialization.OptIn)]
    method WnsTemplateRegistration (line 32) | internal WnsTemplateRegistration()
    method WnsTemplateRegistration (line 42) | public WnsTemplateRegistration(string channelUri, string bodyTemplate,...
    method WnsTemplateRegistration (line 54) | public WnsTemplateRegistration(string channelUri, string bodyTemplate,...
    method WnsTemplateRegistration (line 67) | public WnsTemplateRegistration(string channelUri, string bodyTemplate,...
    method DetectBodyType (line 152) | private static string DetectBodyType(XmlDocument template)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.iOS/Authentication/MobileServiceUIAuthentication.cs
  class MobileServiceUIAuthentication (line 17) | internal class MobileServiceUIAuthentication : MobileServiceAuthentication
    method MobileServiceUIAuthentication (line 22) | public MobileServiceUIAuthentication(RectangleF rect, object view, IMo...
    method LoginAsyncOverride (line 29) | protected override Task<string> LoginAsyncOverride()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.iOS/Extensions/MobileServiceClientExtensions.cs
  class MobileServiceClientExtensions (line 15) | public static class MobileServiceClientExtensions
    method LoginAsync (line 32) | public static Task<MobileServiceUser> LoginAsync(this IMobileServiceCl...
    method LoginAsync (line 55) | public static Task<MobileServiceUser> LoginAsync(this IMobileServiceCl...
    method LoginAsync (line 75) | public static Task<MobileServiceUser> LoginAsync(this IMobileServiceCl...
    method LoginAsync (line 98) | public static Task<MobileServiceUser> LoginAsync(this IMobileServiceCl...
    method LoginAsync (line 121) | public static Task<MobileServiceUser> LoginAsync(this IMobileServiceCl...
    method LoginAsync (line 147) | public static Task<MobileServiceUser> LoginAsync(this IMobileServiceCl...
    method LoginAsync (line 170) | public static Task<MobileServiceUser> LoginAsync(this IMobileServiceCl...
    method LoginAsync (line 196) | public static Task<MobileServiceUser> LoginAsync(this IMobileServiceCl...
    method LoginAsync (line 216) | public static Task<MobileServiceUser> LoginAsync(this IMobileServiceCl...
    method LoginAsync (line 239) | public static Task<MobileServiceUser> LoginAsync(this IMobileServiceCl...
    method LoginAsync (line 259) | public static Task<MobileServiceUser> LoginAsync(this IMobileServiceCl...
    method LoginAsync (line 285) | public static Task<MobileServiceUser> LoginAsync(this IMobileServiceCl...
    method LoginAsync (line 290) | internal static Task<MobileServiceUser> LoginAsync(IMobileServiceClien...
    method GetPush (line 305) | public static Push GetPush(this MobileServiceClient client)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.iOS/Platform/ApplicationStorage.cs
  class ApplicationStorage (line 11) | internal class ApplicationStorage : IApplicationStorage
    method ApplicationStorage (line 18) | private ApplicationStorage()
    method ApplicationStorage (line 23) | internal ApplicationStorage(string name)
    method TryReadSetting (line 41) | public bool TryReadSetting (string name, out object value)
    method WriteSetting (line 72) | public void WriteSetting (string name, object value)
    method Save (line 101) | public void Save()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.iOS/Platform/CurrentPlatform.cs
  class CurrentPlatform (line 13) | public class CurrentPlatform : IPlatform
    method Init (line 19) | public static void Init()
    method GetNamedApplicationStorage (line 40) | IApplicationStorage IPlatform.GetNamedApplicationStorage(string name)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.iOS/Platform/PlatformInformation.cs
  class PlatformInformation (line 14) | internal class PlatformInformation : IPlatformInformation

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.iOS/Platform/PushUtility.cs
  class PushUtility (line 9) | internal class PushUtility : IPushUtility
    method GetNewNativeRegistration (line 27) | public Registration GetNewNativeRegistration()
    method GetNewNativeRegistration (line 32) | public Registration GetNewNativeRegistration(string deviceId, IEnumera...
    method GetNewTemplateRegistration (line 37) | public Registration GetNewTemplateRegistration()
    method GetNewTemplateRegistration (line 42) | public Registration GetNewTemplateRegistration(string deviceId, string...
    method GetPlatform (line 47) | public string GetPlatform()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.iOS/Push/ApnsRegistration.cs
  class ApnsRegistration (line 20) | [JsonObject(MemberSerialization.OptIn)]
    method ApnsRegistration (line 23) | internal ApnsRegistration()
    method ApnsRegistration (line 31) | public ApnsRegistration(string deviceToken)
    method ApnsRegistration (line 40) | public ApnsRegistration(NSData deviceToken)
    method ApnsRegistration (line 50) | public ApnsRegistration(string deviceToken, IEnumerable<string> tags)
    method ApnsRegistration (line 60) | public ApnsRegistration(NSData deviceToken, IEnumerable<string> tags)
    method TrimDeviceToken (line 65) | internal static string TrimDeviceToken(string deviceToken)
    method ParseDeviceToken (line 75) | internal static string ParseDeviceToken(NSData deviceToken)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.iOS/Push/ApnsTemplateRegistration.cs
  class ApnsTemplateRegistration (line 23) | [JsonObject(MemberSerialization.OptIn)]
    method ApnsTemplateRegistration (line 26) | internal ApnsTemplateRegistration()
    method ApnsTemplateRegistration (line 37) | public ApnsTemplateRegistration(string deviceToken, string jsonTemplat...
    method ApnsTemplateRegistration (line 49) | public ApnsTemplateRegistration(NSData deviceToken, string jsonTemplat...
    method ApnsTemplateRegistration (line 62) | public ApnsTemplateRegistration(string deviceToken, string jsonTemplat...
    method ApnsTemplateRegistration (line 98) | public ApnsTemplateRegistration(NSData deviceToken, string jsonTemplat...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices.iOS/Push/Push.cs
  class Push (line 20) | public sealed class Push
    method Push (line 24) | internal Push(MobileServiceClient client)
    method Push (line 36) | internal Push(IRegistrationManager registrationManager)
    method RegisterNativeAsync (line 51) | public Task RegisterNativeAsync(string deviceToken)
    method RegisterNativeAsync (line 61) | public Task RegisterNativeAsync(NSData deviceToken)
    method RegisterNativeAsync (line 72) | public Task RegisterNativeAsync(string deviceToken, IEnumerable<string...
    method RegisterNativeAsync (line 89) | public Task RegisterNativeAsync(NSData deviceToken, IEnumerable<string...
    method RegisterTemplateAsync (line 108) | public Task RegisterTemplateAsync(string deviceToken, string jsonTempl...
    method RegisterTemplateAsync (line 121) | public Task RegisterTemplateAsync(NSData deviceToken, string jsonTempl...
    method RegisterTemplateAsync (line 135) | public Task RegisterTemplateAsync(string deviceToken, string jsonTempl...
    method RegisterTemplateAsync (line 165) | public Task RegisterTemplateAsync(NSData deviceToken, string jsonTempl...
    method UnregisterNativeAsync (line 190) | public Task UnregisterNativeAsync()
    method UnregisterTemplateAsync (line 200) | public Task UnregisterTemplateAsync(string templateName)
    method UnregisterAllAsync (line 210) | public Task UnregisterAllAsync(string deviceToken)
    method UnregisterAllAsync (line 225) | public Task UnregisterAllAsync(NSData deviceToken)
    method RegisterAsync (line 240) | public Task RegisterAsync(Registration registration)
    method ListRegistrationsAsync (line 261) | public Task<List<Registration>> ListRegistrationsAsync(string deviceTo...
    method ListRegistrationsAsync (line 271) | public Task<List<Registration>> ListRegistrationsAsync(NSData deviceTo...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Authentication/MobileServiceAuthentication.cs
  class MobileServiceAuthentication (line 16) | internal abstract class MobileServiceAuthentication
    method MobileServiceAuthentication (line 58) | public MobileServiceAuthentication(IMobileServiceClient client, string...
    method LoginAsync (line 129) | internal async Task<MobileServiceUser> LoginAsync()
    method LoginAsyncOverride (line 150) | protected abstract Task<string> LoginAsyncOverride();

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Authentication/MobileServiceAuthenticationProvider.cs
  type MobileServiceAuthenticationProvider (line 10) | public enum MobileServiceAuthenticationProvider

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Authentication/MobileServiceTokenAuthentication.cs
  class MobileServiceTokenAuthentication (line 13) | internal class MobileServiceTokenAuthentication : MobileServiceAuthentic...
    method MobileServiceTokenAuthentication (line 40) | public MobileServiceTokenAuthentication(MobileServiceClient client, st...
    method LoginAsyncOverride (line 56) | protected override Task<string> LoginAsyncOverride()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Collections/MobileServiceCollection.cs
  class MobileServiceCollection (line 30) | public class MobileServiceCollection<TTable, TCollection> :
    method MobileServiceCollection (line 72) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "C...
    method MobileServiceCollection (line 114) | public MobileServiceCollection(IMobileServiceTableQuery<TTable> query,...
    method MobileServiceCollection (line 127) | public MobileServiceCollection(IMobileServiceTableQuery<TTable> query,...
    method ProcessQueryAsync (line 191) | protected async virtual Task<int> ProcessQueryAsync(CancellationToken ...
    method PrepareDataForCollection (line 222) | public virtual IEnumerable<TCollection> PrepareDataForCollection(IEnum...
    method PrepareDataForCollection (line 233) | public TCollection PrepareDataForCollection(TTable item)
    method LoadMoreItemsAsync (line 280) | public Task<int> LoadMoreItemsAsync(int count = 0)
    method LoadMoreItemsAsync (line 299) | public async Task<int> LoadMoreItemsAsync(CancellationToken token, int...
    method OnPropertyChanged (line 377) | protected virtual void OnPropertyChanged([CallerMemberName]string prop...
    method MobileServiceCollection (line 410) | public MobileServiceCollection(IMobileServiceTableQuery<T> query, int ...
  class MobileServiceCollection (line 399) | public class MobileServiceCollection<T> : MobileServiceCollection<T, T>
    method MobileServiceCollection (line 72) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "C...
    method MobileServiceCollection (line 114) | public MobileServiceCollection(IMobileServiceTableQuery<TTable> query,...
    method MobileServiceCollection (line 127) | public MobileServiceCollection(IMobileServiceTableQuery<TTable> query,...
    method ProcessQueryAsync (line 191) | protected async virtual Task<int> ProcessQueryAsync(CancellationToken ...
    method PrepareDataForCollection (line 222) | public virtual IEnumerable<TCollection> PrepareDataForCollection(IEnum...
    method PrepareDataForCollection (line 233) | public TCollection PrepareDataForCollection(TTable item)
    method LoadMoreItemsAsync (line 280) | public Task<int> LoadMoreItemsAsync(int count = 0)
    method LoadMoreItemsAsync (line 299) | public async Task<int> LoadMoreItemsAsync(CancellationToken token, int...
    method OnPropertyChanged (line 377) | protected virtual void OnPropertyChanged([CallerMemberName]string prop...
    method MobileServiceCollection (line 410) | public MobileServiceCollection(IMobileServiceTableQuery<T> query, int ...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Collections/MobileServiceCollectionEventArgs.cs
  class LoadingCompleteEventArgs (line 8) | public class LoadingCompleteEventArgs : EventArgs

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/EnumValueAttribute.cs
  class EnumValueAttribute (line 13) | class EnumValueAttribute : Attribute
    method EnumValueAttribute (line 20) | public EnumValueAttribute(string value)
    method GetValue (line 30) | internal static string GetValue<TEnum>(TEnum value)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Exceptions/MobileServiceConflictException.cs
  class MobileServiceConflictException (line 12) | public class MobileServiceConflictException : MobileServiceInvalidOperat...
    method MobileServiceConflictException (line 24) | public MobileServiceConflictException(MobileServiceInvalidOperationExc...
    method MobileServiceConflictException (line 45) | public MobileServiceConflictException(MobileServiceInvalidOperationExc...
  class MobileServiceConflictException (line 33) | public class MobileServiceConflictException<T> : MobileServiceConflictEx...
    method MobileServiceConflictException (line 24) | public MobileServiceConflictException(MobileServiceInvalidOperationExc...
    method MobileServiceConflictException (line 45) | public MobileServiceConflictException(MobileServiceInvalidOperationExc...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Exceptions/MobileServiceInvalidOperationException.cs
  class MobileServiceInvalidOperationException (line 15) | public class MobileServiceInvalidOperationException : InvalidOperationEx...
    method MobileServiceInvalidOperationException (line 30) | public MobileServiceInvalidOperationException(string message, HttpRequ...
    method MobileServiceInvalidOperationException (line 51) | public MobileServiceInvalidOperationException(string message, HttpRequ...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Exceptions/MobileServiceLocalStoreException.cs
  class MobileServiceLocalStoreException (line 12) | public class MobileServiceLocalStoreException: Exception
    method MobileServiceLocalStoreException (line 19) | public MobileServiceLocalStoreException(string message, Exception inne...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Exceptions/MobileServiceODataException.cs
  class MobileServiceODataException (line 16) | public class MobileServiceODataException : InvalidOperationException
    method MobileServiceODataException (line 24) | public MobileServiceODataException() : base()
    method MobileServiceODataException (line 30) | public MobileServiceODataException(string message, int errorPos)
    method MobileServiceODataException (line 39) | public MobileServiceODataException(string message, int errorPos, Excep...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Exceptions/MobileServicePreconditionFailedException.cs
  class MobileServicePreconditionFailedException (line 12) | public class MobileServicePreconditionFailedException : MobileServiceInv...
    method MobileServicePreconditionFailedException (line 24) | public MobileServicePreconditionFailedException(MobileServiceInvalidOp...
    method MobileServicePreconditionFailedException (line 45) | public MobileServicePreconditionFailedException(MobileServiceInvalidOp...
  class MobileServicePreconditionFailedException (line 33) | public class MobileServicePreconditionFailedException<T> : MobileService...
    method MobileServicePreconditionFailedException (line 24) | public MobileServicePreconditionFailedException(MobileServiceInvalidOp...
    method MobileServicePreconditionFailedException (line 45) | public MobileServicePreconditionFailedException(MobileServiceInvalidOp...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Exceptions/MobileServicePushAbortException.cs
  class MobileServicePushAbortException (line 12) | internal class MobileServicePushAbortException : Exception

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Exceptions/MobileServicePushFailedException.cs
  class MobileServicePushFailedException (line 12) | public class MobileServicePushFailedException : Exception
    method MobileServicePushFailedException (line 24) | public MobileServicePushFailedException(MobileServicePushCompletionRes...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Extensions/ExceptionExtensions.cs
  class ExceptionExtensions (line 15) | internal static class ExceptionExtensions
    method IsNetworkError (line 17) | public static bool IsNetworkError(this Exception ex)
    method IsAuthenticationError (line 22) | public static bool IsAuthenticationError(this Exception ex)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Extensions/IDictionaryExtensions.cs
  class IDictionaryExtensions (line 12) | internal static class IDictionaryExtensions
    method Add (line 14) | public static IDictionary<TKey, TValue> Add<TKey,TValue>(this IDiction...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Extensions/JTokenExtensions.cs
  class JTokenExtensions (line 15) | internal static class JTokenExtensions
    method IsValidItem (line 22) | public static bool IsValidItem(this JToken item)
    method ValidItemOrNull (line 33) | public static JObject ValidItemOrNull(this JToken item)
    method HasId (line 38) | private static bool HasId(JObject obj)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Extensions/MobileServiceClientExtensions.cs
  class MobileServiceClientExtensions (line 14) | public static class MobileServiceClientExtensions
    method LoginWithMicrosoftAccountAsync (line 35) | [SuppressMessage("Microsoft.Naming", "CA1726:UsePreferredTerms", Messa...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Extensions/MobileServiceCollectionExtensions.cs
  class MobileServiceCollectionExtensions (line 18) | public static class MobileServiceCollectionExtensions
    method ToCollectionAsync (line 30) | public async static Task<MobileServiceCollection<TTable, TTable>> ToCo...
    method ToCollectionAsync (line 47) | public static Task<MobileServiceCollection<TTable, TTable>> ToCollecti...
    method ToCollectionAsync (line 62) | public static Task<MobileServiceCollection<TTable, TTable>> ToCollecti...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Extensions/MobileServiceLocalStoreExtensions.cs
  class MobileServiceLocalStoreExtensions (line 18) | internal static class MobileServiceLocalStoreExtensions
    method UpsertAsync (line 28) | public static Task UpsertAsync(this IMobileServiceLocalStore store, st...
    method DeleteAsync (line 40) | public static Task DeleteAsync(this IMobileServiceLocalStore store, st...
    method CountAsync (line 51) | public async static Task<long> CountAsync(this IMobileServiceLocalStor...
    method CountAsync (line 63) | public static async Task<long> CountAsync(this IMobileServiceLocalStor...
    method QueryAsync (line 78) | public static async Task<QueryResult> QueryAsync(this IMobileServiceLo...
    method FirstOrDefault (line 89) | public static async Task<JObject> FirstOrDefault(this IMobileServiceLo...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Extensions/MobileServiceSyncContextExtensions.cs
  class MobileServiceSyncContextExtensions (line 18) | public static class MobileServiceSyncContextExtensions
    method PushAsync (line 23) | public static Task PushAsync(this IMobileServiceSyncContext context)
    method InitializeAsync (line 33) | public static Task InitializeAsync(this IMobileServiceSyncContext cont...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Extensions/MobileServiceSyncTableExtensions.cs
  class MobileServiceSyncTableExtensions (line 15) | public static class MobileServiceSyncTableExtensions
    method PullAsync (line 34) | public static Task PullAsync(this IMobileServiceSyncTable table, strin...
    method PullAsync (line 59) | public static Task PullAsync(this IMobileServiceSyncTable table, strin...
    method PullAsync (line 88) | public static Task PullAsync(this IMobileServiceSyncTable table, strin...
    method PullAsync (line 119) | public static Task PullAsync(this IMobileServiceSyncTable table, strin...
    method PullAsync (line 146) | public static Task PullAsync(this IMobileServiceSyncTable table, strin...
    method PullAsync (line 171) | public static Task PullAsync<T, U>(this IMobileServiceSyncTable<T> tab...
    method PullAsync (line 198) | public static Task PullAsync<T, U>(this IMobileServiceSyncTable<T> tab...
    method PullAsync (line 221) | public static Task PullAsync<T, U>(this IMobileServiceSyncTable<T> tab...
    method PullAsync (line 247) | public static Task PullAsync<T, U>(this IMobileServiceSyncTable<T> tab...
    method PullAsync (line 270) | public static Task PullAsync<T, U>(this IMobileServiceSyncTable<T> tab...
    method PurgeAsync (line 281) | public static Task PurgeAsync(this IMobileServiceSyncTable table)
    method PurgeAsync (line 292) | public static Task PurgeAsync(this IMobileServiceSyncTable table, bool...
    method PurgeAsync (line 303) | public static Task PurgeAsync(this IMobileServiceSyncTable table, stri...
    method PurgeAsync (line 315) | public static Task PurgeAsync<T, U>(this IMobileServiceSyncTable<T> ta...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Extensions/MobileServiceTableExtensions.cs
  class MobileServiceTableExtensions (line 14) | public static class MobileServiceTableExtensions
    method ReadAsync (line 32) | public static Task<JToken> ReadAsync(this IMobileServiceTable table, s...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Extensions/PlatformInformationExtensions.cs
  class PlatformInformationExtensions (line 10) | public static class PlatformInformationExtensions
    method GetVersionFromAssemblyFileVersion (line 18) | internal static string GetVersionFromAssemblyFileVersion(this IPlatfor...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Extensions/StringExtensions.cs
  class StringExtensions (line 14) | internal static class StringExtensions
    method FormatInvariant (line 16) | public static string FormatInvariant(this string format, params object...
    method ParseToJToken (line 28) | public static JToken ParseToJToken(this string content, JsonSerializer...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Extensions/TypeExtensions.cs
  class TypeExtensions (line 13) | internal static class TypeExtensions
    method UnwrapNullable (line 22) | public static Type UnwrapNullable(this Type thisType)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Http/HttpUtility.cs
  class HttpUtility (line 11) | internal static class HttpUtility
    method TryParseQueryUri (line 22) | public static bool TryParseQueryUri(Uri applicationUri, string query, ...
    method GetUriWithoutQuery (line 47) | public static string GetUriWithoutQuery(Uri uri)
    method ParseQueryString (line 58) | public static IDictionary<string, string> ParseQueryString(string query)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Http/LinkHeaderValue.cs
  class LinkHeaderValue (line 10) | internal class LinkHeaderValue
    method LinkHeaderValue (line 16) | public LinkHeaderValue(string uri, string rel)
    method Parse (line 24) | public static LinkHeaderValue Parse(string value)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Http/MobileServiceHttpClient.cs
  class MobileServiceHttpClient (line 21) | internal class MobileServiceHttpClient : IDisposable
    method MobileServiceHttpClient (line 126) | public MobileServiceHttpClient(IEnumerable<HttpMessageHandler> handler...
    method RequestWithoutHandlersAsync (line 169) | public async Task<string> RequestWithoutHandlersAsync(HttpMethod metho...
    method RequestAsync (line 205) | public Task<MobileServiceHttpResponse> RequestAsync(HttpMethod method,
    method RequestAsync (line 247) | private async Task<MobileServiceHttpResponse> RequestAsync(bool UseHan...
    method RequestAsync (line 322) | public async Task<HttpResponseMessage> RequestAsync(HttpMethod method,
    method Dispose (line 346) | public void Dispose()
    method Dispose (line 360) | protected virtual void Dispose(bool disposing)
    method CreateHttpContent (line 395) | private static HttpContent CreateHttpContent(string content)
    method GetResponseContent (line 415) | private static async Task<string> GetResponseContent(HttpResponseMessa...
    method ThrowInvalidResponse (line 435) | private static async Task ThrowInvalidResponse(HttpRequestMessage requ...
    method CreateHttpRequestMessage (line 539) | private HttpRequestMessage CreateHttpRequestMessage(HttpMethod method,...
    method SendRequestAsync (line 596) | private async Task<HttpResponseMessage> SendRequestAsync(HttpClient cl...
    method CreatePipeline (line 640) | private static HttpMessageHandler CreatePipeline(IEnumerable<HttpMessa...
    method GetDefaultHttpClientHandler (line 676) | private static HttpMessageHandler GetDefaultHttpClientHandler()
    method GetUserAgentHeader (line 693) | private string GetUserAgentHeader()
    class FeaturesHelper (line 713) | static class FeaturesHelper
      method FeaturesHelper (line 720) | static FeaturesHelper()
      method AddFeaturesHeader (line 743) | public static IDictionary<string, string> AddFeaturesHeader(IDiction...
      method FeaturesToString (line 762) | private static string FeaturesToString(MobileServiceFeatures features)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Http/MobileServiceHttpResponse.cs
  class MobileServiceHttpResponse (line 7) | internal class MobileServiceHttpResponse
    method MobileServiceHttpResponse (line 15) | public MobileServiceHttpResponse(string content, string etag, LinkHead...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/IMobileServiceClient.cs
  type IMobileServiceClient (line 18) | public interface IMobileServiceClient
    method GetTable (line 53) | IMobileServiceTable GetTable(string tableName);
    method GetSyncTable (line 61) | IMobileServiceSyncTable GetSyncTable(string tableName);
    method GetTable (line 73) | IMobileServiceTable<T> GetTable<T>();
    method GetSyncTable (line 85) | IMobileServiceSyncTable<T> GetSyncTable<T>();
    method LoginAsync (line 117) | Task<MobileServiceUser> LoginAsync(MobileServiceAuthenticationProvider...
    method LoginAsync (line 149) | Task<MobileServiceUser> LoginAsync(string provider, JObject token);
    method Logout (line 154) | void Logout();
    method InvokeApiAsync (line 163) | Task<T> InvokeApiAsync<T>(string apiName, CancellationToken cancellati...
    method InvokeApiAsync (line 175) | Task<U> InvokeApiAsync<T, U>(string apiName, T body, CancellationToken...
    method InvokeApiAsync (line 189) | Task<T> InvokeApiAsync<T>(string apiName, HttpMethod method, IDictiona...
    method InvokeApiAsync (line 205) | Task<U> InvokeApiAsync<T, U>(string apiName, T body, HttpMethod method...
    method InvokeApiAsync (line 213) | Task<JToken> InvokeApiAsync(string apiName, CancellationToken cancella...
    method InvokeApiAsync (line 223) | Task<JToken> InvokeApiAsync(string apiName, JToken body, CancellationT...
    method InvokeApiAsync (line 236) | Task<JToken> InvokeApiAsync(string apiName, HttpMethod method, IDictio...
    method InvokeApiAsync (line 250) | Task<JToken> InvokeApiAsync(string apiName, JToken body, HttpMethod me...
    method InvokeApiAsync (line 267) | Task<HttpResponseMessage> InvokeApiAsync(string apiName, HttpContent c...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/MobileServiceClient.cs
  class MobileServiceClient (line 20) | public class MobileServiceClient : IMobileServiceClient, IDisposable
    method MobileServiceClient (line 110) | [SuppressMessage("Microsoft.Design", "CA1054:UriParametersShouldNotBeS...
    method MobileServiceClient (line 122) | public MobileServiceClient(Uri applicationUri)
    method MobileServiceClient (line 136) | [SuppressMessage("Microsoft.Design", "CA1054:UriParametersShouldNotBeS...
    method MobileServiceClient (line 151) | public MobileServiceClient(Uri applicationUri, string applicationKey)
    method MobileServiceClient (line 169) | [SuppressMessage("Microsoft.Design", "CA1054:UriParametersShouldNotBeS...
    method MobileServiceClient (line 188) | public MobileServiceClient(Uri applicationUri, string applicationKey, ...
    method MobileServiceClient (line 208) | protected MobileServiceClient()
    method GetTable (line 223) | public IMobileServiceTable GetTable(string tableName)
    method GetSyncTable (line 237) | public IMobileServiceSyncTable GetSyncTable(string tableName)
    method GetSyncTable (line 242) | internal MobileServiceSyncTable GetSyncTable(string tableName, MobileS...
    method GetTable (line 259) | public IMobileServiceTable<T> GetTable<T>()
    method GetSyncTable (line 276) | public IMobileServiceSyncTable<T> GetSyncTable<T>()
    method LoginAsync (line 312) | [SuppressMessage("Microsoft.Naming", "CA1726:UsePreferredTerms", Messa...
    method LoginAsync (line 353) | public Task<MobileServiceUser> LoginAsync(string provider, JObject token)
    method Logout (line 367) | [SuppressMessage("Microsoft.Naming", "CA1726:UsePreferredTerms", Messa...
    method InvokeApiAsync (line 380) | public Task<T> InvokeApiAsync<T>(string apiName, CancellationToken can...
    method InvokeApiAsync (line 395) | public Task<U> InvokeApiAsync<T, U>(string apiName, T body, Cancellati...
    method InvokeApiAsync (line 412) | public Task<T> InvokeApiAsync<T>(string apiName, HttpMethod method, ID...
    method InvokeApiAsync (line 431) | public async Task<U> InvokeApiAsync<T, U>(string apiName, T body, Http...
    method InvokeApiAsync (line 459) | public Task<JToken> InvokeApiAsync(string apiName, CancellationToken c...
    method InvokeApiAsync (line 472) | public Task<JToken> InvokeApiAsync(string apiName, JToken body, Cancel...
    method InvokeApiAsync (line 488) | public Task<JToken> InvokeApiAsync(string apiName, HttpMethod method, ...
    method InvokeApiAsync (line 505) | public async Task<JToken> InvokeApiAsync(string apiName, JToken body, ...
    method InvokeApiAsync (line 548) | public async Task<HttpResponseMessage> InvokeApiAsync(string apiName, ...
    method InternalInvokeApiAsync (line 569) | private async Task<string> InternalInvokeApiAsync(string apiName, stri...
    method CreateAPIUriString (line 587) | private string CreateAPIUriString(string apiName, IDictionary<string, ...
    method Dispose (line 598) | public void Dispose()
    method Dispose (line 612) | protected virtual void Dispose(bool disposing)
    method ValidateTableName (line 622) | private static void ValidateTableName(string tableName)
    method GetApplicationInstallationId (line 647) | private string GetApplicationInstallationId()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/MobileServiceFeatures.cs
  type MobileServiceFeatures (line 13) | [Flags]

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/MobileServiceUrlBuilder.cs
  class MobileServiceUrlBuilder (line 15) | internal static class MobileServiceUrlBuilder
    method GetQueryString (line 34) | public static string GetQueryString(IDictionary<string, string> parame...
    method CombinePathAndQuery (line 79) | public static string CombinePathAndQuery(string path, string queryString)
    method CombinePaths (line 104) | public static string CombinePaths(string path1, string path2)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/MobileServiceUser.cs
  class MobileServiceUser (line 10) | public class MobileServiceUser
    method MobileServiceUser (line 18) | public MobileServiceUser(string userId)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Platform/IApplicationStorage.cs
  type IApplicationStorage (line 17) | internal interface IApplicationStorage
    method TryReadSetting (line 36) | bool TryReadSetting(string name, out object value);
    method WriteSetting (line 53) | void WriteSetting(string name, object value);
    method Save (line 58) | void Save();

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Platform/IExpressionUtility.cs
  type IExpressionUtility (line 14) | internal interface IExpressionUtility
    method PartiallyEvaluate (line 28) | Expression PartiallyEvaluate(Expression expression);
    method GetMemberExpressions (line 42) | IEnumerable<MemberExpression> GetMemberExpressions(Expression expressi...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Platform/IPlatform.cs
  type IPlatform (line 12) | internal interface IPlatform
    method GetNamedApplicationStorage (line 42) | IApplicationStorage GetNamedApplicationStorage(string name);

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Platform/IPlatformInformation.cs
  type IPlatformInformation (line 17) | internal interface IPlatformInformation

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Platform/IPushUtility.cs
  type IPushUtility (line 13) | public interface IPushUtility
    method GetNewNativeRegistration (line 21) | Registration GetNewNativeRegistration();
    method GetNewTemplateRegistration (line 29) | Registration GetNewTemplateRegistration();
    method GetPlatform (line 37) | string GetPlatform();

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Platform/Platform.cs
  class Platform (line 14) | internal static class Platform
    method ThrowForMissingPlatformAssembly (line 81) | private static void ThrowForMissingPlatformAssembly()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Platform/PreserveAttribute.cs
  class PreserveAttribute (line 13) | [AttributeUsage(System.AttributeTargets.All)]

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Push/ILocalStorageManager.cs
  type ILocalStorageManager (line 10) | internal interface ILocalStorageManager
    method GetRegistration (line 27) | StoredRegistrationEntry GetRegistration(string registrationName);
    method DeleteRegistrationByName (line 33) | void DeleteRegistrationByName(string registrationName);
    method DeleteRegistrationByRegistrationId (line 39) | void DeleteRegistrationByRegistrationId(string registrationId);
    method UpdateRegistrationByName (line 47) | void UpdateRegistrationByName(string registrationName, string registra...
    method UpdateRegistrationByRegistrationId (line 55) | void UpdateRegistrationByRegistrationId(string registrationId, string ...
    method ClearRegistrations (line 60) | void ClearRegistrations();
    method RefreshFinished (line 66) | void RefreshFinished(string refreshedDeviceId);

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Push/IRegistrationManager.cs
  type IRegistrationManager (line 11) | internal interface IRegistrationManager
    method DeleteRegistrationsForChannelAsync (line 15) | Task DeleteRegistrationsForChannelAsync(string deviceId);
    method ListRegistrationsAsync (line 16) | Task<List<Registration>> ListRegistrationsAsync(string deviceId);
    method RegisterAsync (line 17) | Task RegisterAsync(Registration registration);
    method UnregisterAsync (line 18) | Task UnregisterAsync(string registrationName);

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Push/LocalStorageManager.cs
  class LocalStorageManager (line 20) | internal class LocalStorageManager : ILocalStorageManager
    method LocalStorageManager (line 32) | public LocalStorageManager(string name)
    method GetRegistration (line 58) | public StoredRegistrationEntry GetRegistration(string registrationName)
    method DeleteRegistrationByName (line 72) | public void DeleteRegistrationByName(string registrationName)
    method DeleteRegistrationByRegistrationId (line 83) | public void DeleteRegistrationByRegistrationId(string registrationId)
    method UpdateRegistrationByName (line 95) | public void UpdateRegistrationByName(string registrationName, string r...
    method UpdateRegistrationByRegistrationId (line 111) | public void UpdateRegistrationByRegistrationId(string registrationId, ...
    method ClearRegistrations (line 128) | public void ClearRegistrations()
    method RefreshFinished (line 137) | public void RefreshFinished(string refreshedDeviceId)
    method Flush (line 143) | private void Flush()
    method InitializeRegistrationInfoFromStorage (line 157) | private void InitializeRegistrationInfoFromStorage()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Push/PushHttpClient.cs
  class PushHttpClient (line 16) | internal sealed class PushHttpClient
    method PushHttpClient (line 20) | internal PushHttpClient(MobileServiceClient client)
    method ListRegistrationsAsync (line 25) | public async Task<IEnumerable<Registration>> ListRegistrationsAsync(st...
    method UnregisterAsync (line 31) | public Task UnregisterAsync(string registrationId, CancellationToken c...
    method CreateRegistrationIdAsync (line 36) | public async Task<string> CreateRegistrationIdAsync()
    method CreateOrUpdateRegistrationAsync (line 43) | public async Task CreateOrUpdateRegistrationAsync(Registration registr...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Push/Registration.cs
  class Registration (line 16) | [JsonObject(MemberSerialization.OptIn)]
    method Registration (line 21) | internal Registration()
    method Registration (line 28) | public Registration(string deviceId, IEnumerable<string> tags)
    method ShouldSerializeRegistrationId (line 93) | public bool ShouldSerializeRegistrationId()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Push/RegistrationClassConverter.cs
  class RegistrationConverter (line 13) | internal class RegistrationConverter : JsonConverter
    method WriteJson (line 15) | public override void WriteJson(JsonWriter writer, object value, JsonSe...
    method ReadJson (line 20) | public override object ReadJson(JsonReader reader, Type objectType, ob...
    method CanConvert (line 30) | public override bool CanConvert(Type objectType)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Push/RegistrationManager.cs
  class RegistrationManager (line 15) | internal class RegistrationManager : IRegistrationManager
    method RegistrationManager (line 19) | public RegistrationManager(PushHttpClient pushHttpClient, ILocalStorag...
    method RegisterAsync (line 35) | public async Task RegisterAsync(Registration registration)
    method UnregisterAsync (line 75) | public async Task UnregisterAsync(string registrationName)
    method DeleteRegistrationsForChannelAsync (line 92) | public async Task DeleteRegistrationsForChannelAsync(string deviceId)
    method ListRegistrationsAsync (line 105) | public async Task<List<Registration>> ListRegistrationsAsync(string de...
    method CreateRegistrationIdAsync (line 110) | private async Task<Registration> CreateRegistrationIdAsync(Registratio...
    method UpsertRegistration (line 117) | private async Task UpsertRegistration(Registration registration)
    method RefreshRegistrationsForChannelAsync (line 123) | private async Task RefreshRegistrationsForChannelAsync(string deviceId)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Push/StoredRegistrationEntry.cs
  class StoredRegistrationEntry (line 9) | internal class StoredRegistrationEntry
    method StoredRegistrationEntry (line 11) | public StoredRegistrationEntry(string name, string id)
    method ToString (line 20) | public override string ToString()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Resources.Designer.cs
  class Resources (line 23) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
    method Resources (line 32) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/IMobileServiceTable.Generic.cs
  type IMobileServiceTable (line 19) | public interface IMobileServiceTable<T> : IMobileServiceTable
    method ReadAsync (line 30) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method ReadAsync (line 45) | [SuppressMessage("Microsoft.Naming", "CA1715:IdentifiersShouldHaveCorr...
    method ReadAsync (line 59) | Task<IEnumerable<T>> ReadAsync();
    method LookupAsync (line 70) | new Task<T> LookupAsync(object id);
    method LookupAsync (line 85) | new Task<T> LookupAsync(object id, IDictionary<string, string> paramet...
    method RefreshAsync (line 97) | Task RefreshAsync(T instance);
    method RefreshAsync (line 113) | Task RefreshAsync(T instance, IDictionary<string, string> parameters);
    method InsertAsync (line 124) | Task InsertAsync(T instance);
    method InsertAsync (line 139) | Task InsertAsync(T instance, IDictionary<string, string> parameters);
    method UpdateAsync (line 150) | Task UpdateAsync(T instance);
    method UpdateAsync (line 165) | Task UpdateAsync(T instance, IDictionary<string, string> parameters);
    method UndeleteAsync (line 172) | Task UndeleteAsync(T instance);
    method UndeleteAsync (line 183) | Task UndeleteAsync(T instance, IDictionary<string, string> parameters);
    method DeleteAsync (line 194) | Task DeleteAsync(T instance);
    method DeleteAsync (line 208) | Task DeleteAsync(T instance, IDictionary<string, string> parameters);
    method CreateQuery (line 216) | IMobileServiceTableQuery<T> CreateQuery();
    method IncludeTotalCount (line 226) | IMobileServiceTableQuery<T> IncludeTotalCount();
    method IncludeDeleted (line 234) | IMobileServiceTableQuery<T> IncludeDeleted();
    method WithParameters (line 247) | IMobileServiceTableQuery<T> WithParameters(IDictionary<string, string>...
    method Where (line 258) | IMobileServiceTableQuery<T> Where(Expression<Func<T, bool>> predicate);
    method Select (line 272) | [SuppressMessage("Microsoft.Naming", "CA1715:IdentifiersShouldHaveCorr...
    method OrderBy (line 290) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method OrderByDescending (line 305) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method ThenBy (line 320) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method ThenByDescending (line 335) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method Skip (line 347) | IMobileServiceTableQuery<T> Skip(int count);
    method Take (line 358) | IMobileServiceTableQuery<T> Take(int count);
    method ToEnumerableAsync (line 366) | Task<IEnumerable<T>> ToEnumerableAsync();
    method ToListAsync (line 375) | Task<List<T>> ToListAsync();

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/IMobileServiceTable.cs
  type IMobileServiceTable (line 14) | public interface IMobileServiceTable
    method ReadAsync (line 41) | Task<JToken> ReadAsync(string query);
    method ReadAsync (line 59) | Task<JToken> ReadAsync(string query, IDictionary<string, string> param...
    method InsertAsync (line 70) | Task<JToken> InsertAsync(JObject instance);
    method InsertAsync (line 85) | Task<JToken> InsertAsync(JObject instance, IDictionary<string, string>...
    method UpdateAsync (line 96) | Task<JToken> UpdateAsync(JObject instance);
    method UpdateAsync (line 111) | Task<JToken> UpdateAsync(JObject instance, IDictionary<string, string>...
    method DeleteAsync (line 122) | Task<JToken> DeleteAsync(JObject instance);
    method DeleteAsync (line 137) | Task<JToken> DeleteAsync(JObject instance, IDictionary<string, string>...
    method UndeleteAsync (line 144) | Task<JToken> UndeleteAsync(JObject instance);
    method UndeleteAsync (line 155) | Task<JToken> UndeleteAsync(JObject instance, IDictionary<string, strin...
    method LookupAsync (line 166) | Task<JToken> LookupAsync(object id);
    method LookupAsync (line 181) | Task<JToken> LookupAsync(object id, IDictionary<string, string> parame...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/MobileServiceObjectReader.cs
  class MobileServiceObjectReader (line 10) | internal class MobileServiceObjectReader
    method MobileServiceObjectReader (line 18) | public MobileServiceObjectReader()
    method GetVersion (line 27) | public string GetVersion(JObject item)
    method GetId (line 32) | public string GetId(JObject item)
    method IsDeleted (line 37) | public bool IsDeleted(JObject item)
    method GetUpdatedAt (line 44) | public DateTimeOffset? GetUpdatedAt(JObject item)
    method GetCreatedAt (line 49) | public DateTimeOffset? GetCreatedAt(JObject item)
    method GetDateTimeOffset (line 54) | private static DateTimeOffset? GetDateTimeOffset(JObject item, string ...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/MobileServiceSystemColumns.cs
  class MobileServiceSystemColumns (line 16) | public static class MobileServiceSystemColumns

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/MobileServiceSystemProperties.cs
  type MobileServiceSystemProperties (line 13) | [Flags]

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/MobileServiceTable.Generic.cs
  class MobileServiceTable (line 25) | internal class MobileServiceTable<T> : MobileServiceTable, IMobileServic...
    method MobileServiceTable (line 39) | public MobileServiceTable(string tableName, MobileServiceClient client)
    method ReadAsync (line 57) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method ReadAsync (line 75) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method ReadAsync (line 95) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method InsertAsync (line 115) | public async Task InsertAsync(T instance)
    method InsertAsync (line 133) | public async Task InsertAsync(T instance, IDictionary<string, string> ...
    method UpdateAsync (line 162) | public async Task UpdateAsync(T instance)
    method UpdateAsync (line 180) | public async Task UpdateAsync(T instance, IDictionary<string, string> ...
    method UndeleteAsync (line 205) | public async Task UndeleteAsync(T instance, IDictionary<string, string...
    method UndeleteAsync (line 225) | public Task UndeleteAsync(T instance)
    method DeleteAsync (line 239) | public async Task DeleteAsync(T instance)
    method DeleteAsync (line 257) | public async Task DeleteAsync(T instance, IDictionary<string, string> ...
    method LookupAsync (line 284) | public new async Task<T> LookupAsync(object id)
    method LookupAsync (line 302) | public new async Task<T> LookupAsync(object id, IDictionary<string, st...
    method RefreshAsync (line 320) | public async Task RefreshAsync(T instance)
    method RefreshAsync (line 339) | public async Task RefreshAsync(T instance, IDictionary<string, string>...
    method CreateQuery (line 371) | public IMobileServiceTableQuery<T> CreateQuery()
    method Where (line 385) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method Select (line 403) | [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelle...
    method OrderBy (line 422) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method OrderByDescending (line 440) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method ThenBy (line 458) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method ThenByDescending (line 476) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method Skip (line 491) | public IMobileServiceTableQuery<T> Skip(int count)
    method Take (line 505) | public IMobileServiceTableQuery<T> Take(int count)
    method IncludeTotalCount (line 518) | public IMobileServiceTableQuery<T> IncludeTotalCount()
    method IncludeDeleted (line 529) | public IMobileServiceTableQuery<T> IncludeDeleted()
    method WithParameters (line 545) | public IMobileServiceTableQuery<T> WithParameters(IDictionary<string, ...
    method ToEnumerableAsync (line 556) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method ToListAsync (line 569) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method TransformHttpException (line 578) | private async Task<JToken> TransformHttpException(MobileServiceSeriali...
    method GetSingleValueAsync (line 624) | private async Task<JObject> GetSingleValueAsync(object id, IDictionary...
    method GetSingleValue (line 641) | private static JObject GetSingleValue(QueryResult response)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/MobileServiceTable.cs
  class MobileServiceTable (line 21) | internal class MobileServiceTable : IMobileServiceTable
    method MobileServiceTable (line 75) | public MobileServiceTable(string tableName, MobileServiceClient client)
    method ReadAsync (line 94) | public async virtual Task<JToken> ReadAsync(string query)
    method ReadAsync (line 116) | public virtual async Task<JToken> ReadAsync(string query, IDictionary<...
    method ReadAsync (line 145) | internal virtual async Task<QueryResult> ReadAsync(string query, IDict...
    method ReadAsync (line 187) | internal Task<QueryResult> ReadAsync(Uri uri)
    method ReadAsync (line 192) | private async Task<QueryResult> ReadAsync(string uriString, MobileServ...
    method InsertAsync (line 208) | public virtual Task<JToken> InsertAsync(JObject instance)
    method InsertAsync (line 226) | public Task<JToken> InsertAsync(JObject instance, IDictionary<string, ...
    method InsertAsync (line 247) | internal async Task<JToken> InsertAsync(JObject instance, IDictionary<...
    method RemoveUnrequestedSystemProperties (line 295) | private JToken RemoveUnrequestedSystemProperties(JToken item, IDiction...
    method GetRequestedSystemProperties (line 337) | private MobileServiceSystemProperties GetRequestedSystemProperties(IDi...
    method UpdateAsync (line 382) | public virtual Task<JToken> UpdateAsync(JObject instance)
    method UpdateAsync (line 400) | public Task<JToken> UpdateAsync(JObject instance, IDictionary<string, ...
    method UpdateAsync (line 421) | internal async Task<JToken> UpdateAsync(JObject instance, IDictionary<...
    method UndeleteAsync (line 447) | public Task<JToken> UndeleteAsync(JObject instance)
    method UndeleteAsync (line 461) | public Task<JToken> UndeleteAsync(JObject instance, IDictionary<string...
    method UndeleteAsync (line 466) | protected async Task<JToken> UndeleteAsync(JObject instance, IDictiona...
    method DeleteAsync (line 497) | public virtual Task<JToken> DeleteAsync(JObject instance)
    method DeleteAsync (line 515) | public Task<JToken> DeleteAsync(JObject instance, IDictionary<string, ...
    method DeleteAsync (line 536) | internal async Task<JToken> DeleteAsync(JObject instance, IDictionary<...
    method LookupAsync (line 565) | public Task<JToken> LookupAsync(object id)
    method LookupAsync (line 583) | public Task<JToken> LookupAsync(object id, IDictionary<string, string>...
    method LookupAsync (line 604) | internal async Task<JToken> LookupAsync(object id, IDictionary<string,...
    method AddSystemProperties (line 624) | internal static IDictionary<string, string> AddSystemProperties(Mobile...
    method IncludeDeleted (line 637) | internal static IDictionary<string, string> IncludeDeleted(IDictionary...
    method AddSystemParameter (line 649) | internal static IDictionary<string, string> AddSystemParameter(IDictio...
    method GetSystemPropertiesString (line 677) | private static string GetSystemPropertiesString(MobileServiceSystemPro...
    method ParseContent (line 706) | internal async Task<Tuple<string, JToken>> ParseContent(HttpResponseMe...
    method ParseContent (line 711) | internal static async Task<Tuple<string, JToken>> ParseContent(HttpRes...
    method GetUri (line 743) | private static string GetUri(string tableName, object id = null, IDict...
    method GetJTokenFromResponse (line 765) | private JToken GetJTokenFromResponse(MobileServiceHttpResponse response)
    method AddRequestFeatures (line 787) | private MobileServiceFeatures AddRequestFeatures(MobileServiceFeatures...
    method TransformHttpException (line 802) | private async Task<JToken> TransformHttpException(Func<Task<JToken>> a...
    method StripSystemPropertiesAndAddVersionHeader (line 839) | private Dictionary<string, string> StripSystemPropertiesAndAddVersionH...
    method AddIfMatchHeader (line 854) | private static Dictionary<string, string> AddIfMatchHeader(string vers...
    method GetEtagFromValue (line 875) | private static string GetEtagFromValue(string value)
    method GetValueFromEtag (line 899) | private static string GetValueFromEtag(string etag)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/IQueryResultEnumerable.cs
  type IQueryResultEnumerable (line 12) | public interface IQueryResultEnumerable<out T> : IEnumerable<T>

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/ITotalCountProvider.cs
  type ITotalCountProvider (line 16) | [Obsolete("Use IQueryResultEnumerable interface")]

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/Linq/FilterBuildingExpressionVisitor.cs
  class FilterBuildingExpressionVisitor (line 21) | internal class FilterBuildingExpressionVisitor
    method FilterBuildingExpressionVisitor (line 195) | static FilterBuildingExpressionVisitor()
    method FilterBuildingExpressionVisitor (line 215) | private FilterBuildingExpressionVisitor(MobileServiceContractResolver ...
    method Compile (line 236) | public static QueryNode Compile(Expression expression, MobileServiceCo...
    method GetTableMemberName (line 262) | public static string GetTableMemberName(Expression expression,
    method Visit (line 294) | private Expression Visit(Expression node)
    method VisitUnary (line 362) | private Expression VisitUnary(UnaryExpression expression)
    method IsConversionImplicit (line 414) | private bool IsConversionImplicit(UnaryExpression expression, Type fro...
    method VisitBinary (line 457) | private Expression VisitBinary(BinaryExpression expression)
    method CheckVBStringCompareExpression (line 563) | private bool CheckVBStringCompareExpression(BinaryExpression expressio...
    method CheckEnumExpression (line 626) | private bool CheckEnumExpression(BinaryExpression expression, out Unar...
    method RewriteEnumExpression (line 654) | private Expression RewriteEnumExpression(UnaryExpression enumExpressio...
    method RewriteStringAddition (line 676) | private Expression RewriteStringAddition(BinaryExpression expression)
    method VisitConstant (line 691) | private Expression VisitConstant(ConstantExpression expression)
    method VisitMemberAccess (line 709) | private Expression VisitMemberAccess(MemberExpression expression)
    method VisitMethodCall (line 753) | private Expression VisitMethodCall(MethodCallExpression expression)
    method VisitODataMethodCall (line 797) | private void VisitODataMethodCall(MethodCallExpression expression, str...
    method SetChildren (line 815) | private void SetChildren(QueryNode parent)
    method VisitCustomMethodCall (line 834) | private void VisitCustomMethodCall(MethodCallExpression expression)
    method VisitContainsMethodCall (line 859) | private void VisitContainsMethodCall(MethodCallExpression expression)
    method StripUnaryOperator (line 906) | private static Expression StripUnaryOperator(Expression expression)
    method GetFilterMethodArguments (line 930) | private static IEnumerable<Expression> GetFilterMethodArguments(Method...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/Linq/IMobileServiceTableQuery.cs
  type IMobileServiceTableQuery (line 24) | public interface IMobileServiceTableQuery<T>
    method IncludeTotalCount (line 51) | IMobileServiceTableQuery<T> IncludeTotalCount();
    method IncludeDeleted (line 59) | IMobileServiceTableQuery<T> IncludeDeleted();
    method OrderBy (line 73) | IMobileServiceTableQuery<T> OrderBy<TKey>(Expression<Func<T, TKey>> ke...
    method OrderByDescending (line 87) | IMobileServiceTableQuery<T> OrderByDescending<TKey>(Expression<Func<T,...
    method Select (line 101) | IMobileServiceTableQuery<U> Select<U>(Expression<Func<T, U>> selector);
    method Skip (line 112) | IMobileServiceTableQuery<T> Skip(int count);
    method Take (line 128) | IMobileServiceTableQuery<T> Take(int count);
    method ThenBy (line 142) | IMobileServiceTableQuery<T> ThenBy<TKey>(Expression<Func<T, TKey>> key...
    method ThenByDescending (line 156) | IMobileServiceTableQuery<T> ThenByDescending<TKey>(Expression<Func<T, ...
    method ToEnumerableAsync (line 164) | Task<IEnumerable<T>> ToEnumerableAsync();
    method ToListAsync (line 173) | Task<List<T>> ToListAsync();
    method Where (line 184) | IMobileServiceTableQuery<T> Where(Expression<Func<T, bool>> predicate);
    method WithParameters (line 197) | IMobileServiceTableQuery<T> WithParameters(IDictionary<string, string>...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/Linq/MemberInfoKey.cs
  class MemberInfoKey (line 18) | internal class MemberInfoKey : IEquatable<MemberInfoKey>
    method MemberInfoKey (line 38) | public MemberInfoKey(MemberInfo memberInfo)
    method MemberInfoKey (line 85) | public MemberInfoKey(Type type, string memberName, bool isMethod, bool...
    method Equals (line 105) | public bool Equals(MemberInfoKey other)
    method Equals (line 150) | public override bool Equals(object obj)
    method GetHashCode (line 169) | public override int GetHashCode()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/Linq/MobileServiceTableQuery.cs
  class MobileServiceTableQuery (line 27) | internal class MobileServiceTableQuery<T> : IMobileServiceTableQuery<T>
    method MobileServiceTableQuery (line 51) | internal MobileServiceTableQuery(IMobileServiceTable<T> table,
    method Where (line 105) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method Select (line 128) | [SuppressMessage("Microsoft.Naming", "CA1715:IdentifiersShouldHaveCorr...
    method OrderBy (line 165) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method OrderByDescending (line 188) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method ThenBy (line 211) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method ThenByDescending (line 234) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method Skip (line 254) | public IMobileServiceTableQuery<T> Skip(int count)
    method Take (line 268) | public IMobileServiceTableQuery<T> Take(int count)
    method WithParameters (line 284) | public IMobileServiceTableQuery<T> WithParameters(IDictionary<string, ...
    method IncludeTotalCount (line 306) | public IMobileServiceTableQuery<T> IncludeTotalCount()
    method IncludeDeleted (line 317) | public IMobileServiceTableQuery<T> IncludeDeleted()
    method ToEnumerableAsync (line 328) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method ToListAsync (line 341) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/Linq/MobileServiceTableQueryProvider.cs
  class MobileServiceTableQueryProvider (line 15) | internal class MobileServiceTableQueryProvider
    method MobileServiceTableQueryProvider (line 19) | public MobileServiceTableQueryProvider(IMobileServiceSyncTable syncTab...
    method Create (line 55) | internal IMobileServiceTableQuery<T> Create<T>(IMobileServiceTable<T> ...
    method Execute (line 87) | internal async Task<IEnumerable<T>> Execute<T>(IMobileServiceTableQuer...
    method Execute (line 114) | protected virtual async Task<QueryResult> Execute<T>(IMobileServiceTab...
    method Compile (line 143) | internal MobileServiceTableQueryDescription Compile<T>(IMobileServiceT...
    method ToODataString (line 153) | internal string ToODataString<T>(IMobileServiceTableQuery<T> query)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/Linq/MobileServiceTableQueryTranslator.cs
  class MobileServiceTableQueryTranslator (line 27) | internal class MobileServiceTableQueryTranslator<T>
    method MobileServiceTableQueryTranslator (line 47) | internal MobileServiceTableQueryTranslator(IMobileServiceTableQuery<T>...
    method Translate (line 78) | public MobileServiceTableQueryDescription Translate()
    method Visit (line 109) | private void Visit(Expression expression)
    method VisitMethodCall (line 128) | private Expression VisitMethodCall(MethodCallExpression expression)
    method AddFilter (line 192) | private void AddFilter(MethodCallExpression expression)
    method AddProjection (line 224) | private void AddProjection(MethodCallExpression expression)
    method AddOrdering (line 298) | private void AddOrdering(MethodCallExpression expression, bool ascendi...
    method StripQuote (line 351) | private static Expression StripQuote(Expression expression)
    method ThrowForUnsupportedException (line 365) | private static void ThrowForUnsupportedException(MethodCallExpression ...
    method GetCountArgument (line 396) | private static int GetCountArgument(MethodCallExpression expression)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/MobileServiceTableQueryDescription.cs
  class MobileServiceTableQueryDescription (line 26) | public sealed class MobileServiceTableQueryDescription
    method MobileServiceTableQueryDescription (line 32) | public MobileServiceTableQueryDescription(string tableName)
    method Clone (line 102) | public MobileServiceTableQueryDescription Clone()
    method ToODataString (line 125) | public string ToODataString()
    method Parse (line 193) | public static MobileServiceTableQueryDescription Parse(string tableNam...
    method Parse (line 200) | internal static MobileServiceTableQueryDescription Parse(Uri applicati...
    method Parse (line 215) | private static MobileServiceTableQueryDescription Parse(string tableNa...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/OData/BinaryOperatorKind.cs
  type BinaryOperatorKind (line 16) | public enum BinaryOperatorKind

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/OData/BinaryOperatorNode.cs
  class BinaryOperatorNode (line 17) | public sealed class BinaryOperatorNode: QueryNode
    method BinaryOperatorNode (line 48) | public BinaryOperatorNode(BinaryOperatorKind kind, QueryNode left, Que...
    method Accept (line 61) | public override T Accept<T>(QueryNodeVisitor<T> visitor)
    method SetChildren (line 66) | internal override void SetChildren(IList<QueryNode> children)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/OData/ConstantNode.cs
  class ConstantNode (line 16) | public sealed class ConstantNode: QueryNode
    method ConstantNode (line 35) | public ConstantNode(object value)
    method Accept (line 46) | public override T Accept<T>(QueryNodeVisitor<T> visitor)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/OData/ConvertNode.cs
  class ConvertNode (line 17) | public sealed class ConvertNode: QueryNode
    method ConvertNode (line 42) | public ConvertNode(QueryNode source, Type targetType)
    method SetChildren (line 48) | internal override void SetChildren(IList<QueryNode> children)
    method Accept (line 60) | public override T Accept<T>(QueryNodeVisitor<T> visitor)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/OData/FunctionCallNode.cs
  class FunctionCallNode (line 17) | public sealed class FunctionCallNode : QueryNode
    method FunctionCallNode (line 42) | public FunctionCallNode(string name, IList<QueryNode> arguments)
    method SetChildren (line 48) | internal override void SetChildren(IList<QueryNode> children)
    method Accept (line 59) | public override T Accept<T>(QueryNodeVisitor<T> visitor)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/OData/MemberAccessNode.cs
  class MemberAccessNode (line 17) | public sealed class MemberAccessNode : QueryNode
    method MemberAccessNode (line 42) | public MemberAccessNode(QueryNode instance, string memberName)
    method Accept (line 54) | public override T Accept<T>(QueryNodeVisitor<T> visitor)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/OData/ODataExpressionLexer.cs
  class ODataExpressionLexer (line 9) | internal sealed class ODataExpressionLexer
    method ODataExpressionLexer (line 18) | public ODataExpressionLexer(string expression)
    method NextToken (line 27) | public QueryToken NextToken()
    method ValidateDigit (line 141) | private void ValidateDigit()
    method ReClassifyToken (line 149) | private void ReClassifyToken()
    method IsIdentifierStart (line 212) | private bool IsIdentifierStart(char ch)
    method IsIdentifierPart (line 217) | private bool IsIdentifierPart(char ch)
    method AdvanceToNextOccuranceOf (line 223) | private void AdvanceToNextOccuranceOf(char endingValue)
    method NextChar (line 232) | private void NextChar()
    method SetTextPos (line 241) | private void SetTextPos(int pos)
    method ParseError (line 247) | private void ParseError(string message, int errorPos)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/OData/ODataExpressionParser.cs
  class ODataExpressionParser (line 10) | internal class ODataExpressionParser
    method ODataExpressionParser (line 15) | static ODataExpressionParser()
    method ODataExpressionParser (line 29) | private ODataExpressionParser(string expression)
    method ParseFilter (line 34) | public QueryNode ParseFilter()
    method ParseOrderBy (line 43) | public IList<OrderByNode> ParseOrderBy()
    method ParseExpression (line 70) | private QueryNode ParseExpression()
    method ParseLogicalOr (line 75) | private QueryNode ParseLogicalOr()
    method ParseLogicalAnd (line 87) | private QueryNode ParseLogicalAnd()
    method ParseComparison (line 99) | private QueryNode ParseComparison()
    method ParseAdditive (line 140) | private QueryNode ParseAdditive()
    method ParseMultiplicative (line 162) | private QueryNode ParseMultiplicative()
    method ParseUnary (line 189) | private QueryNode ParseUnary()
    method ParsePrimary (line 219) | private QueryNode ParsePrimary()
    method ParseMemberAccess (line 237) | private QueryNode ParseMemberAccess(QueryNode instance)
    method ParseFunction (line 252) | private QueryNode ParseFunction(string functionName, int errorPos)
    method ValidateFunction (line 272) | private void ValidateFunction(string functionName, IList<QueryNode> fu...
    method ValidateFunctionParameters (line 311) | private void ValidateFunctionParameters(string functionName, IList<Que...
    method ParseArgumentList (line 320) | private IList<QueryNode> ParseArgumentList()
    method ParseArguments (line 332) | private IList<QueryNode> ParseArguments()
    method GetIdentifier (line 347) | private string GetIdentifier()
    method ParsePrimaryStart (line 353) | private QueryNode ParsePrimaryStart()
    method ParseIntegerLiteral (line 373) | private QueryNode ParseIntegerLiteral()
    method ParseRealLiteral (line 393) | private QueryNode ParseRealLiteral()
    method ParseParenExpression (line 440) | private QueryNode ParseParenExpression()
    method ParseIdentifier (line 450) | private QueryNode ParseIdentifier()
    method ParseTypeConstruction (line 474) | private ConstantNode ParseTypeConstruction()
    method ParseStringLiteral (line 519) | private ConstantNode ParseStringLiteral()
    method ParseFilter (line 533) | public static QueryNode ParseFilter(string filter)
    method ParseOrderBy (line 539) | public static IList<OrderByNode> ParseOrderBy(string orderBy)
    method ParseError (line 545) | private void ParseError(string message, int errorPos)
    method TokenIdentifierIs (line 550) | private bool TokenIdentifierIs(string id)
    method ValidateToken (line 555) | private void ValidateToken(QueryTokenKind tokenKind, Func<string> erro...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/OData/ODataExpressionVisitor.cs
  class ODataExpressionVisitor (line 12) | internal class ODataExpressionVisitor : QueryNodeVisitor<QueryNode>
    method ODataExpressionVisitor (line 18) | public ODataExpressionVisitor()
    method ToODataString (line 23) | public static string ToODataString(QueryNode filter)
    method Visit (line 34) | public override QueryNode Visit(BinaryOperatorNode nodeIn)
    method Visit (line 97) | public override QueryNode Visit(FunctionCallNode nodeIn)
    method Visit (line 116) | public override QueryNode Visit(MemberAccessNode nodeIn)
    method Visit (line 123) | public override QueryNode Visit(UnaryOperatorNode nodeIn)
    method Visit (line 136) | public override QueryNode Visit(ConstantNode nodeIn)
    method ToODataConstant (line 153) | public static string ToODataConstant(object value)
    method ToRoundtripDateString (line 256) | private static string ToRoundtripDateString(DateTime date)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/OData/OrderByDirection.cs
  type OrderByDirection (line 16) | public enum OrderByDirection

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/OData/OrderByNode.cs
  class OrderByNode (line 16) | public class OrderByNode
    method OrderByNode (line 33) | public OrderByNode(QueryNode expression, OrderByDirection direction)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/OData/QueryNode.cs
  class QueryNode (line 16) | public abstract class QueryNode
    method SetChildren (line 23) | internal virtual void SetChildren(IList<QueryNode> children)
    method Accept (line 35) | public virtual T Accept<T>(QueryNodeVisitor<T> visitor)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/OData/QueryNodeKind.cs
  type QueryNodeKind (line 16) | public enum QueryNodeKind

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/OData/QueryNodeVisitor.cs
  class QueryNodeVisitor (line 17) | public abstract class QueryNodeVisitor<T>
    method Visit (line 24) | public virtual T Visit(BinaryOperatorNode nodeIn)
    method Visit (line 34) | public virtual T Visit(ConstantNode nodeIn)
    method Visit (line 44) | public virtual T Visit(MemberAccessNode nodeIn)
    method Visit (line 54) | public virtual T Visit(FunctionCallNode nodeIn)
    method Visit (line 64) | public virtual T Visit(UnaryOperatorNode nodeIn)
    method Visit (line 74) | public virtual T Visit(ConvertNode nodeIn)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/OData/QueryToken.cs
  class QueryToken (line 13) | internal class QueryToken

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/OData/QueryTokenKind.cs
  type QueryTokenKind (line 13) | internal enum QueryTokenKind

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/OData/UnaryOperatorKind.cs
  type UnaryOperatorKind (line 16) | public enum UnaryOperatorKind

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/OData/UnaryOperatorNode.cs
  class UnaryOperatorNode (line 17) | public sealed class UnaryOperatorNode: QueryNode
    method SetChildren (line 37) | internal override void SetChildren(IList<QueryNode> children)
    method UnaryOperatorNode (line 48) | public UnaryOperatorNode(UnaryOperatorKind kind, QueryNode operand)
    method Accept (line 60) | public override T Accept<T>(QueryNodeVisitor<T> visitor)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/ODataOptions.cs
  class ODataOptions (line 7) | internal static class ODataOptions

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/QueryResult.cs
  class QueryResult (line 16) | internal class QueryResult
    method Parse (line 73) | public static QueryResult Parse(MobileServiceHttpResponse httpResponse...
    method Parse (line 83) | public static QueryResult Parse(JToken response, Uri nextLink, bool va...
    method ToJObject (line 118) | public JObject ToJObject()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/QueryResultEnumerable.cs
  class QueryResultEnumerable (line 21) | internal class QueryResultEnumerable<T> : ITotalCountProvider, IQueryRes...
    method QueryResultEnumerable (line 42) | public QueryResultEnumerable(long totalCount, Uri link, IEnumerable<T>...
    method GetEnumerator (line 67) | public IEnumerator<T> GetEnumerator()
    method GetEnumerator (line 78) | IEnumerator IEnumerable.GetEnumerator()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Query/QueryResultList.cs
  class QueryResultList (line 18) | internal class QueryResultList<T> : List<T>, ITotalCountProvider, IQuery...
    method QueryResultList (line 26) | public QueryResultList(IEnumerable<T> sequence)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Serialization/CreatedAtAttribute.cs
  class CreatedAtAttribute (line 13) | [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
    method CreatedAtAttribute (line 19) | public CreatedAtAttribute()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Serialization/DataTableAttribute.cs
  class DataTableAttribute (line 13) | [AttributeUsage(AttributeTargets.Class)]
    method DataTableAttribute (line 20) | public DataTableAttribute(string name)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Serialization/DeletedAttribute.cs
  class DeletedAttribute (line 13) | [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
    method DeletedAttribute (line 19) | public DeletedAttribute()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Serialization/ISystemPropertyAttribute.cs
  type ISystemPropertyAttribute (line 11) | internal interface ISystemPropertyAttribute

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Serialization/MobileServiceContractResolver.cs
  class MobileServiceContractResolver (line 20) | public class MobileServiceContractResolver : DefaultContractResolver
    method ResolveTableName (line 84) | public virtual string ResolveTableName(Type type)
    method ResolveIdProperty (line 142) | public virtual JsonProperty ResolveIdProperty(Type type)
    method ResolveIdProperty (line 147) | internal JsonProperty ResolveIdProperty(Type type, bool throwIfNotFound)
    method ResolveSystemProperties (line 177) | public virtual MobileServiceSystemProperties ResolveSystemProperties(T...
    method ResolveProperty (line 195) | public virtual JsonProperty ResolveProperty(MemberInfo member)
    method ResolvePropertyName (line 219) | protected override string ResolvePropertyName(string propertyName)
    method CreateObjectContract (line 255) | protected override JsonObjectContract CreateObjectContract(Type type)
    method CreateProperty (line 326) | protected override JsonProperty CreateProperty(MemberInfo member, Memb...
    method CreateProperties (line 357) | protected override IList<JsonProperty> CreateProperties(Type type, Mem...
    method CreateMemberValueProvider (line 405) | protected override IValueProvider CreateMemberValueProvider(MemberInfo...
    method AddSystemPropertyCacheEntry (line 418) | private void AddSystemPropertyCacheEntry(Type type, IEnumerable<JsonPr...
    method DetermineIdProperty (line 453) | private JsonProperty DetermineIdProperty(Type type, IEnumerable<JsonPr...
    method GetSystemPropertyString (line 492) | private static string GetSystemPropertyString(MobileServiceSystemPrope...
    method ApplySystemPropertyAttributes (line 506) | private static void ApplySystemPropertyAttributes(JsonProperty propert...
    method SetMemberConverters (line 546) | private static void SetMemberConverters(JsonProperty property)
    class NullHandlingConverter (line 568) | private class NullHandlingConverter : JsonConverter
      method NullHandlingConverter (line 586) | public NullHandlingConverter(JsonConverter inner = null)
      method CanConvert (line 601) | public override bool CanConvert(Type objectType)
      method ReadJson (line 625) | public override object ReadJson(JsonReader reader, Type objectType, ...
      method WriteJson (line 660) | public override void WriteJson(JsonWriter writer, object value, Json...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Serialization/MobileServiceIsoDateTimeConverter.cs
  class MobileServiceIsoDateTimeConverter (line 19) | public class MobileServiceIsoDateTimeConverter : IsoDateTimeConverter
    method MobileServiceIsoDateTimeConverter (line 24) | public MobileServiceIsoDateTimeConverter()
    method ReadJson (line 38) | public override object ReadJson(JsonReader reader, Type objectType, ob...
    method WriteJson (line 63) | public override void WriteJson(JsonWriter writer, object value, JsonSe...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Serialization/MobileServiceJsonSerializerSettings.cs
  class MobileServiceJsonSerializerSettings (line 15) | public class MobileServiceJsonSerializerSettings : JsonSerializerSettings
    method MobileServiceJsonSerializerSettings (line 21) | public MobileServiceJsonSerializerSettings()
    method GetSerializerFromSettings (line 100) | internal JsonSerializer GetSerializerFromSettings()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Serialization/MobileServicePrecisionCheckConverter.cs
  class MobileServicePrecisionCheckConverter (line 20) | public class MobileServicePrecisionCheckConverter : JsonConverter
    method CanConvert (line 49) | public override bool CanConvert(Type objectType)
    method ReadJson (line 75) | public override object ReadJson(JsonReader reader, Type objectType, ob...
    method WriteJson (line 97) | public override void WriteJson(JsonWriter writer, object value, JsonSe...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Serialization/MobileServiceSerializer.cs
  class MobileServiceSerializer (line 22) | internal class MobileServiceSerializer
    method MobileServiceSerializer (line 74) | public MobileServiceSerializer()
    method GetSystemProperties (line 86) | public MobileServiceSystemProperties GetSystemProperties(Type type)
    method TryGetId (line 107) | public static bool TryGetId(JObject instance, bool ignoreCase, out obj...
    method GetId (line 155) | public static object GetId(JObject instance, bool ignoreCase = false, ...
    method RemoveSystemProperties (line 200) | public static JObject RemoveSystemProperties(JObject instance, out str...
    method IsKeptSystemProperty (line 254) | private static bool IsKeptSystemProperty(string propertyName, MobileSe...
    method EnsureValidId (line 272) | public static void EnsureValidId(object id, bool allowDefault = false)
    method IsIntegerId (line 293) | public static bool IsIntegerId(JsonProperty idProperty)
    method IsIntegerId (line 298) | public static bool IsIntegerId(object id)
    method IsIntegerId (line 303) | public static bool IsIntegerId(Type idType)
    method EnsureValidIntId (line 310) | private static void EnsureValidIntId(object id, bool allowDefault)
    method EnsureValidStringId (line 321) | public static void EnsureValidStringId(object id, bool allowDefault = ...
    method EnsureValidIdForType (line 347) | public void EnsureValidIdForType<T>(object id)
    method SetIdToDefault (line 396) | public static void SetIdToDefault(JObject instance)
    method GetId (line 419) | public object GetId(object instance, bool ignoreCase = false, bool all...
    method GetIdPropertyType (line 448) | public Type GetIdPropertyType<T>(bool throwIfNotFound = true)
    method IsDefaultId (line 471) | public static bool IsDefaultId(object id)
    method SetIdToDefault (line 488) | public void SetIdToDefault(object instance)
    method Deserialize (line 516) | public IEnumerable<object> Deserialize(JArray json, Type type)
    method Deserialize (line 537) | public IEnumerable<T> Deserialize<T>(JArray json)
    method Deserialize (line 557) | public T Deserialize<T>(JToken json)
    method Deserialize (line 582) | public void Deserialize<T>(JToken json, T instance)
    method Serialize (line 602) | public JToken Serialize(object instance)
    method Deserialize (line 610) | private T Deserialize<T>(JToken json, JsonSerializer jsonSerializer)
    method TransformSerializationException (line 620) | private void TransformSerializationException<T>(Action action, JToken ...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Serialization/UpdatedAtAttribute.cs
  class UpdatedAtAttribute (line 13) | [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
    method UpdatedAtAttribute (line 19) | public UpdatedAtAttribute()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Serialization/VersionAttribute.cs
  class VersionAttribute (line 13) | [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
    method VersionAttribute (line 19) | public VersionAttribute()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/IMobileServiceLocalStore.cs
  type IMobileServiceLocalStore (line 16) | public interface IMobileServiceLocalStore : IDisposable
    method InitializeAsync (line 22) | Task InitializeAsync();
    method ReadAsync (line 29) | Task<JToken> ReadAsync(MobileServiceTableQueryDescription query);
    method UpsertAsync (line 38) | Task UpsertAsync(string tableName, IEnumerable<JObject> items, bool ig...
    method DeleteAsync (line 45) | Task DeleteAsync(MobileServiceTableQueryDescription query);
    method DeleteAsync (line 53) | Task DeleteAsync(string tableName, IEnumerable<string> ids);
    method LookupAsync (line 61) | Task<JObject> LookupAsync(string tableName, string id);

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/IMobileServiceSyncContext.cs
  type IMobileServiceSyncContext (line 13) | public interface IMobileServiceSyncContext
    method InitializeAsync (line 36) | Task InitializeAsync(IMobileServiceLocalStore store, IMobileServiceSyn...
    method PushAsync (line 49) | Task PushAsync(CancellationToken cancellationToken);

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/IMobileServiceSyncHandler.cs
  type IMobileServiceSyncHandler (line 13) | public interface IMobileServiceSyncHandler
    method OnPushCompleteAsync (line 20) | Task OnPushCompleteAsync(MobileServicePushCompletionResult result);
    method ExecuteTableOperationAsync (line 27) | Task<JObject> ExecuteTableOperationAsync(IMobileServiceTableOperation ...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/IMobileServiceSyncTable.Generic.cs
  type IMobileServiceSyncTable (line 17) | public interface IMobileServiceSyncTable<T> : IMobileServiceSyncTable
    method ReadAsync (line 28) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method ReadAsync (line 43) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method RefreshAsync (line 56) | Task RefreshAsync(T instance);
    method InsertAsync (line 67) | Task InsertAsync(T instance);
    method UpdateAsync (line 79) | Task UpdateAsync(T instance);
    method DeleteAsync (line 90) | Task DeleteAsync(T instance);
    method PullAsync (line 113) | Task PullAsync<U>(string queryId, IMobileServiceTableQuery<U> query, b...
    method PurgeAsync (line 125) | Task PurgeAsync<U>(string queryId, IMobileServiceTableQuery<U> query, ...
    method LookupAsync (line 136) | new Task<T> LookupAsync(string id);
    method CreateQuery (line 144) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method IncludeTotalCount (line 155) | IMobileServiceTableQuery<T> IncludeTotalCount();
    method Where (line 166) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method Select (line 181) | [SuppressMessage("Microsoft.Naming", "CA1715:IdentifiersShouldHaveCorr...
    method OrderBy (line 199) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method OrderByDescending (line 214) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method ThenBy (line 229) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method ThenByDescending (line 244) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method Skip (line 256) | IMobileServiceTableQuery<T> Skip(int count);
    method Take (line 267) | IMobileServiceTableQuery<T> Take(int count);
    method ToEnumerableAsync (line 275) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method ToListAsync (line 285) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/IMobileServiceSyncTable.cs
  type IMobileServiceSyncTable (line 15) | public interface IMobileServiceSyncTable
    method ReadAsync (line 42) | Task<JToken> ReadAsync(string query);
    method InsertAsync (line 53) | Task<JObject> InsertAsync(JObject instance);
    method UpdateAsync (line 64) | Task UpdateAsync(JObject instance);
    method DeleteAsync (line 75) | Task DeleteAsync(JObject instance);
    method LookupAsync (line 86) | Task<JObject> LookupAsync(string id);
    method PullAsync (line 113) | Task PullAsync(string queryId, string query, IDictionary<string, strin...
    method PurgeAsync (line 126) | Task PurgeAsync(string queryId, string query, bool force, Cancellation...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/MobileServiceLocalStore.cs
  class MobileServiceLocalStore (line 18) | public abstract class MobileServiceLocalStore: IMobileServiceLocalStore
    method InitializeAsync (line 29) | public virtual async Task InitializeAsync()
    method OnInitialize (line 47) | protected virtual Task OnInitialize()
    method DefineTable (line 57) | public virtual void DefineTable(string tableName, JObject item)
    method ReadAsync (line 66) | public abstract Task<JToken> ReadAsync(MobileServiceTableQueryDescript...
    method UpsertAsync (line 75) | public abstract Task UpsertAsync(string tableName, IEnumerable<JObject...
    method DeleteAsync (line 82) | public abstract Task DeleteAsync(MobileServiceTableQueryDescription qu...
    method DeleteAsync (line 90) | public abstract Task DeleteAsync(string tableName, IEnumerable<string>...
    method LookupAsync (line 98) | public abstract Task<JObject> LookupAsync(string tableName, string id);
    method EnsureInitialized (line 103) | protected void EnsureInitialized()
    method Dispose (line 114) | public void Dispose()
    method Dispose (line 124) | protected virtual void Dispose(bool disposing)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/MobileServiceLocalSystemTables.cs
  class MobileServiceLocalSystemTables (line 17) | public static class MobileServiceLocalSystemTables
    method DefineAll (line 43) | public static void DefineAll(MobileServiceLocalStore store)
    method MobileServiceLocalSystemTables (line 50) | static MobileServiceLocalSystemTables()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/MobileServicePushCompletionResult.cs
  class MobileServicePushCompletionResult (line 13) | public class MobileServicePushCompletionResult
    method MobileServicePushCompletionResult (line 30) | public MobileServicePushCompletionResult(IEnumerable<MobileServiceTabl...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/MobileServicePushStatus.cs
  type MobileServicePushStatus (line 16) | public enum MobileServicePushStatus

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/MobileServiceRemoteTableOptions.cs
  type MobileServiceRemoteTableOptions (line 12) | [Flags]

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/MobileServiceSyncContext.cs
  class MobileServiceSyncContext (line 16) | internal class MobileServiceSyncContext : IMobileServiceSyncContext, IDi...
    method MobileServiceSyncContext (line 63) | public MobileServiceSyncContext(MobileServiceClient client)
    method InitializeAsync (line 85) | public async Task InitializeAsync(IMobileServiceLocalStore store, IMob...
    method ReadAsync (line 108) | public async Task<JToken> ReadAsync(string tableName, string query)
    method InsertAsync (line 119) | public async Task InsertAsync(string tableName, MobileServiceTableKind...
    method UpdateAsync (line 129) | public async Task UpdateAsync(string tableName, MobileServiceTableKind...
    method DeleteAsync (line 139) | public async Task DeleteAsync(string tableName, MobileServiceTableKind...
    method LookupAsync (line 150) | public async Task<JObject> LookupAsync(string tableName, string id)
    method PullAsync (line 181) | public async Task PullAsync(string tableName, MobileServiceTableKind t...
    method PurgeAsync (line 244) | public async Task PurgeAsync(string tableName, MobileServiceTableKind ...
    method PushAsync (line 254) | public Task PushAsync(CancellationToken cancellationToken)
    method PushAsync (line 259) | public async Task PushAsync(CancellationToken cancellationToken, Mobil...
    method ExecuteSyncAction (line 278) | public async Task ExecuteSyncAction(SyncAction action)
    method GetTable (line 285) | public virtual async Task<MobileServiceTable> GetTable(string tableName)
    method CancelAndUpdateItemAsync (line 296) | public Task CancelAndUpdateItemAsync(MobileServiceTableOperationError ...
    method UpdateOperationAsync (line 306) | public Task UpdateOperationAsync(MobileServiceTableOperationError erro...
    method TryUpdateOperation (line 319) | private async Task TryUpdateOperation(MobileServiceTableOperationError...
    method CancelAndDiscardItemAsync (line 330) | public Task CancelAndDiscardItemAsync(MobileServiceTableOperationError...
    method DeferTableActionAsync (line 340) | public async Task DeferTableActionAsync(TableAction action)
    method TryCancelOperation (line 366) | private async Task TryCancelOperation(MobileServiceTableOperationError...
    method EnsureInitializedAsync (line 376) | private async Task EnsureInitializedAsync()
    method ExecuteOperationAsync (line 389) | private Task ExecuteOperationAsync(MobileServiceTableOperation operati...
    method ExecuteOperationSafeAsync (line 435) | private async Task ExecuteOperationSafeAsync(string itemId, string tab...
    method Dispose (line 448) | public void Dispose()
    method Dispose (line 454) | protected virtual void Dispose(bool disposing)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/MobileServiceSyncHandler.cs
  class MobileServiceSyncHandler (line 14) | public class MobileServiceSyncHandler : IMobileServiceSyncHandler
    method OnPushCompleteAsync (line 21) | public virtual Task OnPushCompleteAsync(MobileServicePushCompletionRes...
    method ExecuteTableOperationAsync (line 31) | public virtual Task<JObject> ExecuteTableOperationAsync(IMobileService...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/MobileServiceSyncSettingsManager.cs
  class MobileServiceSyncSettingsManager (line 17) | internal class MobileServiceSyncSettingsManager : IDisposable
    method MobileServiceSyncSettingsManager (line 24) | protected MobileServiceSyncSettingsManager()
    method MobileServiceSyncSettingsManager (line 28) | public MobileServiceSyncSettingsManager(IMobileServiceLocalStore store)
    method GetSystemPropertiesAsync (line 33) | public virtual async Task<MobileServiceSystemProperties> GetSystemProp...
    method ResetDeltaTokenAsync (line 40) | public virtual async Task ResetDeltaTokenAsync(string tableName, strin...
    method GetDeltaTokenAsync (line 51) | public async virtual Task<DateTimeOffset> GetDeltaTokenAsync(string ta...
    method SetDeltaTokenAsync (line 57) | public virtual Task SetDeltaTokenAsync(string tableName, string queryI...
    method DefineTable (line 66) | public static void DefineTable(MobileServiceLocalStore store)
    method SetSettingAsync (line 75) | private async Task SetSettingAsync(string key, string value)
    method GetSettingAsync (line 90) | private async Task<string> GetSettingAsync(string key, string defaultV...
    method GetDeltaTokenKey (line 114) | private string GetDeltaTokenKey(string tableName, string queryId)
    method GetSystemPropertiesKey (line 119) | private static string GetSystemPropertiesKey(string tableName)
    method Dispose (line 124) | public void Dispose()
    method Dispose (line 130) | protected virtual void Dispose(bool disposing)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/MobileServiceSyncTable.Generic.cs
  class MobileServiceSyncTable (line 18) | internal class MobileServiceSyncTable<T> : MobileServiceSyncTable, IMobi...
    method MobileServiceSyncTable (line 23) | public MobileServiceSyncTable(string tableName, MobileServiceTableKind...
    method ReadAsync (line 30) | public Task<IEnumerable<T>> ReadAsync()
    method ReadAsync (line 35) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method PullAsync (line 46) | public Task PullAsync<U>(string queryId, IMobileServiceTableQuery<U> q...
    method PurgeAsync (line 57) | public Task PurgeAsync<U>(string queryId, IMobileServiceTableQuery<U> ...
    method RefreshAsync (line 68) | public async Task RefreshAsync(T instance)
    method InsertAsync (line 99) | public async Task InsertAsync(T instance)
    method UpdateAsync (line 112) | public Task UpdateAsync(T instance)
    method DeleteAsync (line 120) | public Task DeleteAsync(T instance)
    method LookupAsync (line 128) | public async new Task<T> LookupAsync(string id)
    method CreateQuery (line 138) | public IMobileServiceTableQuery<T> CreateQuery()
    method Where (line 143) | public IMobileServiceTableQuery<T> Where(Expression<Func<T, bool>> pre...
    method Select (line 148) | [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelle...
    method OrderBy (line 155) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method OrderByDescending (line 161) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method ThenBy (line 167) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method ThenByDescending (line 173) | [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMe...
    method Skip (line 179) | public IMobileServiceTableQuery<T> Skip(int count)
    method Take (line 184) | public IMobileServiceTableQuery<T> Take(int count)
    method IncludeTotalCount (line 189) | public IMobileServiceTableQuery<T> IncludeTotalCount()
    method ToEnumerableAsync (line 194) | public Task<IEnumerable<T>> ToEnumerableAsync()
    method ToListAsync (line 199) | public async Task<List<T>> ToListAsync()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/MobileServiceSyncTable.cs
  class MobileServiceSyncTable (line 16) | internal class MobileServiceSyncTable : IMobileServiceSyncTable
    method MobileServiceSyncTable (line 29) | public MobileServiceSyncTable(string tableName, MobileServiceTableKind...
    method ReadAsync (line 41) | public Task<JToken> ReadAsync(string query)
    method PullAsync (line 46) | public Task PullAsync(string queryId, string query, IDictionary<string...
    method PullAsync (line 53) | public Task PullAsync(string queryId, string query, IDictionary<string...
    method PurgeAsync (line 59) | public Task PurgeAsync(string queryId, string query, bool force, Cance...
    method InsertAsync (line 65) | public async Task<JObject> InsertAsync(JObject instance)
    method UpdateAsync (line 84) | public async Task UpdateAsync(JObject instance)
    method DeleteAsync (line 92) | public async Task DeleteAsync(JObject instance)
    method LookupAsync (line 100) | public Task<JObject> LookupAsync(string id)
    method RemoveSystemPropertiesKeepVersion (line 106) | internal static JObject RemoveSystemPropertiesKeepVersion(JObject inst...
    method EnsureIdIsString (line 118) | private static string EnsureIdIsString(JObject instance)
    method ValidateQueryId (line 129) | internal static void ValidateQueryId(string queryId)
    method EnsureIdIsString (line 146) | protected static string EnsureIdIsString(object id)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/PullOptions.cs
  class PullOptions (line 10) | public class PullOptions
    method PullOptions (line 17) | public PullOptions()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/Queue/Actions/IncrementalPullStrategy.cs
  class IncrementalPullStrategy (line 11) | internal class IncrementalPullStrategy : PullStrategy
    method IncrementalPullStrategy (line 25) | public IncrementalPullStrategy(MobileServiceTable table,
    method InitializeAsync (line 42) | public override async Task InitializeAsync()
    method OnResultsProcessedAsync (line 52) | public override async Task OnResultsProcessedAsync()
    method SetUpdateAt (line 60) | public override void SetUpdateAt(DateTimeOffset updatedAt)
    method MoveToNextPageAsync (line 68) | public override async Task<bool> MoveToNextPageAsync()
    method PullCompleteAsync (line 89) | public override Task PullCompleteAsync()
    method SaveMaxUpdatedAtAsync (line 94) | private async Task SaveMaxUpdatedAtAsync()
    method UpdateDeltaToken (line 102) | private void UpdateDeltaToken()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/Queue/Actions/PullAction.cs
  class PullAction (line 15) | internal class PullAction : TableAction
    method PullAction (line 26) | public PullAction(MobileServiceTable table,
    method HandleDirtyTable (line 52) | protected override Task<bool> HandleDirtyTable()
    method WaitPendingAction (line 60) | protected override Task WaitPendingAction()
    method ProcessTableAsync (line 65) | protected async override Task ProcessTableAsync()
    method ProcessAll (line 92) | private async Task ProcessAll(JArray items)
    method FollowNextLinks (line 139) | private async Task<QueryResult> FollowNextLinks(QueryResult result)
    method IsNextLinkValid (line 153) | private bool IsNextLinkValid(Uri link, MobileServiceRemoteTableOptions...
    method ValidateOption (line 169) | private static bool ValidateOption(MobileServiceRemoteTableOptions val...
    method EndOfResult (line 175) | private bool EndOfResult(QueryResult result)
    method CreatePullStrategy (line 183) | private async Task CreatePullStrategy()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/Queue/Actions/PullCursor.cs
  class PullCursor (line 13) | internal class PullCursor
    method PullCursor (line 30) | public PullCursor(MobileServiceTableQueryDescription query)
    method OnNext (line 40) | public bool OnNext()
    method Reset (line 56) | public void Reset()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/Queue/Actions/PullStrategy.cs
  class PullStrategy (line 10) | internal class PullStrategy
    method PullStrategy (line 20) | public PullStrategy(MobileServiceTableQueryDescription query,
    method InitializeAsync (line 32) | public virtual Task InitializeAsync()
    method OnResultsProcessedAsync (line 47) | public virtual Task OnResultsProcessedAsync()
    method SetUpdateAt (line 52) | public virtual void SetUpdateAt(DateTimeOffset updatedAt)
    method MoveToNextPageAsync (line 60) | public virtual Task<bool> MoveToNextPageAsync()
    method ReduceTop (line 74) | protected void ReduceTop()
    method PullCompleteAsync (line 83) | public virtual Task PullCompleteAsync()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/Queue/Actions/PurgeAction.cs
  class PurgeAction (line 12) | internal class PurgeAction : TableAction
    method PurgeAction (line 16) | public PurgeAction(MobileServiceTable table,
    method HandleDirtyTable (line 31) | protected async override Task<bool> HandleDirtyTable()
    method ProcessTableAsync (line 61) | protected override async Task ProcessTableAsync()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/Queue/Actions/PushAction.cs
  class PushAction (line 18) | internal class PushAction : SyncAction
    method PushAction (line 26) | public PushAction(OperationQueue operationQueue,
    method ExecuteAsync (line 43) | public override async Task ExecuteAsync()
    method ExecuteBatchAsync (line 61) | private async Task<MobileServicePushStatus> ExecuteBatchAsync(Operatio...
    method FinalizePush (line 88) | private async Task FinalizePush(OperationBatch batch, MobileServicePus...
    method ExecuteAllOperationsAsync (line 128) | private async Task ExecuteAllOperationsAsync(OperationBatch batch)
    method ExecuteOperationAsync (line 156) | private async Task<bool> ExecuteOperationAsync(MobileServiceTableOpera...
    method TryUpdateOperationState (line 235) | private async Task TryUpdateOperationState(MobileServiceTableOperation...
    method LoadOperationItem (line 241) | private async Task LoadOperationItem(MobileServiceTableOperation opera...
    method TryStoreOperation (line 253) | private static async Task TryStoreOperation(Func<Task> action, Operati...
    method TryAbortBatch (line 266) | private bool TryAbortBatch(OperationBatch batch, Exception ex)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/Queue/Actions/SyncAction.cs
  class SyncAction (line 17) | internal abstract class SyncAction
    method SyncAction (line 29) | public SyncAction(OperationQueue operationQueue, IMobileServiceLocalSt...
    method ExecuteAsync (line 42) | public abstract Task ExecuteAsync();

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/Queue/Actions/TableAction.cs
  class TableAction (line 16) | internal abstract class TableAction : SyncAction
    method TableAction (line 29) | public TableAction(MobileServiceTable table,
    method ExecuteAsync (line 50) | public async override Task ExecuteAsync()
    method WaitPendingAction (line 74) | protected virtual Task WaitPendingAction()
    method HandleDirtyTable (line 79) | protected abstract Task<bool> HandleDirtyTable();
    method ProcessTableAsync (line 81) | protected abstract Task ProcessTableAsync();

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/Queue/OperationBatch.cs
  class OperationBatch (line 20) | internal class OperationBatch
    method OperationBatch (line 44) | public OperationBatch(IMobileServiceSyncHandler syncHandler, IMobileSe...
    method Abort (line 56) | public void Abort(MobileServicePushStatus reason)
    method AddSyncErrorAsync (line 67) | public Task AddSyncErrorAsync(MobileServiceTableOperationError error)
    method LoadSyncErrorsAsync (line 77) | public async Task<IList<MobileServiceTableOperationError>> LoadSyncErr...
    method HasErrors (line 100) | public bool HasErrors(IEnumerable<MobileServiceTableOperationError> sy...
    method DeleteErrorsAsync (line 109) | public async Task DeleteErrorsAsync()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/Queue/OperationQueue.cs
  class OperationQueue (line 19) | internal class OperationQueue
    method OperationQueue (line 27) | public OperationQueue(IMobileServiceLocalStore store)
    method PeekAsync (line 32) | public async virtual Task<MobileServiceTableOperation> PeekAsync(long ...
    method UpdateOperationCount (line 65) | internal void UpdateOperationCount(long delta)
    method CountPending (line 76) | public virtual async Task<long> CountPending(string tableName)
    method LockTableAsync (line 83) | public virtual Task<IDisposable> LockTableAsync(string name, Cancellat...
    method LockItemAsync (line 88) | public Task<IDisposable> LockItemAsync(string id, CancellationToken ca...
    method GetOperationByItemIdAsync (line 93) | public async Task<MobileServiceTableOperation> GetOperationByItemIdAsy...
    method GetOperationAsync (line 103) | public async Task<MobileServiceTableOperation> GetOperationAsync(strin...
    method EnqueueAsync (line 113) | public async Task EnqueueAsync(MobileServiceTableOperation op)
    method DeleteAsync (line 120) | public virtual async Task<bool> DeleteAsync(string id, long version)
    method UpdateAsync (line 140) | public virtual async Task UpdateAsync(MobileServiceTableOperation op)
    method UpdateAsync (line 152) | public virtual async Task<bool> UpdateAsync(string id, long version, J...
    method LoadAsync (line 186) | public static async Task<OperationQueue> LoadAsync(IMobileServiceLocal...
    method CreateQuery (line 205) | private static MobileServiceTableQueryDescription CreateQuery()
    method Compare (line 211) | private static BinaryOperatorNode Compare(BinaryOperatorKind kind, str...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/Queue/Operations/DeleteOperation.cs
  class DeleteOperation (line 13) | internal class DeleteOperation : MobileServiceTableOperation
    method DeleteOperation (line 30) | public DeleteOperation(string tableName, MobileServiceTableKind tableK...
    method OnExecuteAsync (line 35) | protected override async Task<JToken> OnExecuteAsync()
    method Validate (line 52) | public override void Validate(MobileServiceTableOperation newOperation)
    method Collapse (line 60) | public override void Collapse(MobileServiceTableOperation other)
    method ExecuteLocalAsync (line 65) | public override Task ExecuteLocalAsync(IMobileServiceLocalStore store,...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/Queue/Operations/IMobileServiceTableOperation.cs
  type IMobileServiceTableOperation (line 13) | public interface IMobileServiceTableOperation
    method ExecuteAsync (line 38) | Task<JObject> ExecuteAsync();
    method AbortPush (line 43) | void AbortPush();

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/Queue/Operations/InsertOperation.cs
  class InsertOperation (line 12) | internal class InsertOperation : MobileServiceTableOperation
    method InsertOperation (line 19) | public InsertOperation(string tableName, MobileServiceTableKind tableK...
    method OnExecuteAsync (line 24) | protected override Task<JToken> OnExecuteAsync()
    method Validate (line 32) | public override void Validate(MobileServiceTableOperation newOperation)
    method Collapse (line 48) | public override void Collapse(MobileServiceTableOperation newOperation)
    method ExecuteLocalAsync (line 64) | public override async Task ExecuteLocalAsync(IMobileServiceLocalStore ...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/Queue/Operations/MobileServiceTableKind.cs
  type MobileServiceTableKind (line 10) | internal enum MobileServiceTableKind

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/Queue/Operations/MobileServiceTableOperation.cs
  class MobileServiceTableOperation (line 12) | internal abstract class MobileServiceTableOperation : IMobileServiceTabl...
    method MobileServiceTableOperation (line 47) | protected MobileServiceTableOperation(string tableName, MobileServiceT...
    method AbortPush (line 57) | public void AbortPush()
    method ExecuteAsync (line 62) | public async Task<JObject> ExecuteAsync()
    method OnExecuteAsync (line 84) | protected abstract Task<JToken> OnExecuteAsync();
    method Cancel (line 86) | internal void Cancel()
    method Update (line 91) | internal void Update()
    method ExecuteLocalAsync (line 102) | public abstract Task ExecuteLocalAsync(IMobileServiceLocalStore store,...
    method Validate (line 108) | public abstract void Validate(MobileServiceTableOperation newOperation);
    method Collapse (line 113) | public abstract void Collapse(MobileServiceTableOperation newOperation);
    method DefineTable (line 119) | internal static void DefineTable(MobileServiceLocalStore store)
    method Serialize (line 136) | internal JObject Serialize()
    method Deserialize (line 154) | internal static MobileServiceTableOperation Deserialize(JObject obj)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/Queue/Operations/MobileServiceTableOperationError.cs
  class MobileServiceTableOperationError (line 16) | public class MobileServiceTableOperationError
    method MobileServiceTableOperationError (line 81) | public MobileServiceTableOperationError(string id,
    method CancelAndUpdateItemAsync (line 105) | public async Task CancelAndUpdateItemAsync(JObject item)
    method UpdateOperationAsync (line 122) | public async Task UpdateOperationAsync(JObject item)
    method CancelAndDiscardItemAsync (line 137) | public async Task CancelAndDiscardItemAsync()
    method DefineTable (line 147) | internal static void DefineTable(MobileServiceLocalStore store)
    method Serialize (line 162) | internal JObject Serialize()
    method Deserialize (line 177) | internal static MobileServiceTableOperationError Deserialize(JObject o...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/Queue/Operations/MobileServiceTableOperationKind.cs
  type MobileServiceTableOperationKind (line 16) | public enum MobileServiceTableOperationKind

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/Queue/Operations/MobileServiceTableOperationState.cs
  type MobileServiceTableOperationState (line 7) | public enum MobileServiceTableOperationState

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Table/Sync/Queue/Operations/UpdateOperation.cs
  class UpdateOperation (line 12) | internal class UpdateOperation : MobileServiceTableOperation
    method UpdateOperation (line 19) | public UpdateOperation(string tableName, MobileServiceTableKind tableK...
    method OnExecuteAsync (line 24) | protected override Task<JToken> OnExecuteAsync()
    method Validate (line 29) | public override void Validate(MobileServiceTableOperation newOperation)
    method Collapse (line 39) | public override void Collapse(MobileServiceTableOperation newOperation)
    method ExecuteLocalAsync (line 55) | public override Task ExecuteLocalAsync(IMobileServiceLocalStore store,...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Threading/ActionBlock.cs
  class ActionBlock (line 17) | internal class ActionBlock: IDisposable
    method ActionBlock (line 21) | public ActionBlock()
    method Post (line 26) | public async Task Post(Func<Task> action, CancellationToken cancellati...
    method Dispose (line 34) | public void Dispose()
    method Dispose (line 40) | protected virtual void Dispose(bool disposing)

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Threading/AsyncLock.cs
  class AsyncLock (line 14) | internal sealed class AsyncLock : IDisposable
    method Acquire (line 18) | public async Task<IDisposable> Acquire(CancellationToken cancellationT...
    method Dispose (line 26) | public void Dispose()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Threading/AsyncLockDictionary.cs
  class AsyncLockDictionary (line 14) | internal class AsyncLockDictionary
    class LockEntry (line 16) | sealed class LockEntry: IDisposable
      method Dispose (line 21) | public void Dispose()
    method Acquire (line 29) | public async Task<IDisposable> Acquire(string key, CancellationToken c...

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Threading/AsyncReaderWriterLock.cs
  class AsyncReaderWriterLock (line 13) | internal class AsyncReaderWriterLock
    method AsyncReaderWriterLock (line 23) | public AsyncReaderWriterLock()
    method ReaderLockAsync (line 29) | public Task<DisposeAction> ReaderLockAsync()
    method WriterLockAsync (line 48) | public Task<DisposeAction> WriterLockAsync()
    method ReaderRelease (line 67) | private void ReaderRelease()
    method WriterRelease (line 86) | private void WriterRelease()

FILE: sdk/Managed/src/Microsoft.WindowsAzure.MobileServices/Threading/DisposeAction.cs
  type DisposeAction (line 13) | internal struct DisposeAction: IDisposable
    method DisposeAction (line 18) | public DisposeAction(Action action)
    method Dispose (line 24) | public void Dispose()

FILE: sdk/Managed/test/Microsoft.WindowsAzure.Mobile.Net45.Test/App.xaml.cs
  class App (line 23) | public partial class App : Application
    method App (line 34) | static App()

FILE: sdk/Managed/test/Microsoft.WindowsAzure.Mobile.Net45.Test/ConsoleHelper.cs
  class ConsoleHelper (line 12) | public static class ConsoleHelper
    method AttachConsole (line 14) | [SuppressMessage("Microsoft.Design", "CA1060:MovePInvokesToNativeMetho...
    method Attach (line 20) | public static void Attach()
    method Flush (line 26) | public static void Flush()
    method Write (line 32) | public static void Write(string format, params object[] args)
    method WriteLine (line 38) | public static void WriteLine(string message)

FILE: sdk/Managed/test/Microsoft.WindowsAzure.Mobile.Net45.Test/Properties/Resources.Designer.cs
  class Resources (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
    method Resources (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...

FILE: sdk/Managed/test/Microsoft.WindowsAzure.Mobile.Net45.Test/Settings.Designer.cs
  class Settings (line 14) | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

FILE: sdk/Managed/test/Microsoft.WindowsAzure.Mobile.Net45.Test/UI/MainPage.xaml.cs
  class MainPage (line 26) | public sealed partial class MainPage : Page
    method MainPage (line 31) | public MainPage()
    method ExecuteUnitTests (line 72) | private void ExecuteUnitTests(object sender, RoutedEventArgs e)
    method ExecuteUnitTests (line 81) | private void ExecuteUnitTests(string runtimeUri, string runtimeKey, st...

FILE: sdk/Managed/test/Microsoft.WindowsAzure.Mobile.Net45.Test/UI/MainWindow.xaml.cs
  class MainWindow (line 25) | public partial class MainWindow : Window
    method MainWindow (line 27) | public MainWindow()

FILE: sdk/Managed/test/Microsoft.WindowsAzure.Mobile.Net45.Test/UI/TestPage.xaml.cs
  class TestPage (line 20) | public sealed partial class TestPage : Page, ITestReporter
    method TestPage (line 34) | public TestPage()
    method StartRun (line 49) | public async void StartRun(TestHarness harness)
    method EndRun (line 61) | public async void EndRun(TestHarness harness)
    method Progress (line 84) | public async void Progress(TestHarness harness)
    method StartGroup (line 100) | public async void StartGroup(TestGroup group)
    method EndGroup (line 109) | public async void EndGroup(TestGroup group)
    method StartTest (line 117) | public async void StartTest(TestMethod test)
    method EndTest (line 133) | public async void EndTest(TestMethod method)
    method Log (line 156) | public async void Log(string message)
    method Error (line 164) | public async void Error(string errorDetails)
    method Status (line 172) | public async void Status(string status)

FILE: sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.Android.Test/App.cs
  class App (line 9) | static class App
    method App (line 13) | static App()

FILE: sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.Android.Test/GroupDescription.cs
  class GroupDescription (line 9) | sealed class GroupDescription
    method GroupDescription (line 12) | public GroupDescription (TestGroup group)

FILE: sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.Android.Test/HarnessActivity.cs
  class HarnessActivity (line 15) | [Activity]
    method OnCreate (line 21) | protected override void OnCreate (Bundle bundle)
    method OnStart (line 50) | protected override void OnStart()
    method OnStop (line 61) | protected override void OnStop()
    method ShowStatus (line 68) | private void ShowStatus()
    method UpdateProgress (line 80) | private void UpdateProgress()
    method OnListenerPropertyChanged (line 90) | private void OnListenerPropertyChanged (object sender, PropertyChanged...
    class TestListAdapter (line 103) | class TestListAdapter
      method TestListAdapter (line 106) | public TestListAdapter (Activity activity, TestListener listener)
      method GetChild (line 118) | public override Java.Lang.Object GetChild (int groupPosition, int ch...
      method GetChildId (line 124) | public override long GetChildId (int groupPosition, int childPosition)
      method GetChildrenCount (line 129) | public override int GetChildrenCount (int groupPosition)
      method GetChildView (line 135) | public override View GetChildView (int groupPosition, int childPosit...
      method GetGroup (line 155) | public override Java.Lang.Object GetGroup (int groupPosition)
      method GetGroupId (line 160) | public override long GetGroupId (int groupPosition)
      method GetGroupView (line 165) | public override View GetGroupView (int groupPosition, bool isExpande...
      method IsChildSelectable (line 184) | public override bool IsChildSelectable (int groupPosition, int child...
      method OnTestsCollectionChanged (line 203) | void OnTestsCollectionChanged (object sender, NotifyCollectionChange...
      method OnGroupsCollectionChanged (line 210) | void OnGroupsCollectionChanged (object sender, NotifyCollectionChang...

FILE: sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.Android.Test/LoginActivity.cs
  class LoginActivity (line 12) | [Activity(Label = "Microsoft.WindowsAzure.Mobile.Android.Test", MainLaun...
    method OnCreate (line 21) | protected override void OnCreate (Bundle bundle)
    method OnClickRunTests (line 41) | private void OnClickRunTests (object sender, EventArgs eventArgs)
    method OnClickLogin (line 71) | private async void OnClickLogin(object sender, EventArgs eventArgs)

FILE: sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.Android.Test/Resources/Resource.Designer.cs
  class Resource (line 18) | [System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.T...
    method Resource (line 22) | static Resource()
    method UpdateIdValues (line 27) | public static void UpdateIdValues()
    class Attribute (line 31) | public partial class Attribute
      method Attribute (line 34) | static Attribute()
      method Attribute (line 39) | private Attribute()
    class Drawable (line 44) | public partial class Drawable
      method Drawable (line 50) | static Drawable()
      method Drawable (line 55) | private Drawable()
    class Id (line 60) | public partial class Id
      method Id (line 93) | static Id()
      method Id (line 98) | private Id()
    class Layout (line 103) | public partial class Layout
      method Layout (line 121) | static Layout()
      method Layout (line 126) | private Layout()
    class String (line 131) | public partial class String
      method String (line 152) | static String()
      method String (line 157) | private String()

FILE: sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.Android.Test/TestActivity.cs
  class TestActivity (line 7) | [Activity]
    method OnCreate (line 10) | protected override void OnCreate (Bundle bundle)

FILE: sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.Android.Test/TestDescription.cs
  class TestDescription (line 5) | sealed class TestDescription
    method TestDescription (line 8) | public TestDescription (TestMethod test, string log)

FILE: sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.Android.Test/TestListener.cs
  class TestListener (line 11) | sealed class TestListener
    method StartRun (line 47) | void ITestReporter.StartRun (TestHarness harness)
    method Progress (line 53) | void ITestReporter.Progress (TestHarness harness)
    method EndRun (line 63) | void ITestReporter.EndRun (TestHarness harness)
    method StartGroup (line 67) | void ITestReporter.StartGroup (TestGroup group)
    method EndGroup (line 73) | void ITestReporter.EndGroup (TestGroup group)
    method StartTest (line 77) | void ITestReporter.StartTest (TestMethod test)
    method EndTest (line 82) | void ITestReporter.EndTest (TestMethod test)
    method Log (line 88) | void ITestReporter.Log (string message)
    method Error (line 93) | void ITestReporter.Error (string errorDetails)
    method Status (line 98) | void ITestReporter.Status (string newStatus)
    method OnPropertyChanged (line 110) | private void OnPropertyChanged ([CallerMemberName] string propertyName...

FILE: sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.Android.Test/TestPlatform/PushTestUtility.cs
  class PushTestUtility (line 15) | class PushTestUtility : IPushTestUtility
    method GetPushHandle (line 23) | public string GetPushHandle()
    method GetUpdatedPushHandle (line 28) | public string GetUpdatedPushHandle()
    method GetTemplateRegistrationForToast (line 33) | public Registration GetTemplateRegistrationForToast()
    method ValidateTemplateRegistration (line 39) | public void ValidateTemplateRegistration(Registration registration)
    method ValidateTemplateRegistrationBeforeRegister (line 53) | public void ValidateTemplateRegistrationBeforeRegister(Registration re...
    method ValidateTemplateRegistrationAfterRegister (line 60) | public void ValidateTemplateRegistrationAfterRegister(Registration reg...
    method GetNewNativeRegistration (line 69) | public Registration GetNewNativeRegistration(string deviceId, IEnumera...
    method GetNewTemplateRegistration (line 74) | public Registration GetNewTemplateRegistration(string deviceId, string...
    method GetListNativeRegistrationResponse (line 79) | public string GetListNativeRegistrationResponse()
    method GetListTemplateRegistrationResponse (line 84) | public string GetListTemplateRegistrationResponse()
    method GetListMixedRegistrationResponse (line 89) | public string GetListMixedRegistrationResponse()

FILE: sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.SQLiteStore.Android.Test/App.cs
  class App (line 11) | static class App
    method App (line 15) | static App()

FILE: sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.SQLiteStore.Android.Test/GroupDescription.cs
  class GroupDescription (line 9) | sealed class GroupDescription
    method GroupDescription (line 12) | public GroupDescription (TestGroup group)

FILE: sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.SQLiteStore.Android.Test/HarnessActivity.cs
  class HarnessActivity (line 15) | [Activity]
    method OnCreate (line 21) | protected override void OnCreate (Bundle bundle)
    method OnStart (line 50) | protected override void OnStart()
    method OnStop (line 61) | protected override void OnStop()
    method ShowStatus (line 68) | private void ShowStatus()
    method UpdateProgress (line 80) | private void UpdateProgress()
    method OnListenerPropertyChanged (line 90) | private void OnListenerPropertyChanged (object sender, PropertyChanged...
    class TestListAdapter (line 103) | class TestListAdapter
      method TestListAdapter (line 106) | public TestListAdapter (Activity activity, TestListener listener)
      method GetChild (line 118) | public override Java.Lang.Object GetChild (int groupPosition, int ch...
      method GetChildId (line 124) | public override long GetChildId (int groupPosition, int childPosition)
      method GetChildrenCount (line 129) | public override int GetChildrenCount (int groupPosition)
      method GetChildView (line 135) | public override View GetChildView (int groupPosition, int childPosit...
      method GetGroup (line 155) | public override Java.Lang.Object GetGroup (int groupPosition)
      method GetGroupId (line 160) | public override long GetGroupId (int groupPosition)
      method GetGroupView (line 165) | public override View GetGroupView (int groupPosition, bool isExpande...
      method IsChildSelectable (line 184) | public override bool IsChildSelectable (int groupPosition, int child...
      method OnTestsCollectionChanged (line 203) | void OnTestsCollectionChanged (object sender, NotifyCollectionChange...
      method OnGroupsCollectionChanged (line 210) | void OnGroupsCollectionChanged (object sender, NotifyCollectionChang...

FILE: sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.SQLiteStore.Android.Test/LoginActivity.cs
  class LoginActivity (line 12) | [Activity(Label = "Microsoft.WindowsAzure.Mobile.SQLiteStore.Android.Tes...
    method OnCreate (line 19) | protected override void OnCreate (Bundle bundle)
    method OnClickRunTests (line 32) | private void OnClickRunTests (object sender, EventArgs eventArgs)

FILE: sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.SQLiteStore.Android.Test/Resources/Resource.Designer.cs
  class Resource (line 18) | [System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.T...
    method Resource (line 22) | static Resource()
    method UpdateIdValues (line 27) | public static void UpdateIdValues()
    class Attribute (line 31) | public partial class Attribute
      method Attribute (line 34) | static Attribute()
      method Attribute (line 39) | private Attribute()
    class Drawable (line 44) | public partial class Drawable
      method Drawable (line 50) | static Drawable()
      method Drawable (line 55) | private Drawable()
    class Id (line 60) | public partial class Id
      method Id (line 84) | static Id()
      method Id (line 89) | private Id()
    class Layout (line 94) | public partial class Layout
      method Layout (line 112) | static Layout()
      method Layout (line 117) | private Layout()
    class String (line 122) | public partial class String
      method String (line 134) | static String()
      method String (line 139) | private String()

FILE: sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.SQLiteStore.Android.Test/TestActivity.cs
  class TestActivity (line 7) | [Activity]
    method OnCreate (line 10) | protected override void OnCreate (Bundle bundle)

FILE: sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.SQLiteStore.Android.Test/TestDescription.cs
  class TestDescription (line 5) | sealed class TestDescription
    method TestDescription (line 8) | public TestDescription (TestMethod test, string log)

FILE: sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.SQLiteStore.Android.Test/TestListener.cs
  class TestListener (line 11) | sealed class TestListener
    method StartRun (line 47) | void ITestReporter.StartRun (TestHarness harness)
    method Progress (line 53) | void ITestReporter.Progress (TestHarness harness)
    method EndRun (line 63) | void ITestReporter.EndRun (TestHarness harness)
    method StartGroup (line 67) | void ITestReporter.StartGroup (TestGroup group)
    method EndGroup (line 73) | void ITestReporter.EndGroup (TestGroup group)
    method StartTest (line 77) | void ITestReporter.StartTest (TestMethod test)
    method EndTest (line 82) | void ITestReporter.EndTest (TestMethod test)
    method Log (line 88) | void ITestReporter.Log (string message)
    method Error (line 93) | void ITestReporter.Error (string errorDetails)
    method Status (line 98) | void ITestReporter.Status (string newStatus)
    method OnPropertyChanged (line 110) | private void OnPropertyChanged ([CallerMemberName] string propertyName...

FILE: sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.SQLiteStore.Net45.Test/App.xaml.cs
  class App (line 23) | public partial class App : Application
    method App (line 33) | static App()

FILE: sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.SQLiteStore.Net45.Test/Properties/Resources.Designer.cs
  class Resources (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
    method Resources (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...

FILE: sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.SQLiteStore.Net45.Test/Settings.Designer.cs
  class Settings (line 14) | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

FILE: sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.SQLiteStore.Net45.Test/UI/MainPage.xaml.cs
  class MainPage (line 25) | public sealed partial class MainPage : Page
    method MainPage (line 30) | public MainPage()
    method ExecuteUnitTests (line 58) | private void ExecuteUnitTests(object sender, RoutedEventArgs e)
    method ExecuteUnitTests (line 66) | private void ExecuteUnitTests(string tags, bool auto)

FILE: sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.SQLiteStore.Net45.Test/UI/MainWindow.xaml.cs
  class MainWindow (line 25) | public partial class MainWindow : Window
    method MainWindow (line 27) | public MainWindow()

FILE: sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.SQLiteStore.Net45.Test/UI/TestPage.xaml.cs
  class TestPage (line 30) | public sealed partial class TestPage : Page, ITestReporter
    method TestPage (line 40) | public TestPage()
    method StartRun (line 55) | public async void StartRun(TestHarness harness)
    method EndRun (line 67) | public async void EndRun(TestHarness harness)
    method Progress (line 89) | public async void Progress(TestHarness harness)
    method StartGroup (line 105) | public async void StartGroup(TestGroup group)
    method EndGroup (line 114) | public async void EndGroup(TestGroup group)
    method StartTest (line 122) | public async void StartTest(TestMethod test)
    method EndTest (line 138) | public async void EndTest(TestMethod method)
    method Log (line 161) | public async void Log(string message)
    method Error (line 169) | public async void Error(string errorDetails)
    method Status (line 177) | public async void Status(string status)

FILE: sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.SQLiteStore.Test.Unit/MobileServiceSQLiteStoreExtensionTests.cs
  class MobileServiceSQLiteStoreExtensionTests (line 16) | [TestClass]
    method DefineTable_Succeeds_WithAllTypes_Generic (line 19) | [TestMethod]
    method DefineTable_Succeeds_WithAllTypes (line 58) | [TestMethod]
    method DefineTable_Succeeds_WithReadonlyProperty (line 81) | [TestMethod]
    method DefineTable_Succeeds_WithSystemProperties (line 93) | [TestMethod]
    method DefineTable_Throws_WithTypeWithConstructor (line 109) | [TestMethod]
    method DefineTable_Succeeds_WithComplexType (line 117) | [TestMethod]
    method DefineTable_Succeeds_WithDerivedType (line 130) | [TestMethod]
    method TestDefineTable (line 145) | private static async Task TestDefineTable<T>(string testTableName, Col...
    method TestDefineTable (line 150) | private static async Task TestDefineTable(JObject item, string testTab...
    method TestDefineTable (line 155) | private static async Task TestDefineTable(string testTableName, Column...

FILE: sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.SQLiteStore.Test.Unit/SqlHelperTests.cs
  class SqlHelperTests (line 13) | [TestClass]
    method GetStoreCastType_Throws_WhenTypeIsNotSupported (line 16) | [TestMethod]
    method GetStoreCastType_ReturnsCorrectType (line 28) | [TestMethod]
    method GetStoreType_ReturnsCorrectType (line 59) | [TestMethod]
    method GetStoreType_Throws_OnUnsupportedTypes (line 83) | [TestMethod]
    method SerializeValue_LosesPrecision_WhenValueIsDate (line 95) | [TestMethod]
    method ParseReal_LosesPrecision_WhenValueIsDate (line 103) | [TestMethod]

FILE: sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.SQLiteStore.Test.Unit/SqlQueryFormatterTests.cs
  class SqlQueryFormatterTests (line 13) | [TestClass]
    method FormatSelect_Math_Floor (line 18) | [TestMethod]
    method FormatSelect_InvalidQuery (line 28) | [TestMethod]
    method FormatSelect_Math_Ceiling (line 37) | [TestMethod]
    method FormatSelect_Math_Round (line 47) | [TestMethod]
    method FormatSelect_Date_Comparison (line 57) | [TestMethod]
    method FormatSelect_DateTimeOffset_Comparison (line 67) | [TestMethod]
    method FormatSelect_Date_Day (line 77) | [TestMethod]
    method FormatSelect_Date_Month (line 83) | [TestMethod]
    method FormatSelect_Date_Year (line 89) | [TestMethod]
    method FormatSelect_Date_Hour (line 95) | [TestMethod]
    method FormatSelect_Date_Minute (line 101) | [TestMethod]
    method FormatSelect_Date_Second (line 107) | [TestMethod]
    method TestSelectDateTimeFunction (line 113) | private static void TestSelectDateTimeFunction(string fn, string format)
    method FormatSelect_String_ToLower (line 122) | [TestMethod]
    method FormatSelect_String_ToUpper (line 128) | [TestMethod]
    method FormatSelect_String_Length (line 134) | [TestMethod]
    method FormatSelect_String_Trim (line 140) | [TestMethod]
    method FormatSelect_String_SubstringOf (line 146) | [TestMethod]
    method FormatSelect_String_StartsWith (line 152) | [TestMethod]
    method FormatSelect_String_EndsWith (line 158) | [TestMethod]
    method FormatSelect_String_Concat (line 164) | [TestMethod]
    method FormatSelect_String_IndexOf (line 170) | [TestMethod]
    method FormatSelect_String_Replace (line 176) | [TestMethod]
    method FormatSelect_String_Substring (line 182) | [TestMethod]
    method TestSelectStringFunction (line 188) | private static void TestSelectStringFunction(string fn, string sqlFn, ...
    method FormatSelect_GeneratesSQL_WithoutTotalCount (line 205) | [TestMethod]
    method FormatSelect_GeneratesSQL_WithoutColumns (line 215) | [TestMethod]
    method FormatSelect_GeneratesSQL_WithTotalCount (line 225) | [TestMethod]
    method FormatDeletes_GeneratesSQL (line 237) | [TestMethod]
    method TestSqlFormatting (line 247) | private static void TestSqlFormatting(Func<SqlQueryFormatter, Func<str...

FILE: sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.SQLiteStore.Test/TestUtilities.cs
  class TestUtilities (line 11) | internal class TestUtilities
    method ResetDatabase (line 13) | public static void ResetDatabase(string dbName)
    method DropTestTable (line 20) | public static void DropTestTable(string dbName, string tableName)
    method CountRows (line 25) | public static long CountRows(string dbName, string tableName)
    method Truncate (line 40) | public static void Truncate(string dbName, string tableName)
    method ExecuteNonQuery (line 45) | public static void ExecuteNonQuery(string dbName, string sql)

FILE: sdk/Managed/test/Microsoft.WindowsAzure.MobileServices.SQLiteStore.Test/UnitTests/SQLiteStoreTests.Integration.cs
  class SQLiteStoreIntegrationTests (line 20) | public class SQLiteStoreIntegrationTests : TestBase
    method InsertAsync_Throws_IfItemAlreadyExistsInLocalStore (line 26) | [AsyncTestMethod]
    method ReadAsync_RoundTripsDate (line 53) | [AsyncTestMethod]
    method ReadAsync_RoundTripsDate_Generic (line 81) | [AsyncTestMethod]
    method ReadAsync_RoundTripsBytes (line 106) | [AsyncTestMethod]
    method ReadAsync_RoundTripsBytes_Generic (line 134) | [AsyncTestMethod]
    method ReadAsync_WithSystemPropertyType_Generic (line 161) | [AsyncTestMethod]
    method ReadAsync_StringCompare_WithSpecialChars (line 197) | [AsyncTestMethod]
    method DefineTable_IgnoresColumn_IfCaseIsDifferentButNameIsSame (line 221) | [AsyncTestMethod]
    method Upsert_Succeeds_IfCaseIsDifferentButNameIsSame (line 253) | [AsyncTestMethod]
    method PullAsync_DoesIncrementalSync_WhenQueryIdIsSpecified (line 281) | [AsyncTestMethod]
    me
Copy disabled (too large) Download .json
Condensed preview — 1814 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (19,177K chars).
[
  {
    "path": ".gitattributes",
    "chars": 483,
    "preview": "# Auto detect text files and perform LF normalization\n* text=auto\n\n# Custom for Visual Studio\n*.cs     diff=csharp\n*.sln"
  },
  {
    "path": ".gitignore",
    "chars": 537,
    "preview": ".DS_Store\nbin\ngen\ntarget\n*.keystore\n*.swp\n*.orig\n*.log\n*.userprefs\nseed.txt\nmap.txt\n.metadata\nsdk/android/src/notificati"
  },
  {
    "path": ".gitmodules",
    "chars": 452,
    "preview": "[submodule \"sdk/Javascript/src/External/esprima\"]\n\tpath = sdk/Javascript/src/External/esprima\n\turl = https://github.com/"
  },
  {
    "path": "CHANGELOG.android.md",
    "chars": 2548,
    "preview": "# Azure Mobile Services Android SDK Change Log\n\n### Android SDK: Version 2.0.3\n- Fix in the incremental sync query build"
  },
  {
    "path": "CHANGELOG.ios.md",
    "chars": 4805,
    "preview": "# Azure Mobile Services iOS SDK Change Log\n\n## SDK Downloads\n- [Latest iOS 2.x SDK](http://aka.ms/gc6fex)\n - **requires "
  },
  {
    "path": "CHANGELOG.javascript.md",
    "chars": 2047,
    "preview": "# Azure Mobile Services JavaScript SDK Change Log\n\n### JavaScript SDK: Version 1.2.7\n- Added support for phonegap/cordov"
  },
  {
    "path": "CHANGELOG.managed.md",
    "chars": 8373,
    "preview": "# Azure Mobile Services Managed SDK Change Log\n\n### Managed SDK: Version 1.3.2\n- Added workaround for WinRT issue [#658]"
  },
  {
    "path": "CHANGELOG.md",
    "chars": 193,
    "preview": "# Azure Mobile Services Change Log\n\n## [iOS SDK](CHANGELOG.ios.md)\n\n## [Managed SDK](CHANGELOG.managed.md)\n\n## [Android "
  },
  {
    "path": "LICENSE.txt",
    "chars": 10172,
    "preview": "                                 Apache License\n                           Version 2.0, January 2004\n                   "
  },
  {
    "path": "README.md",
    "chars": 10247,
    "preview": "# Microsoft Azure Mobile Services\n\nAzure Mobile Services has been superseded by Azure App Service Mobile Apps and is sch"
  },
  {
    "path": "component/.gitignore",
    "chars": 28,
    "preview": "*.xam\nxpkg\n*.suo\nbin\nobj\nlib"
  },
  {
    "path": "component/Details.md",
    "chars": 582,
    "preview": "Add structured storage, authentication, push notifications and more to your Xamarin based mobile application in minutes "
  },
  {
    "path": "component/GettingStarted.md",
    "chars": 1047,
    "preview": "## Getting Started\n\nFollow the tutorial for the appropriate platform:\n\n- [Xamarin.iOS](https://www.windowsazure.com/en-u"
  },
  {
    "path": "component/License.md",
    "chars": 9661,
    "preview": "# Apache License\nVersion 2.0, January 2004<br />\n[http://www.apache.org/licenses/](http://www.apache.org/licenses/)\n\nTER"
  },
  {
    "path": "component/component.yaml",
    "chars": 2391,
    "preview": "id: azure-mobile-services\nversion: 1.2.1\nname: Azure Mobile Services\npublisher: Microsoft\npublisher-url: http://www.win"
  },
  {
    "path": "component/samples/androidsample/androidsample/Assets/AboutAssets.txt",
    "chars": 604,
    "preview": "Any raw assets you want to be deployed with your application can be placed in\nthis directory (and child directories) and"
  },
  {
    "path": "component/samples/androidsample/androidsample/Properties/AndroidManifest.xml",
    "chars": 471,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\" android:ver"
  },
  {
    "path": "component/samples/androidsample/androidsample/Properties/AssemblyInfo.cs",
    "chars": 1008,
    "preview": "using System.Reflection;\nusing System.Runtime.CompilerServices;\nusing Android.App;\n\n// Information about this assembly i"
  },
  {
    "path": "component/samples/androidsample/androidsample/Resources/AboutResources.txt",
    "chars": 1694,
    "preview": "Images, layout descriptions, binary blobs and string dictionaries can be included \nin your application as resource files"
  },
  {
    "path": "component/samples/androidsample/androidsample/Resources/Resource.designer.cs",
    "chars": 3862,
    "preview": "#pragma warning disable 1591\n//------------------------------------------------------------------------------\n// <auto-g"
  },
  {
    "path": "component/samples/androidsample/androidsample/Resources/layout/Activity_To_Do.axml",
    "chars": 2029,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmln"
  },
  {
    "path": "component/samples/androidsample/androidsample/Resources/layout/Row_List_To_Do.axml",
    "chars": 443,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andr"
  },
  {
    "path": "component/samples/androidsample/androidsample/Resources/menu/activity_main.xml",
    "chars": 222,
    "preview": "<menu xmlns:android=\"http://schemas.android.com/apk/res/android\" >\n\n    <item android:id=\"@+id/menu_refresh\" android:ord"
  },
  {
    "path": "component/samples/androidsample/androidsample/Resources/values/Strings.xml",
    "chars": 383,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n\t<string name=\"app_name\">androidsample</string>\n    <string name=\"add"
  },
  {
    "path": "component/samples/androidsample/androidsample/Resources/values/styles.xml",
    "chars": 679,
    "preview": "<resources>\n\n    <!--\n        Base application theme, dependent on API level. This theme is replaced\n        by AppBaseT"
  },
  {
    "path": "component/samples/androidsample/androidsample/Resources/values-v11/styles.xml",
    "chars": 323,
    "preview": "<resources>\n\n    <!--\n        Base application theme for API 11+. This theme completely replaces\n        AppBaseTheme fr"
  },
  {
    "path": "component/samples/androidsample/androidsample/Resources/values-v14/styles.xml",
    "chars": 380,
    "preview": "<resources>\n\n    <!--\n        Base application theme for API 14+. This theme completely replaces\n        AppBaseTheme fr"
  },
  {
    "path": "component/samples/androidsample/androidsample/ToDoActivity.cs",
    "chars": 5430,
    "preview": "using System;\nusing Android.OS;\nusing Android.App;\nusing Android.Views;\nusing Android.Widget;\nusing System.Net.Http;\nusi"
  },
  {
    "path": "component/samples/androidsample/androidsample/ToDoItem.cs",
    "chars": 462,
    "preview": "using System;\nusing Newtonsoft.Json;\n\nnamespace androidsample\n{\n\tpublic class ToDoItem\n\t{\n\t\tpublic string Id { get; set;"
  },
  {
    "path": "component/samples/androidsample/androidsample/ToDoItemAdapter.cs",
    "chars": 2088,
    "preview": "using System;\nusing Android.App;\nusing Android.Views;\nusing Android.Widget;\nusing System.Collections.Generic;\n\nnamespace"
  },
  {
    "path": "component/samples/androidsample/androidsample/androidsample.csproj",
    "chars": 5554,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microso"
  },
  {
    "path": "component/samples/androidsample/androidsample/app.config",
    "chars": 418,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n  <runtime>\n    <assemblyBinding xmlns=\"urn:schemas-microsoft-co"
  },
  {
    "path": "component/samples/androidsample/androidsample.sln",
    "chars": 1192,
    "preview": "\nMicrosoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio 2012\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C"
  },
  {
    "path": "component/samples/iOSsample/iOSsample/AppDelegate.cs",
    "chars": 523,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing Foundation;\nusing UIKit;\n\nnamespace iOSsample\n{"
  },
  {
    "path": "component/samples/iOSsample/iOSsample/Info.plist",
    "chars": 1550,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "component/samples/iOSsample/iOSsample/Main.cs",
    "chars": 417,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing Foundation;\nusing UIKit;\n\nnamespace iOSsample\n{"
  },
  {
    "path": "component/samples/iOSsample/iOSsample/MainStoryboard_iPad.storyboard",
    "chars": 9697,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard"
  },
  {
    "path": "component/samples/iOSsample/iOSsample/MainStoryboard_iPhone.storyboard",
    "chars": 9752,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard"
  },
  {
    "path": "component/samples/iOSsample/iOSsample/QSTodoListViewController.cs",
    "chars": 4808,
    "preview": "// This file has been autogenerated from parsing an Objective-C header file added in Xcode.\nusing System;\nusing UIKit;\nu"
  },
  {
    "path": "component/samples/iOSsample/iOSsample/QSTodoListViewController.designer.cs",
    "chars": 843,
    "preview": "// WARNING\n//\n// This file has been generated automatically by Xamarin Studio to store outlets and\n// actions made in th"
  },
  {
    "path": "component/samples/iOSsample/iOSsample/QSTodoService.cs",
    "chars": 2836,
    "preview": "using System;\nusing System.Net.Http;\nusing System.Threading.Tasks;\nusing System.Collections.Generic;\nusing Microsoft.Win"
  },
  {
    "path": "component/samples/iOSsample/iOSsample/ToDoItem.cs",
    "chars": 283,
    "preview": "using System;\nusing Newtonsoft.Json;\n\nnamespace iOSsample\n{\n\tpublic class ToDoItem\n\t{\n\t\tpublic string Id { get; set; }\n\n"
  },
  {
    "path": "component/samples/iOSsample/iOSsample/app.config",
    "chars": 418,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n  <runtime>\n    <assemblyBinding xmlns=\"urn:schemas-microsoft-co"
  },
  {
    "path": "component/samples/iOSsample/iOSsample/iOSsample.csproj",
    "chars": 7103,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microso"
  },
  {
    "path": "component/samples/iOSsample/iOSsample.sln",
    "chars": 1921,
    "preview": "\nMicrosoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio 2013\nVisualStudioVersion = 12.0.30110.0\nMi"
  },
  {
    "path": "docs/README.md",
    "chars": 3760,
    "preview": "# Azure Mobile Services Documentation\n\nAzure Mobile Services has been deprecated.  This documentation is a copy of the\nd"
  },
  {
    "path": "docs/mobile-services-android-get-started-data.md",
    "chars": 21030,
    "preview": "<properties\n\tpageTitle=\"Get started with data on Android  (JavaScript backend) | Microsoft Azure\"\n\tdescription=\"Learn ho"
  },
  {
    "path": "docs/mobile-services-android-get-started-offline-data.md",
    "chars": 12458,
    "preview": "<properties\n\tpageTitle=\"Add Offline Data Sync to your Android Mobile Services app | Microsoft Azure\"\n\tdescription=\"Learn"
  },
  {
    "path": "docs/mobile-services-android-get-started-users.md",
    "chars": 28058,
    "preview": "<properties\n\tpageTitle=\"Get started with authentication on Android (JavaScript backend) | Microsoft Azure\"\n\tdescription="
  },
  {
    "path": "docs/mobile-services-android-get-started.md",
    "chars": 10519,
    "preview": "<properties\n\tpageTitle=\"Get Started with Azure Mobile Services for Android apps (JavaScript backend)\"\n\tdescription=\"Foll"
  },
  {
    "path": "docs/mobile-services-android-how-to-use-client-library.md",
    "chars": 56062,
    "preview": "<properties\n\tpageTitle=\"Working with the Mobile Services Android Client Library\"\n\tdescription=\"Learn how to use an Andro"
  },
  {
    "path": "docs/mobile-services-android-upload-data-blob-storage.md",
    "chars": 21874,
    "preview": "<properties\n\tpageTitle=\"Use Mobile Services to upload images to blob storage (Android) | Mobile Services\"\n\tdescription=\""
  },
  {
    "path": "docs/mobile-services-concepts-links.md",
    "chars": 7419,
    "preview": "<properties\n\tpageTitle=\"Mobile Services Concepts\"\n\tdescription=\"Links to Mobile Services concepts topics found in the He"
  },
  {
    "path": "docs/mobile-services-disaster-recovery.md",
    "chars": 9900,
    "preview": "<properties\n\tpageTitle=\"Recover your mobile service in the event of a disaster | Microsoft Azure\"\n\tdescription=\"Learn ho"
  },
  {
    "path": "docs/mobile-services-dotnet-backend-android-get-started-push.md",
    "chars": 24101,
    "preview": "<properties\n\tpageTitle=\"Get started with push (Android) | Microsoft Azure\"\n\tdescription=\"Learn how to use Azure Mobile S"
  },
  {
    "path": "docs/mobile-services-dotnet-backend-android-get-started-users.md",
    "chars": 29948,
    "preview": "<properties\n\tpageTitle=\"Get started with authentication (Android) | Microsoft Azure\"\n\tdescription=\"Learn how to use Mobi"
  },
  {
    "path": "docs/mobile-services-dotnet-backend-android-get-started.md",
    "chars": 13855,
    "preview": "\n<properties\n\tpageTitle=\"Get Started with Azure Mobile Services for Android apps\"\n\tdescription=\"Follow this tutorial to "
  },
  {
    "path": "docs/mobile-services-dotnet-backend-define-custom-api.md",
    "chars": 5449,
    "preview": "<properties\n\tpageTitle=\"How to define a custom API in a .NET backend mobile service | Azure Mobile Services\"\n\tdescriptio"
  },
  {
    "path": "docs/mobile-services-dotnet-backend-get-started-custom-authentication.md",
    "chars": 25651,
    "preview": "<properties\n\tpageTitle=\"Get started with custom authentication | Microsoft Azure\"\n\tdescription=\"Learn how to authenticat"
  },
  {
    "path": "docs/mobile-services-dotnet-backend-how-to-configure-iis-express.md",
    "chars": 4402,
    "preview": "<properties\n\tpageTitle=\"Configure IIS Express for local mobile service testing | Azure Mobile Services\"\n\tdescription=\"Le"
  },
  {
    "path": "docs/mobile-services-dotnet-backend-how-to-troubleshoot.md",
    "chars": 13014,
    "preview": "<properties\n\tpageTitle=\"Troubleshoot the Mobile Services .NET Backend | Microsoft Azure\"\n\tdescription=\"Learn how to diag"
  },
  {
    "path": "docs/mobile-services-dotnet-backend-how-to-use-code-first-migrations.md",
    "chars": 13291,
    "preview": "<properties\n\tpageTitle=\"How to make data model changes to a .NET backend mobile service\"\n\tdescription=\"This topic descri"
  },
  {
    "path": "docs/mobile-services-dotnet-backend-hybrid-connections-get-started.md",
    "chars": 18735,
    "preview": "<properties\n\tpageTitle=\"Connect to an on-premises SQL Server from a .NET backend mobile service using Hybrid Connections"
  },
  {
    "path": "docs/mobile-services-dotnet-backend-ios-adal-sso-authentication.md",
    "chars": 10151,
    "preview": "<properties\n\tpageTitle=\"Authenticate your app with Active Directory Authentication Library Single Sign-On (iOS) | Micros"
  },
  {
    "path": "docs/mobile-services-dotnet-backend-ios-get-started-push.md",
    "chars": 13149,
    "preview": "<properties\n\tpageTitle=\"Add Push Notifications to App (iOS) | .NET Backend\"\n\tdescription=\"Learn how to use Azure Mobile "
  },
  {
    "path": "docs/mobile-services-dotnet-backend-ios-get-started-users.md",
    "chars": 11501,
    "preview": "<properties\n\tpageTitle=\"Add Authentication to Existing Azure Mobile Services App (iOS) | .NET Backend | Microsoft Azure\""
  },
  {
    "path": "docs/mobile-services-dotnet-backend-ios-get-started.md",
    "chars": 10419,
    "preview": "<properties\n\tpageTitle=\"Get Started with Azure Mobile Services for iOS apps\"\n\tdescription=\"Follow this tutorial to get s"
  },
  {
    "path": "docs/mobile-services-dotnet-backend-ios-push-notifications-app-users.md",
    "chars": 7709,
    "preview": "<properties\n\tpageTitle=\"Send Push Notifications to Authenticated Users (.NET Backend)\"\n\tdescription=\"Learn how to send p"
  },
  {
    "path": "docs/mobile-services-dotnet-backend-schedule-recurring-tasks.md",
    "chars": 17959,
    "preview": "<properties\n\tpageTitle=\"Schedule backend tasks in a .NET backend mobile service | Microsoft Azure\"\n\tdescription=\"Use the"
  },
  {
    "path": "docs/mobile-services-dotnet-backend-service-side-authorization.md",
    "chars": 4672,
    "preview": "<properties\n\tpageTitle=\"Service-side authorization of users in a .NET backend mobile service | Microsoft Azure\"\n\tdescrip"
  },
  {
    "path": "docs/mobile-services-dotnet-backend-store-code-source-control.md",
    "chars": 7097,
    "preview": "<properties\n\tpageTitle=\"Store you .NET backend project code in source control | Azure Mobile Services\"\n\tdescription=\"Lea"
  },
  {
    "path": "docs/mobile-services-dotnet-backend-store-data-table-storage.md",
    "chars": 9054,
    "preview": "<properties\n\tpageTitle=\"Build a .NET backend mobile service that uses Table storage | Azure Mobile Services\"\n\tdescriptio"
  },
  {
    "path": "docs/mobile-services-dotnet-backend-use-existing-sql-database.md",
    "chars": 29495,
    "preview": "<properties\n\tpageTitle=\"Build a service using an existing SQL database with the Mobile Services .NET backend | Microsoft"
  },
  {
    "path": "docs/mobile-services-dotnet-backend-windows-store-dotnet-aad-rbac.md",
    "chars": 22805,
    "preview": "<properties\n\tpageTitle=\"Role Based Access Control in Mobile Services using .NET and the Azure Active Directory (Windows "
  },
  {
    "path": "docs/mobile-services-dotnet-backend-windows-store-dotnet-get-started.md",
    "chars": 13778,
    "preview": "<properties\n\tpageTitle=\"Get Started with Mobile Services for Windows Universal apps | Microsoft Azure\"\n\tdescription=\"Fol"
  },
  {
    "path": "docs/mobile-services-dotnet-backend-windows-store-dotnet-leaderboard.md",
    "chars": 29915,
    "preview": "<properties\n\tpageTitle=\"Creating a Windows Store leaderboard app with .NET Backend | Azure Mobile Services\"\n\tdescription"
  },
  {
    "path": "docs/mobile-services-dotnet-backend-windows-store-dotnet-push-notifications-app-users.md",
    "chars": 11282,
    "preview": "<properties\n\tpageTitle=\"Send push notifications to authenticated users (Universal Windows 8.1) | Azure Mobile Services\"\n"
  },
  {
    "path": "docs/mobile-services-dotnet-backend-windows-universal-dotnet-get-started-data.md",
    "chars": 18466,
    "preview": "<properties\n\tpageTitle=\"Add Mobile Services to an existing universal Windows Store app | Microsoft Azure\"\n\tdescription=\""
  },
  {
    "path": "docs/mobile-services-dotnet-backend-windows-universal-dotnet-get-started-push.md",
    "chars": 16039,
    "preview": "<properties\n\tpageTitle=\"Add push notifications to your universal Windows 8.1 app | Microsoft Azure\"\n\tdescription=\"Learn "
  },
  {
    "path": "docs/mobile-services-dotnet-backend-windows-universal-dotnet-get-started-users.md",
    "chars": 21331,
    "preview": "<properties\n\tpageTitle=\"Add authentication to your Universal Windows 8.1 app | Microsoft Azure\"\n\tdescription=\"Learn how "
  },
  {
    "path": "docs/mobile-services-dotnet-backend-windows-universal-dotnet-upload-data-blob-storage.md",
    "chars": 26673,
    "preview": "<properties\n\tpageTitle=\"Upload images to Azure Blob storage from a universal Windows app | Microsoft Azure\"\n\tdescription"
  },
  {
    "path": "docs/mobile-services-dotnet-backend-xamarin-android-get-started-push.md",
    "chars": 20666,
    "preview": "<properties\n\tpageTitle=\"Get Started with Mobile Services for Xamarin Android apps | Microsoft Azure\"\n\tdescription=\"Learn"
  },
  {
    "path": "docs/mobile-services-dotnet-backend-xamarin-android-get-started-users.md",
    "chars": 11076,
    "preview": "<properties\n\tpageTitle=\"Get Started with authentication in Mobile Services for Xamarin Android apps | Microsoft Azure\"\n\t"
  },
  {
    "path": "docs/mobile-services-dotnet-backend-xamarin-android-get-started.md",
    "chars": 11770,
    "preview": "<properties\n\tpageTitle=\"Get Started with Mobile Services for Xamarin Android apps | Microsoft Azure\"\n\tdescription=\"Follo"
  },
  {
    "path": "docs/mobile-services-dotnet-backend-xamarin-ios-get-started-users.md",
    "chars": 11867,
    "preview": "<properties\n\tpageTitle=\"Get Started with authentication in Mobile Services for Xamarin iOS apps | Microsoft Azure\"\n\tdesc"
  },
  {
    "path": "docs/mobile-services-dotnet-backend-xamarin-ios-get-started.md",
    "chars": 11459,
    "preview": "<properties\n\tpageTitle=\"Get Started with Mobile Services for Xamarin iOS apps | Microsoft Azure\"\n\tdescription=\"Follow th"
  },
  {
    "path": "docs/mobile-services-dotnet-how-to-use-client-library.md",
    "chars": 47131,
    "preview": "<properties\n\tpageTitle=\"Working with the Mobile Services managed client library (Windows | Xamarin) | Microsoft Azure\"\n\t"
  },
  {
    "path": "docs/mobile-services-how-to-register-active-directory-authentication.md",
    "chars": 4923,
    "preview": "<properties\n\tpageTitle=\"Register for Azure Active Directory authentication | Microsoft Azure\"\n\tdescription=\"Learn how to"
  },
  {
    "path": "docs/mobile-services-how-to-register-facebook-authentication.md",
    "chars": 5498,
    "preview": "<properties\n\tpageTitle=\"Register for Facebook authentication | Azure Mobile Services\"\n\tdescription=\"Learn how to use Fac"
  },
  {
    "path": "docs/mobile-services-how-to-register-google-authentication.md",
    "chars": 4428,
    "preview": "<properties\n\tpageTitle=\"Register for Google authentication | Microsoft Azure\"\n\tdescription=\"Learn how to register your a"
  },
  {
    "path": "docs/mobile-services-how-to-register-microsoft-authentication.md",
    "chars": 6263,
    "preview": "<properties\n\tpageTitle=\"Register for Microsoft authentication | Microsoft Azure\"\n\tdescription=\"Learn how to register for"
  },
  {
    "path": "docs/mobile-services-how-to-register-twitter-authentication.md",
    "chars": 4578,
    "preview": "<properties\n\tpageTitle=\"Register for Twitter authentication | Microsoft Azure\"\n\tdescription=\"Learn how to use Twitter au"
  },
  {
    "path": "docs/mobile-services-how-to-use-multiple-clients-single-service.md",
    "chars": 14775,
    "preview": "<properties\n\tpageTitle=\"How to use multiple clients with a single mobile service backend | Azure Mobile Services\"\n\tdescr"
  },
  {
    "path": "docs/mobile-services-how-to-use-server-scripts.md",
    "chars": 60342,
    "preview": "<properties\n\tpageTitle=\"Work with a JavaScript backend mobile service\"\n\tdescription=\"Provides examples on how to define,"
  },
  {
    "path": "docs/mobile-services-html-get-started-users.md",
    "chars": 10202,
    "preview": "<properties \n\tpageTitle=\"Add authentication to your HTML/JavaScript app | Microsoft Azure\" \n\tdescription=\"Learn how to u"
  },
  {
    "path": "docs/mobile-services-html-get-started.md",
    "chars": 10372,
    "preview": "<properties\n\tpageTitle=\"Get Started with Azure Mobile Services for HTML/JavaScript apps | Microsoft Azure\"\n\tdescription="
  },
  {
    "path": "docs/mobile-services-html-how-to-use-client-library.md",
    "chars": 37263,
    "preview": "<properties\n\tpageTitle=\"How to use an HTML client with Azure Mobile Services | Microsoft Azure\"\n\tdescription=\"Learn how "
  },
  {
    "path": "docs/mobile-services-ios-get-started-offline-data.md",
    "chars": 18009,
    "preview": "<properties\n\tpageTitle=\"Get Started with Offline Data Sync in Mobile Services (iOS) | Microsoft Azure\"\n\tdescription=\"Lea"
  },
  {
    "path": "docs/mobile-services-ios-get-started-users.md",
    "chars": 10207,
    "preview": "<properties\n\tpageTitle=\"Add Authentication to Existing Azure Mobile Services App (iOS) | JavaScript Backend | Microsoft "
  },
  {
    "path": "docs/mobile-services-ios-get-started.md",
    "chars": 8706,
    "preview": "<properties\n\tpageTitle=\"Get Started with Azure Mobile Services for iOS apps | JavaScript Backend\"\n\tdescription=\"Follow t"
  },
  {
    "path": "docs/mobile-services-ios-handling-conflicts-offline-data.md",
    "chars": 9585,
    "preview": "<properties\n\tpageTitle=\"Handle conflicts with offline data in Mobile Services (iOS) | Mobile Dev Center\"\n\tdescription=\"L"
  },
  {
    "path": "docs/mobile-services-ios-how-to-use-client-library.md",
    "chars": 20791,
    "preview": "<properties\n\tpageTitle=\"How to Use iOS Client Library for Azure Mobile Services\"\n\tdescription=\"How to Use iOS Client Lib"
  },
  {
    "path": "docs/mobile-services-javascript-backend-android-get-started-push.md",
    "chars": 21338,
    "preview": "\n<properties\n\tpageTitle=\"Get started with push notifications (Android JavaScript) | Microsoft Azure\"\n\tdescription=\"Learn"
  },
  {
    "path": "docs/mobile-services-javascript-backend-define-custom-api.md",
    "chars": 3991,
    "preview": "<properties\n\tpageTitle=\"How to define a custom API in a JavaScript backend mobile service | Azure Mobile Services\"\n\tdesc"
  },
  {
    "path": "docs/mobile-services-javascript-backend-ios-get-started-push.md",
    "chars": 12784,
    "preview": "<properties\n\tpageTitle=\"Add Push Notifications to App (iOS) | JavaScript Backend\"\n\tdescription=\"Learn how to use Azure M"
  },
  {
    "path": "docs/mobile-services-javascript-backend-ios-push-notifications-app-users.md",
    "chars": 6216,
    "preview": "<properties\n\tpageTitle=\"Send Push Notifications to Authenticated Users in iOS (JavaScript backend)\"\n\tdescription=\"Learn "
  },
  {
    "path": "docs/mobile-services-javascript-backend-phonegap-get-started.md",
    "chars": 10736,
    "preview": "<properties\n\tpageTitle=\"Get started with Azure Mobile Services for PhoneGap/cordova apps | Microsoft Azure\"\n\tdescription"
  },
  {
    "path": "docs/mobile-services-javascript-backend-service-side-authorization.md",
    "chars": 4798,
    "preview": "<properties\n\tpageTitle=\"Service-side authorization of users in a JavaScript backend mobile service | Microsoft Azure\"\n\td"
  },
  {
    "path": "docs/mobile-services-javascript-backend-windows-phone-get-started-push.md",
    "chars": 11398,
    "preview": "<properties\n\tpageTitle=\"Add push notifications to your Mobile Services app (Windows Phone) | Microsoft Azure\"\n\tdescripti"
  },
  {
    "path": "docs/mobile-services-javascript-backend-windows-store-dotnet-get-started.md",
    "chars": 10336,
    "preview": "<properties\n\tpageTitle=\"Get Started with Mobile Services for Windows Store apps (C#) | Microsoft Azure\"\n\tdescription=\"Fo"
  },
  {
    "path": "docs/mobile-services-javascript-backend-windows-store-dotnet-push-notifications-app-users.md",
    "chars": 10712,
    "preview": "<properties\n\tpageTitle=\"Send push notifications to authenticated universal Windows app users.\"\n\tdescription=\"Learn how t"
  },
  {
    "path": "docs/mobile-services-javascript-backend-windows-store-javascript-get-started.md",
    "chars": 7877,
    "preview": "<properties\n\tpageTitle=\"Get Started with Mobile Services for Windows Store JavaScript apps | Azure Mobile Services\"\n\tdes"
  },
  {
    "path": "docs/mobile-services-javascript-backend-windows-universal-dotnet-get-started-push.md",
    "chars": 13111,
    "preview": "<properties\n\tpageTitle=\"Add push notifications to your universal Windows 8.1 app | Microsoft Azure\"\n\tdescription=\"Learn "
  },
  {
    "path": "docs/mobile-services-javascript-backend-windows-universal-dotnet-get-started-users.md",
    "chars": 17304,
    "preview": "<properties\n\tpageTitle=\"Add authentication to your universal Windows 8.1 app | Azure Mobile Services\"\n\tdescription=\"Lear"
  },
  {
    "path": "docs/mobile-services-javascript-backend-windows-universal-dotnet-upload-data-blob-storage.md",
    "chars": 23735,
    "preview": "<properties\n\tpageTitle=\"Upload images to Azure Blob storage from a universal Windows app | Microsoft Azure\"\n\tdescription"
  },
  {
    "path": "docs/mobile-services-manage-command-line-interface.md",
    "chars": 10267,
    "preview": "<properties\n\tpageTitle=\"Administering a Mobile Service from the command line | Microsoft Azure\"\n\tdescription=\"Learn how "
  },
  {
    "path": "docs/mobile-services-schedule-recurring-tasks.md",
    "chars": 10767,
    "preview": "<properties\n\tpageTitle=\"Schedule backend tasks in a JavaScript backend mobile service | Microsoft Azure\"\n\tdescription=\"U"
  },
  {
    "path": "docs/mobile-services-sql-scale-guidance.md",
    "chars": 34651,
    "preview": "<properties\n\tpageTitle=\"Scale mobile services backed by Azure SQL Database | Microsoft Azure\"\n\tdescription=\"Learn how to"
  },
  {
    "path": "docs/mobile-services-store-scripts-source-control.md",
    "chars": 10460,
    "preview": "<properties\n\tpageTitle=\"Store JavaScript backend project code in source control | Azure Mobile Services\"\n\tdescription=\"L"
  },
  {
    "path": "docs/mobile-services-using-soft-delete.md",
    "chars": 9055,
    "preview": "<properties\n\tpageTitle=\"Using soft delete in Mobile Services (Windows Store) | Microsoft Azure\"\n\tdescription=\"Learn how "
  },
  {
    "path": "docs/mobile-services-windows-phone-get-started-data.md",
    "chars": 14076,
    "preview": "<properties\n\tpageTitle=\"Add Mobile Services to an existing app (WP8) | Microsoft Azure\"\n\tdescription=\"Learn how to get s"
  },
  {
    "path": "docs/mobile-services-windows-phone-get-started-users.md",
    "chars": 15217,
    "preview": "<properties\n\tpageTitle=\"Get started with authentication (Windows Phone) | Microsoft Azure\"\n\tdescription=\"Learn how to us"
  },
  {
    "path": "docs/mobile-services-windows-store-dotnet-adal-sso-authentication.md",
    "chars": 15114,
    "preview": "<properties\n\tpageTitle=\"Authenticate your app with Active Directory Authentication Library Single Sign-On (Windows Store"
  },
  {
    "path": "docs/mobile-services-windows-store-dotnet-get-started-offline-data.md",
    "chars": 19839,
    "preview": "<properties\n\tpageTitle=\"Using offline data in your universal Windows app | Microsoft Azure\"\n\tdescription=\"Learn how to u"
  },
  {
    "path": "docs/mobile-services-windows-store-dotnet-handle-database-conflicts.md",
    "chars": 20081,
    "preview": "<properties\n\tpageTitle=\"Handle database write conflicts with optimistic concurrency (Windows Store) | Microsoft Azure\"\n\t"
  },
  {
    "path": "docs/mobile-services-windows-store-dotnet-handling-conflicts-offline-data.md",
    "chars": 10965,
    "preview": "<properties\n\tpageTitle=\"Handle conflicts with offline data in universal Windows apps | Microsoft Azure\"\n\tdescription=\"Le"
  },
  {
    "path": "docs/mobile-services-xamarin-android-get-started-offline-data.md",
    "chars": 15034,
    "preview": "<properties\n\tpageTitle=\"Using offline data in Mobile Services (Xamarin Android) | Microsoft Azure\"\n\tdescription=\"Learn h"
  },
  {
    "path": "docs/mobile-services-xamarin-ios-get-started-offline-data.md",
    "chars": 15351,
    "preview": "<properties\n\tpageTitle=\"Using offline data in Mobile Services (Xamarin iOS) | Microsoft Azure\"\n\tdescription=\"Learn how t"
  },
  {
    "path": "docs/partner-sencha-mobile-services-get-started.md",
    "chars": 31114,
    "preview": "<properties\n\tpageTitle=\"Get Started with Azure Mobile Services and Sencha\"\n\tdescription=\"Follow this tutorial to get sta"
  },
  {
    "path": "docs/partner-twilio-mobile-services-how-to-use-voice-sms.md",
    "chars": 13262,
    "preview": "<properties\n\tpageTitle=\"Use Twilio for Voice and SMS Capabilities | Microsoft Azure\"\n\tdescription=\"Learn how to perform "
  },
  {
    "path": "docs/partner-xamarin-mobile-services-android-get-started-push.md",
    "chars": 20213,
    "preview": "<properties\n\tpageTitle=\"Add push notifications to your Xamarin Android app | Microsoft Azure\"\n\tdescription=\"Learn how to"
  },
  {
    "path": "docs/partner-xamarin-mobile-services-android-get-started-users.md",
    "chars": 10368,
    "preview": "<properties\n\tpageTitle=\"Get started with authentication (Xamarin.Android) - Mobile Services\"\n\tdescription=\"Learn how to "
  },
  {
    "path": "docs/partner-xamarin-mobile-services-android-get-started.md",
    "chars": 10758,
    "preview": "<properties\n\tpageTitle=\"Get Started with Mobile Services for Xamarin.Android | Microsoft Azure\"\n\twriter=\"craigd\"\n\tdescri"
  },
  {
    "path": "docs/partner-xamarin-mobile-services-ios-get-started-push.md",
    "chars": 19908,
    "preview": "<properties\n\tpageTitle=\"Add push notifications to your Mobile Services app (Xamarin.iOS) - Mobile Services\"\n\tdescription"
  },
  {
    "path": "docs/partner-xamarin-mobile-services-ios-get-started-users.md",
    "chars": 10916,
    "preview": "<properties\n\tpageTitle=\"Get started with authentication (Xamarin.iOS) - Mobile Services\"\n\tdescription=\"Learn how to use "
  },
  {
    "path": "docs/partner-xamarin-mobile-services-ios-get-started.md",
    "chars": 9773,
    "preview": "<properties\n\tpageTitle=\"Get Started with Mobile Services for Xamarin iOS apps | Microsoft Azure\"\n\tdescription=\"Follow th"
  },
  {
    "path": "docs/partner-xamarin-mobile-services-xamarin-forms-get-started-push.md",
    "chars": 47300,
    "preview": " <properties\n\tpageTitle=\"Add push notifications to your Mobile Services app (Xamarin.Forms) - Mobile Services\"\n\tdescript"
  },
  {
    "path": "docs/store-sendgrid-mobile-services-send-email-scripts.md",
    "chars": 10314,
    "preview": "<properties\n\tpageTitle=\"Send email using SendGrid | Microsoft Azure\"\n\tdescription=\"Learn how to use the SendGrid service"
  },
  {
    "path": "docs/vs-mobile-services-cordova-getting-started.md",
    "chars": 4945,
    "preview": "<properties\n\tpageTitle=\"Getting Started with a Cordova mobile services project (Visual Studio Connected Services) | Micr"
  },
  {
    "path": "docs/vs-mobile-services-cordova-what-happened.md",
    "chars": 1491,
    "preview": "<properties \n\tpageTitle=\"What happened to my Cordova project (Visual Studio Connected Services) | Microsoft Azure\" \n\tdes"
  },
  {
    "path": "docs/vs-mobile-services-dotnet-getting-started.md",
    "chars": 4140,
    "preview": "<properties\n\tpageTitle=\"Get Started with a Visual Studio .NET mobile services project (Connected Services) | Microsoft A"
  },
  {
    "path": "docs/vs-mobile-services-dotnet-what-happened.md",
    "chars": 2213,
    "preview": "<properties\n\tpageTitle=\"What happened to my .NET project after adding Mobile Services by using Visual Studio Connected S"
  },
  {
    "path": "docs/vs-mobile-services-javascript-getting-started.md",
    "chars": 4423,
    "preview": "<properties \n\tpageTitle=\"Get started with a Javascript mobile app after adding Mobile Services by using Visual Studio Co"
  },
  {
    "path": "docs/vs-mobile-services-javascript-what-happened.md",
    "chars": 1315,
    "preview": "<properties \n\tpageTitle=\"What happens when you add Mobile Services to a Javascript app by using Visual Studio Connected "
  },
  {
    "path": "sdk/Javascript/.gitignore",
    "chars": 242,
    "preview": "*.suo\n#ignore build files\nbin\nobj\nbld\n*.jsproj.user\ntest/*/js/MobileServices.*\npackages/*\n#just in case ignore the folde"
  },
  {
    "path": "sdk/Javascript/Gruntfile.js",
    "chars": 6723,
    "preview": "/// <vs BeforeBuild='default' />\nmodule.exports = function (grunt) {\n    // Project configuration.\n    grunt.initConfig("
  },
  {
    "path": "sdk/Javascript/Microsoft.WindowsAzure.Mobile.JS.sln",
    "chars": 14902,
    "preview": "Microsoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio 2013\nVisualStudioVersion = 12.0.30723.0\nMini"
  },
  {
    "path": "sdk/Javascript/package.json",
    "chars": 263,
    "preview": "{\n  \"name\": \"AzureMobileServices\",\n  \"version\": \"1.2.8\",\n  \"devDependencies\": {\n    \"grunt\": \"~0.4.5\",\n    \"grunt-contri"
  },
  {
    "path": "sdk/Javascript/src/Generated/.gitignore",
    "chars": 14,
    "preview": "*\n!.gitignore\n"
  },
  {
    "path": "sdk/Javascript/src/Internals/DevIntellisense.js",
    "chars": 727,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/src/Internals/InternalsVisible.js",
    "chars": 2021,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/src/Internals/NodeExports.js",
    "chars": 495,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/src/LoginUis/BrowserPopup.js",
    "chars": 5159,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/src/LoginUis/CordovaPopup.js",
    "chars": 6786,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/src/LoginUis/WebAuthBroker.js",
    "chars": 5302,
    "preview": "\nexports.supportsCurrentRuntime = function () {\n    /// <summary>\n    /// Determines whether or not this login UI is us"
  },
  {
    "path": "sdk/Javascript/src/Microsoft.WindowsAzure.Mobile.JS.csproj",
    "chars": 10362,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microso"
  },
  {
    "path": "sdk/Javascript/src/MobileServiceClient.js",
    "chars": 20935,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/src/MobileServiceLogin.js",
    "chars": 18740,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/src/MobileServiceTable.js",
    "chars": 27820,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/src/MobileServices.intellisense.js",
    "chars": 15348,
    "preview": "// ----------------------------------------------------------------------------\n//! Copyright (c) Microsoft Corporation"
  },
  {
    "path": "sdk/Javascript/src/MobileServices.intellisense.txt",
    "chars": 13002,
    "preview": "// Declare JSHint globals\n/*global WindowsAzure:false, intellisense:false */\n\nintellisense.annotate(WindowsAzure.Mobile"
  },
  {
    "path": "sdk/Javascript/src/MobileServices.priconfig.xml",
    "chars": 801,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<resources>\n\t<index root=\"\\\" startIndexAt=\"\\\">\n\t\t<default>\n\t\t\t<q"
  },
  {
    "path": "sdk/Javascript/src/Platforms/Platform.Web.js",
    "chars": 9880,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/src/Platforms/Platform.WinJS.js",
    "chars": 9778,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/src/Properties/AssemblyInfo.cs",
    "chars": 749,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/src/Push/LocalStorageManager.js",
    "chars": 7650,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/src/Push/Push.Web.js",
    "chars": 10368,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation. "
  },
  {
    "path": "sdk/Javascript/src/Push/Push.WinJS.js",
    "chars": 5152,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/src/Push/PushHttpClient.js",
    "chars": 2753,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/src/Push/RegistrationManager.js",
    "chars": 8695,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/src/Require.js",
    "chars": 1204,
    "preview": "    /// <field name=\"$__modules__\">\n    /// Map module names to either their cached exports or a function which\n    /// "
  },
  {
    "path": "sdk/Javascript/src/Strings/en-US/Resources.resjson",
    "chars": 2455,
    "preview": "{\n    \"Validate_NotNullError\"                                 : \"{0} cannot be null.\",\n    \"Validate_NotNullOrEmptyErro"
  },
  {
    "path": "sdk/Javascript/src/Transports/DirectAjaxTransport.js",
    "chars": 1797,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/src/Transports/IframeTransport.js",
    "chars": 4014,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/src/Utilities/Extensions.js",
    "chars": 19882,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/src/Utilities/PostMessageExchange.js",
    "chars": 5184,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/src/Utilities/Promises.js",
    "chars": 5846,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/src/Utilities/Validate.js",
    "chars": 7529,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/test/framework/ActionContinuation.cs",
    "chars": 1364,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/test/framework/Assert.cs",
    "chars": 9765,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/test/framework/FunctionalTestFilter.cs",
    "chars": 2399,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/test/framework/IAsyncExecution.cs",
    "chars": 839,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/test/framework/IContinuation.cs",
    "chars": 876,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/test/framework/ITestReporter.cs",
    "chars": 2707,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/test/framework/Microsoft.WindowsAzure.Mobile.WinJS.TestFramework.csproj",
    "chars": 11419,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microso"
  },
  {
    "path": "sdk/Javascript/test/framework/Properties/AssemblyInfo.cs",
    "chars": 647,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/test/framework/RuntimeTestFilter.cs",
    "chars": 1717,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/test/framework/Tagging/TagManager.ExpressionEvaluator.cs",
    "chars": 12903,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/test/framework/Tagging/TagManager.Tags.cs",
    "chars": 1701,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/test/framework/Tagging/TagManager.cs",
    "chars": 5690,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/test/framework/Tagging/TagTestFilter.cs",
    "chars": 1884,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/test/framework/TestFilter.cs",
    "chars": 1960,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/test/framework/TestGroup.cs",
    "chars": 1782,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/test/framework/TestHarness.cs",
    "chars": 10766,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/test/framework/TestMethod.cs",
    "chars": 2761,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/test/framework/TestSettings.cs",
    "chars": 3900,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/test/framework/WinJS/Formatter.cs",
    "chars": 3079,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/test/framework/WinJS/MessageEventArgs.cs",
    "chars": 584,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/test/framework/WinJS/PromiseAsyncExecution.cs",
    "chars": 2207,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  },
  {
    "path": "sdk/Javascript/test/framework/WinJS/PromiseAsyncExecutionEventArgs.cs",
    "chars": 2162,
    "preview": "// ----------------------------------------------------------------------------\n// Copyright (c) Microsoft Corporation."
  }
]

// ... and 1614 more files (download for full content)

About this extraction

This page contains the full source code of the Azure/azure-mobile-services GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1814 files (17.4 MB), approximately 4.7M tokens, and a symbol index with 7864 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!