├── .gitignore ├── .gitmodules ├── Icon.ico ├── Icon.png ├── Icon.psd ├── LICENSE ├── README.md ├── Samples ├── Basic.xsync ├── Deploy.xsync ├── GoogleDrive.xsync ├── Left │ ├── Directory │ │ ├── SubDirectory 1 │ │ │ └── PowerPoint file.pptx │ │ └── SubDirectory 2 │ │ │ ├── Publisher file.pub │ │ │ └── Zip file.zip │ ├── Excel file.xlsx │ └── Word file.docx ├── OneDrive.xsync ├── Perforce.xsync ├── Right │ ├── Directory │ │ ├── SubDirectory 2 │ │ │ ├── Publisher file.pub │ │ │ └── Zip file.zip │ │ └── SubDirectory 3 │ │ │ └── Photoshop file.psd │ └── Excel file.xlsx ├── Sftp.xsync └── Zip.zip ├── SmartSync.Common ├── Actions │ ├── Action.cs │ ├── CopyFile.cs │ ├── CreateDirectory.cs │ ├── DeleteDirectory.cs │ ├── DeleteFile.cs │ └── ReplaceFile.cs ├── App.config ├── Model │ ├── Diff.cs │ ├── Directory.cs │ └── File.cs ├── Profiles │ ├── BasicProfile.cs │ ├── Profile.cs │ └── XProfile.cs ├── Properties │ └── AssemblyInfo.cs ├── SmartSync.Common.csproj └── Storages │ ├── Basic │ ├── BasicDirectory.cs │ ├── BasicFile.cs │ └── BasicStorage.cs │ └── Zip │ ├── ZipDirectory.cs │ ├── ZipFile.cs │ ├── ZipRoot.cs │ ├── ZipStorage.cs │ └── ZipStream.cs ├── SmartSync.Desktop ├── App.config ├── App.xaml ├── App.xaml.cs ├── MainWindow.xaml ├── MainWindow.xaml.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings └── SmartSync.Desktop.csproj ├── SmartSync.Engine ├── App.config ├── Log.cs ├── ModuleInitializer.cs ├── Program.cs ├── Properties │ └── AssemblyInfo.cs ├── SmartSync.Engine.csproj └── packages.config ├── SmartSync.GoogleDrive ├── ClientSecret.json ├── GoogleDriveDirectory.cs ├── GoogleDriveFile.cs ├── GoogleDriveStorage.cs ├── GoogleDriveStream.cs ├── ModuleInitializer.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Settings.Designer.cs │ └── Settings.settings ├── SmartSync.GoogleDrive.csproj ├── app.config └── packages.config ├── SmartSync.OneDrive ├── ModuleInitializer.cs ├── OneDriveDirectory.cs ├── OneDriveFile.cs ├── OneDriveSdk.WindowsForms │ ├── FormAuthDialog.Designer.cs │ ├── FormAuthDialog.cs │ ├── FormAuthDialog.resx │ └── Web │ │ ├── FormsWebAuthenticationUi.cs │ │ ├── FormsWebDialog.cs │ │ └── FormsWebDialog.resx ├── OneDriveSdk │ ├── Authentication │ │ ├── AccountSession.cs │ │ ├── AppConfig.cs │ │ ├── AuthenticationProvider.cs │ │ ├── CredentialCache.cs │ │ ├── CredentialCacheKey.cs │ │ ├── CredentialCacheNotificationArgs.cs │ │ ├── IAuthenticationProvider.cs │ │ ├── IServiceInfoProvider.cs │ │ ├── MicrosoftAccountAuthenticationProvider.cs │ │ ├── MicrosoftAccountServiceInfo.cs │ │ ├── ServiceInfo.cs │ │ └── ServiceInfoProvider.cs │ ├── Constants.cs │ ├── Enums │ │ ├── AccountType.cs │ │ └── OneDriveErrorCode.cs │ ├── Exceptions │ │ ├── Error.cs │ │ ├── ErrorResponse.cs │ │ └── OneDriveException.cs │ ├── Helpers │ │ ├── OAuthErrorHandler.cs │ │ └── UrlHelper.cs │ ├── Models │ │ ├── CollectionPage.cs │ │ └── Generated │ │ │ ├── AsyncOperationStatus.cs │ │ │ ├── Audio.cs │ │ │ ├── ChunkedUploadSessionDescriptor.cs │ │ │ ├── Deleted.cs │ │ │ ├── DeltaResponse.cs │ │ │ ├── Drive.cs │ │ │ ├── File.cs │ │ │ ├── FileSystemInfo.cs │ │ │ ├── Folder.cs │ │ │ ├── Hashes.cs │ │ │ ├── Identity.cs │ │ │ ├── IdentitySet.cs │ │ │ ├── Image.cs │ │ │ ├── Item.cs │ │ │ ├── ItemCopyRequestBody.cs │ │ │ ├── ItemCreateLinkRequestBody.cs │ │ │ ├── ItemCreateSessionRequestBody.cs │ │ │ ├── ItemReference.cs │ │ │ ├── Location.cs │ │ │ ├── OpenWithApp.cs │ │ │ ├── OpenWithSet.cs │ │ │ ├── Permission.cs │ │ │ ├── Photo.cs │ │ │ ├── Quota.cs │ │ │ ├── SearchResult.cs │ │ │ ├── Share.cs │ │ │ ├── SharingInvitation.cs │ │ │ ├── SharingLink.cs │ │ │ ├── SpecialFolder.cs │ │ │ ├── Thumbnail.cs │ │ │ ├── ThumbnailSet.cs │ │ │ ├── UploadSession.cs │ │ │ └── Video.cs │ ├── Requests │ │ ├── AsyncMonitor.cs │ │ ├── BaseClient.cs │ │ ├── BaseRequest.cs │ │ ├── BaseRequestBuilder.cs │ │ ├── Extensions │ │ │ ├── DriveRequestBuilderExtensions.cs │ │ │ ├── IDriveRequestBuilderExtensions.cs │ │ │ ├── IItemRequestBuilderExtensions.cs │ │ │ ├── IOneDriveClientExtensions.cs │ │ │ ├── ISpecialCollectionRequestBuilderExtensions.cs │ │ │ ├── IThumbnailSetRequestBuilderExtensions.cs │ │ │ ├── ItemRequestBuilderExtensions.cs │ │ │ ├── OneDriveClientExtensions.cs │ │ │ ├── SpecialCollectionRequestBuilderExtensions.cs │ │ │ ├── ThumbnailSetExtensions.cs │ │ │ └── ThumbnailSetRequestBuilderExtensions.cs │ │ ├── Generated │ │ │ ├── ChildrenCollectionPage.cs │ │ │ ├── ChildrenCollectionRequest.cs │ │ │ ├── ChildrenCollectionRequestBuilder.cs │ │ │ ├── ChildrenCollectionResponse.cs │ │ │ ├── DriveAllPhotosCollectionPage.cs │ │ │ ├── DriveAllPhotosCollectionResponse.cs │ │ │ ├── DriveAllPhotosRequest.cs │ │ │ ├── DriveAllPhotosRequestBuilder.cs │ │ │ ├── DriveRecentCollectionPage.cs │ │ │ ├── DriveRecentCollectionResponse.cs │ │ │ ├── DriveRecentRequest.cs │ │ │ ├── DriveRecentRequestBuilder.cs │ │ │ ├── DriveRequest.cs │ │ │ ├── DriveRequestBuilder.cs │ │ │ ├── DriveSharedWithMeCollectionPage.cs │ │ │ ├── DriveSharedWithMeCollectionResponse.cs │ │ │ ├── DriveSharedWithMeRequest.cs │ │ │ ├── DriveSharedWithMeRequestBuilder.cs │ │ │ ├── DrivesCollectionPage.cs │ │ │ ├── DrivesCollectionRequest.cs │ │ │ ├── DrivesCollectionRequestBuilder.cs │ │ │ ├── DrivesCollectionResponse.cs │ │ │ ├── IChildrenCollectionPage.cs │ │ │ ├── IChildrenCollectionRequest.cs │ │ │ ├── IChildrenCollectionRequestBuilder.cs │ │ │ ├── IDriveAllPhotosCollectionPage.cs │ │ │ ├── IDriveAllPhotosRequest.cs │ │ │ ├── IDriveAllPhotosRequestBuilder.cs │ │ │ ├── IDriveRecentCollectionPage.cs │ │ │ ├── IDriveRecentRequest.cs │ │ │ ├── IDriveRecentRequestBuilder.cs │ │ │ ├── IDriveRequest.cs │ │ │ ├── IDriveRequestBuilder.cs │ │ │ ├── IDriveSharedWithMeCollectionPage.cs │ │ │ ├── IDriveSharedWithMeRequest.cs │ │ │ ├── IDriveSharedWithMeRequestBuilder.cs │ │ │ ├── IDrivesCollectionPage.cs │ │ │ ├── IDrivesCollectionRequest.cs │ │ │ ├── IDrivesCollectionRequestBuilder.cs │ │ │ ├── IItemAllPhotosCollectionPage.cs │ │ │ ├── IItemAllPhotosRequest.cs │ │ │ ├── IItemAllPhotosRequestBuilder.cs │ │ │ ├── IItemContentRequest.cs │ │ │ ├── IItemContentRequestBuilder.cs │ │ │ ├── IItemCopyAsyncMonitor.cs │ │ │ ├── IItemCopyRequest.cs │ │ │ ├── IItemCopyRequestBuilder.cs │ │ │ ├── IItemCreateLinkRequest.cs │ │ │ ├── IItemCreateLinkRequestBuilder.cs │ │ │ ├── IItemCreateSessionRequest.cs │ │ │ ├── IItemCreateSessionRequestBuilder.cs │ │ │ ├── IItemDeltaCollectionPage.cs │ │ │ ├── IItemDeltaRequest.cs │ │ │ ├── IItemDeltaRequestBuilder.cs │ │ │ ├── IItemRequest.cs │ │ │ ├── IItemRequestBuilder.cs │ │ │ ├── IItemSearchCollectionPage.cs │ │ │ ├── IItemSearchRequest.cs │ │ │ ├── IItemSearchRequestBuilder.cs │ │ │ ├── IItemsCollectionPage.cs │ │ │ ├── IItemsCollectionRequest.cs │ │ │ ├── IItemsCollectionRequestBuilder.cs │ │ │ ├── IOneDriveClient.cs │ │ │ ├── IPermissionRequest.cs │ │ │ ├── IPermissionRequestBuilder.cs │ │ │ ├── IPermissionsCollectionPage.cs │ │ │ ├── IPermissionsCollectionRequest.cs │ │ │ ├── IPermissionsCollectionRequestBuilder.cs │ │ │ ├── IShareRequest.cs │ │ │ ├── IShareRequestBuilder.cs │ │ │ ├── ISharedCollectionPage.cs │ │ │ ├── ISharedCollectionRequest.cs │ │ │ ├── ISharedCollectionRequestBuilder.cs │ │ │ ├── ISharesCollectionPage.cs │ │ │ ├── ISharesCollectionRequest.cs │ │ │ ├── ISharesCollectionRequestBuilder.cs │ │ │ ├── ISpecialCollectionPage.cs │ │ │ ├── ISpecialCollectionRequest.cs │ │ │ ├── ISpecialCollectionRequestBuilder.cs │ │ │ ├── IThumbnailContentRequest.cs │ │ │ ├── IThumbnailContentRequestBuilder.cs │ │ │ ├── IThumbnailRequest.cs │ │ │ ├── IThumbnailRequestBuilder.cs │ │ │ ├── IThumbnailSetRequest.cs │ │ │ ├── IThumbnailSetRequestBuilder.cs │ │ │ ├── IThumbnailsCollectionPage.cs │ │ │ ├── IThumbnailsCollectionRequest.cs │ │ │ ├── IThumbnailsCollectionRequestBuilder.cs │ │ │ ├── IVersionsCollectionPage.cs │ │ │ ├── IVersionsCollectionRequest.cs │ │ │ ├── IVersionsCollectionRequestBuilder.cs │ │ │ ├── ItemAllPhotosCollectionPage.cs │ │ │ ├── ItemAllPhotosCollectionResponse.cs │ │ │ ├── ItemAllPhotosRequest.cs │ │ │ ├── ItemAllPhotosRequestBuilder.cs │ │ │ ├── ItemContentRequest.cs │ │ │ ├── ItemContentRequestBuilder.cs │ │ │ ├── ItemCopyAsyncMonitor.cs │ │ │ ├── ItemCopyRequest.cs │ │ │ ├── ItemCopyRequestBuilder.cs │ │ │ ├── ItemCreateLinkRequest.cs │ │ │ ├── ItemCreateLinkRequestBuilder.cs │ │ │ ├── ItemCreateSessionRequest.cs │ │ │ ├── ItemCreateSessionRequestBuilder.cs │ │ │ ├── ItemDeltaCollectionPage.cs │ │ │ ├── ItemDeltaCollectionResponse.cs │ │ │ ├── ItemDeltaRequest.cs │ │ │ ├── ItemDeltaRequestBuilder.cs │ │ │ ├── ItemRequest.cs │ │ │ ├── ItemRequestBuilder.cs │ │ │ ├── ItemSearchCollectionPage.cs │ │ │ ├── ItemSearchCollectionResponse.cs │ │ │ ├── ItemSearchRequest.cs │ │ │ ├── ItemSearchRequestBuilder.cs │ │ │ ├── ItemsCollectionPage.cs │ │ │ ├── ItemsCollectionRequest.cs │ │ │ ├── ItemsCollectionRequestBuilder.cs │ │ │ ├── ItemsCollectionResponse.cs │ │ │ ├── OneDriveClient.cs │ │ │ ├── PermissionRequest.cs │ │ │ ├── PermissionRequestBuilder.cs │ │ │ ├── PermissionsCollectionPage.cs │ │ │ ├── PermissionsCollectionRequest.cs │ │ │ ├── PermissionsCollectionRequestBuilder.cs │ │ │ ├── PermissionsCollectionResponse.cs │ │ │ ├── ShareRequest.cs │ │ │ ├── ShareRequestBuilder.cs │ │ │ ├── SharedCollectionPage.cs │ │ │ ├── SharedCollectionRequest.cs │ │ │ ├── SharedCollectionRequestBuilder.cs │ │ │ ├── SharedCollectionResponse.cs │ │ │ ├── SharesCollectionPage.cs │ │ │ ├── SharesCollectionRequest.cs │ │ │ ├── SharesCollectionRequestBuilder.cs │ │ │ ├── SharesCollectionResponse.cs │ │ │ ├── SpecialCollectionPage.cs │ │ │ ├── SpecialCollectionRequest.cs │ │ │ ├── SpecialCollectionRequestBuilder.cs │ │ │ ├── SpecialCollectionResponse.cs │ │ │ ├── ThumbnailContentRequest.cs │ │ │ ├── ThumbnailContentRequestBuilder.cs │ │ │ ├── ThumbnailRequest.cs │ │ │ ├── ThumbnailRequestBuilder.cs │ │ │ ├── ThumbnailSetRequest.cs │ │ │ ├── ThumbnailSetRequestBuilder.cs │ │ │ ├── ThumbnailsCollectionPage.cs │ │ │ ├── ThumbnailsCollectionRequest.cs │ │ │ ├── ThumbnailsCollectionRequestBuilder.cs │ │ │ ├── ThumbnailsCollectionResponse.cs │ │ │ ├── VersionsCollectionPage.cs │ │ │ ├── VersionsCollectionRequest.cs │ │ │ ├── VersionsCollectionRequestBuilder.cs │ │ │ └── VersionsCollectionResponse.cs │ │ ├── HttpProvider.cs │ │ ├── IAsyncMonitor.cs │ │ ├── IBaseClient.cs │ │ ├── IBaseRequest.cs │ │ ├── ICollectionPage.cs │ │ ├── IHttpProvider.cs │ │ └── Options │ │ │ ├── HeaderOption.cs │ │ │ ├── Option.cs │ │ │ └── QueryOption.cs │ ├── Serialization │ │ ├── ISerializer.cs │ │ ├── InterfaceConverter.cs │ │ └── Serializer.cs │ └── Web │ │ └── IWebAuthenticationUi.cs ├── OneDriveStorage.cs ├── OneDriveStream.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Settings.Designer.cs │ └── Settings.settings ├── SmartSync.OneDrive.csproj ├── app.config └── packages.config ├── SmartSync.Sftp ├── ModuleInitializer.cs ├── Properties │ └── AssemblyInfo.cs ├── SftpDirectory.cs ├── SftpFile.cs ├── SftpStorage.cs ├── SmartSync.Sftp.csproj └── packages.config └── SmartSync.sln /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "[External]/Bedrock"] 2 | path = [External]/Bedrock 3 | url = https://github.com/jbatonnet/bedrock 4 | -------------------------------------------------------------------------------- /Icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jbatonnet/SmartSync/1890f67f4e4fa5cb9251d996e94f6058be920126/Icon.ico -------------------------------------------------------------------------------- /Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jbatonnet/SmartSync/1890f67f4e4fa5cb9251d996e94f6058be920126/Icon.png -------------------------------------------------------------------------------- /Icon.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jbatonnet/SmartSync/1890f67f4e4fa5cb9251d996e94f6058be920126/Icon.psd -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Julien Batonnet 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SmartSync 2 | 3 | SmartSync is a small tool to easily synchronize, backup or deploy several files. It aims to provide a simple and elegant way to synchronize things no matter what underlying storage type is used (local storage, remote storage, Zip archive, ...). 4 | 5 | SmartSync uses synchronization profiles to describe the way data are meant to be synchronized, featuring several diff and sync modes and basic exclusion filters. Here are the storage types supported at this time : 6 | - Local storage 7 | - Zip archive on any other supported storage 8 | - Remote SFTP storage over SSH 9 | - Remote Google Drive and OneDrive storage 10 | 11 |

12 | 13 |

14 | 15 | ## Structure 16 | 17 | - **SmartSync.Common** : The core project exposing a storage description model and basic diff and synchronization methods. 18 | - **SmartSync.Engine** : A console application used to load a synchronization profile and run it. 19 | 20 | ## Plugins 21 | 22 | - **SmartSync.Sftp** : A plugin to allow SFTP storage connection and manipulation. 23 | - **SmartSync.GoogleDrive** : A plugin to allow Google Drive storage connection and manipulation. 24 | - **SmartSync.OneDrive** : A plugin to allow OneDrive storage connection and manipulation. 25 | - **FlowTomator.SmartSync** : Available in my [FlowTomator](https://github.com/jbatonnet/flowtomator/tree/master/FlowTomator.SmartSync) repository, this plugin allows to atomate a SmartSync profiles from a flow. 26 | 27 |

28 | 29 |

30 | 31 | ## Development 32 | 33 | SmartSync is able to load and run plugins to support more storage types, I will add more builtin ones as I need them. 34 | 35 | Here are some features to be done : 36 | - Better handling of file copies 37 | - An elegant visual software to edit and visually run profiles 38 | - Support for more complex exclusion/inclusion filters 39 | 40 | ## References 41 | 42 | To provide custom storages, I use the following libraries, available as NuGet packages : 43 | - SSH.Net (https://sshnet.codeplex.com) 44 | - Google Drive (https://developers.google.com/drive/web/quickstart/dotnet) 45 | - OneDrive (https://github.com/onedrive/onedrive-sdk-csharp) 46 | 47 | These libraries are bundled in plugins assembly during compilation to avoid DLL versioning issues and to improve distribution simplicity. -------------------------------------------------------------------------------- /Samples/Basic.xsync: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Dates 5 | Clone 6 | 7 | 8 | ..\Samples\Left 9 | 10 | 11 | 12 | ..\Samples 13 | 14 | /Zip.zip 15 | 16 | -------------------------------------------------------------------------------- /Samples/Deploy.xsync: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Dates 5 | Clone 6 | 7 | **.zip 8 | **.config 9 | **.vshost.* 10 | 11 | 12 | 13 | ..\Binaries 14 | 15 | 16 | 17 | ..\Binaries 18 | 19 | /SmartSync.zip 20 | 21 | -------------------------------------------------------------------------------- /Samples/GoogleDrive.xsync: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Dates 5 | Clone 6 | 7 | 8 | 9 | 10 | 11 | ..\Samples\Left 12 | 13 | 14 | 15 | /Backups/Test 16 | False 17 | 18 | /Right.zip 19 | 20 | -------------------------------------------------------------------------------- /Samples/Left/Directory/SubDirectory 1/PowerPoint file.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jbatonnet/SmartSync/1890f67f4e4fa5cb9251d996e94f6058be920126/Samples/Left/Directory/SubDirectory 1/PowerPoint file.pptx -------------------------------------------------------------------------------- /Samples/Left/Directory/SubDirectory 2/Publisher file.pub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jbatonnet/SmartSync/1890f67f4e4fa5cb9251d996e94f6058be920126/Samples/Left/Directory/SubDirectory 2/Publisher file.pub -------------------------------------------------------------------------------- /Samples/Left/Directory/SubDirectory 2/Zip file.zip: -------------------------------------------------------------------------------- 1 | PK -------------------------------------------------------------------------------- /Samples/Left/Excel file.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jbatonnet/SmartSync/1890f67f4e4fa5cb9251d996e94f6058be920126/Samples/Left/Excel file.xlsx -------------------------------------------------------------------------------- /Samples/Left/Word file.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jbatonnet/SmartSync/1890f67f4e4fa5cb9251d996e94f6058be920126/Samples/Left/Word file.docx -------------------------------------------------------------------------------- /Samples/OneDrive.xsync: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Dates 5 | Clone 6 | 7 | 8 | 9 | 10 | 11 | ..\Samples\Left 12 | 13 | 14 | /Backups/Test 15 | 16 | -------------------------------------------------------------------------------- /Samples/Perforce.xsync: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Dates 5 | Clone 6 | 7 | 8 | 9 | 10 | 11 | ..\Samples\Left 12 | 13 | 14 | ..\Samples\Right 15 | 16 | -------------------------------------------------------------------------------- /Samples/Right/Directory/SubDirectory 2/Publisher file.pub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jbatonnet/SmartSync/1890f67f4e4fa5cb9251d996e94f6058be920126/Samples/Right/Directory/SubDirectory 2/Publisher file.pub -------------------------------------------------------------------------------- /Samples/Right/Directory/SubDirectory 2/Zip file.zip: -------------------------------------------------------------------------------- 1 | PK -------------------------------------------------------------------------------- /Samples/Right/Directory/SubDirectory 3/Photoshop file.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jbatonnet/SmartSync/1890f67f4e4fa5cb9251d996e94f6058be920126/Samples/Right/Directory/SubDirectory 3/Photoshop file.psd -------------------------------------------------------------------------------- /Samples/Right/Excel file.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jbatonnet/SmartSync/1890f67f4e4fa5cb9251d996e94f6058be920126/Samples/Right/Excel file.xlsx -------------------------------------------------------------------------------- /Samples/Sftp.xsync: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Dates 5 | Clone 6 | 7 | 8 | 9 | 10 | 11 | ..\Samples\Left 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Samples/Zip.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jbatonnet/SmartSync/1890f67f4e4fa5cb9251d996e94f6058be920126/Samples/Zip.zip -------------------------------------------------------------------------------- /SmartSync.Common/Actions/Action.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace SmartSync.Common 8 | { 9 | public abstract class Action 10 | { 11 | public abstract void Process(); 12 | } 13 | 14 | public static class ActionExtensions 15 | { 16 | public static IEnumerable Sort(this IEnumerable me) 17 | { 18 | Action[] actions = me.ToArray(); 19 | 20 | DeleteFileAction[] deleteFileActions = actions.OfType().ToArray(); 21 | DeleteDirectoryAction[] deleteDirectoryActions = actions.OfType().ToArray(); 22 | Action[] otherActions = actions.Except(deleteFileActions).Except(deleteDirectoryActions).ToArray(); 23 | 24 | return otherActions.Concat(deleteFileActions).Concat(deleteDirectoryActions.OrderByDescending(a => a.Directory.Path)); 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /SmartSync.Common/Actions/CopyFile.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | using Bedrock.Common; 9 | 10 | namespace SmartSync.Common 11 | { 12 | using File = Bedrock.Common.File; 13 | using Directory = Bedrock.Common.Directory; 14 | 15 | public class CopyFileAction : Action 16 | { 17 | public File Source { get; private set; } 18 | public Storage DestinationStorage { get; private set; } 19 | public string DestinationPath { get; private set; } 20 | public string DestinationName { get; private set; } 21 | 22 | public CopyFileAction(File source, Storage destinationStorage, string destinationPath, string destinationName) 23 | { 24 | Source = source; 25 | DestinationStorage = destinationStorage; 26 | DestinationPath = destinationPath; 27 | DestinationName = destinationName; 28 | } 29 | 30 | public override void Process() 31 | { 32 | Directory destinationDirectory = DestinationStorage.GetDirectory(DestinationPath); 33 | File destination = destinationDirectory.CreateFile(DestinationName); 34 | 35 | using (Stream sourceStream = Source.Open(FileAccess.Read)) 36 | using (Stream destinationStream = destination.Open(FileAccess.Write)) 37 | sourceStream.CopyTo(destinationStream); 38 | 39 | destination.Date = Source.Date; 40 | } 41 | 42 | public override string ToString() 43 | { 44 | string destinationPath = DestinationPath != "/" ? DestinationPath : ""; 45 | return "Copy " + destinationPath + "/" + DestinationName; 46 | } 47 | } 48 | } -------------------------------------------------------------------------------- /SmartSync.Common/Actions/CreateDirectory.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | using Bedrock.Common; 8 | 9 | namespace SmartSync.Common 10 | { 11 | public class CreateDirectoryAction : Action 12 | { 13 | public Storage Storage { get; private set; } 14 | public string Path { get; private set; } 15 | public string Name { get; private set; } 16 | 17 | public CreateDirectoryAction(Storage storage, string path, string name) 18 | { 19 | Storage = storage; 20 | Path = path; 21 | Name = name; 22 | } 23 | 24 | public override void Process() 25 | { 26 | Directory parent = Storage.GetDirectory(Path); 27 | parent.CreateDirectory(Name); 28 | } 29 | 30 | public override string ToString() 31 | { 32 | return "Create directory " + Path.TrimEnd('/') + "/" + Name; 33 | } 34 | } 35 | } -------------------------------------------------------------------------------- /SmartSync.Common/Actions/DeleteDirectory.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | using Bedrock.Common; 8 | 9 | namespace SmartSync.Common 10 | { 11 | public class DeleteDirectoryAction : Action 12 | { 13 | public Directory Directory { get; private set; } 14 | 15 | public DeleteDirectoryAction(Directory directory) 16 | { 17 | Directory = directory; 18 | } 19 | 20 | public override void Process() 21 | { 22 | Directory.Parent.DeleteDirectory(Directory); 23 | } 24 | 25 | public override string ToString() 26 | { 27 | return "Delete directory " + Directory; 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /SmartSync.Common/Actions/DeleteFile.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | using Bedrock.Common; 8 | 9 | namespace SmartSync.Common 10 | { 11 | public class DeleteFileAction : Action 12 | { 13 | public File File { get; private set; } 14 | 15 | public DeleteFileAction(File file) 16 | { 17 | File = file; 18 | } 19 | 20 | public override void Process() 21 | { 22 | File.Parent.DeleteFile(File); 23 | } 24 | 25 | public override string ToString() 26 | { 27 | return "Delete file " + File; 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /SmartSync.Common/Actions/ReplaceFile.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace SmartSync.Common 9 | { 10 | using File = Bedrock.Common.File; 11 | 12 | public class ReplaceFileAction : Action 13 | { 14 | public File Source { get; private set; } 15 | public File Destination { get; private set; } 16 | 17 | public ReplaceFileAction(File source, File destination) 18 | { 19 | Source = source; 20 | Destination = destination; 21 | } 22 | 23 | public override void Process() 24 | { 25 | using (Stream sourceStream = Source.Open(FileAccess.Read)) 26 | using (Stream destinationStream = Destination.Open(FileAccess.Write)) 27 | { 28 | destinationStream.SetLength(sourceStream.Length); 29 | sourceStream.CopyTo(destinationStream); 30 | } 31 | 32 | Destination.Date = Source.Date; 33 | } 34 | 35 | public override string ToString() 36 | { 37 | return "Replace file " + Destination; 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /SmartSync.Common/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /SmartSync.Common/Model/Diff.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | using Bedrock.Common; 8 | 9 | namespace SmartSync.Common 10 | { 11 | public interface Diff 12 | { 13 | Storage LeftStorage { get; } 14 | Entry Left { get; } 15 | 16 | Storage RightStorage { get; } 17 | Entry Right { get; } 18 | 19 | Action GetAction(SyncType syncType); 20 | } 21 | } -------------------------------------------------------------------------------- /SmartSync.Common/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("SmartSync.Common")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("SmartSync.Common")] 13 | [assembly: AssemblyCopyright("Copyright © 2015")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("66fc3ca1-e596-4c66-a8ea-46169662b0ea")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /SmartSync.Common/Storages/Basic/BasicStorage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | using Bedrock.Common; 9 | 10 | namespace SmartSync.Common 11 | { 12 | using Directory = Bedrock.Common.Directory; 13 | 14 | [Serializable] 15 | public class BasicStorage : Storage 16 | { 17 | public DirectoryInfo Path { get; set; } 18 | public override Directory Root 19 | { 20 | get 21 | { 22 | return new BasicDirectory(this, Path); 23 | } 24 | } 25 | public bool UseCache { get; set; } = false; 26 | 27 | public BasicStorage() { } 28 | public BasicStorage(DirectoryInfo path) 29 | { 30 | Path = path; 31 | } 32 | 33 | /*public override IEnumerable GetAllDirectories(string[] exclusions = null) 34 | { 35 | int length = Path.FullName.Length; 36 | 37 | IEnumerable directories = Path.EnumerateDirectories("*", SearchOption.AllDirectories) 38 | .AsParallel() 39 | .Where(d => exclusions != null && exclusions.Any(e => MatchPattern(d.FullName.Substring(length).Replace('\\', '/'), e))); 40 | 41 | yield return Root; 42 | 43 | foreach (DirectoryInfo directory in directories) 44 | yield return new BasicDirectory(this, directory); 45 | }*/ 46 | /*public override IEnumerable GetAllFiles(string[] exclusions = null) 47 | { 48 | int length = Path.FullName.Length; 49 | 50 | return Path.EnumerateFiles("*", SearchOption.AllDirectories) 51 | .AsParallel() 52 | .Where(f => exclusions != null && exclusions.Any(e => MatchPattern(f.FullName.Substring(length).Replace('\\', '/'), e))) 53 | .Select(f => new BasicFile(this, f)); 54 | }*/ 55 | 56 | public override string ToString() 57 | { 58 | return string.Format("Basic {{ Path: {0} }}", Path.FullName); 59 | } 60 | } 61 | } -------------------------------------------------------------------------------- /SmartSync.Desktop/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /SmartSync.Desktop/App.xaml: -------------------------------------------------------------------------------- 1 |  6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /SmartSync.Desktop/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Configuration; 4 | using System.Data; 5 | using System.Linq; 6 | using System.Threading.Tasks; 7 | using System.Windows; 8 | 9 | namespace SmartSync.Desktop 10 | { 11 | /// 12 | /// Interaction logic for App.xaml 13 | /// 14 | public partial class App : Application 15 | { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /SmartSync.Desktop/MainWindow.xaml: -------------------------------------------------------------------------------- 1 |  9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /SmartSync.Desktop/MainWindow.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Windows; 7 | using System.Windows.Controls; 8 | using System.Windows.Data; 9 | using System.Windows.Documents; 10 | using System.Windows.Input; 11 | using System.Windows.Media; 12 | using System.Windows.Media.Imaging; 13 | using System.Windows.Navigation; 14 | using System.Windows.Shapes; 15 | 16 | namespace SmartSync.Desktop 17 | { 18 | /// 19 | /// Interaction logic for MainWindow.xaml 20 | /// 21 | public partial class MainWindow : Window 22 | { 23 | public MainWindow() 24 | { 25 | InitializeComponent(); 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /SmartSync.Desktop/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace SmartSync.Desktop.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /SmartSync.Desktop/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /SmartSync.Engine/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /SmartSync.Engine/ModuleInitializer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Diagnostics; 3 | using System.IO; 4 | using System.Reflection; 5 | 6 | namespace SmartSync.Engine 7 | { 8 | internal static class ModuleInitializer 9 | { 10 | internal static void Run() 11 | { 12 | //AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve; 13 | //DetachFromExe(); 14 | } 15 | 16 | private static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args) 17 | { 18 | return null; 19 | } 20 | 21 | private static void DetachFromExe() 22 | { 23 | if (Debugger.IsAttached) 24 | return; 25 | 26 | string[] args = Environment.GetCommandLineArgs(); 27 | if (args.Length > 0 && args[0] == "-") 28 | return; 29 | 30 | string sourcePath = Assembly.GetExecutingAssembly().Location; 31 | string destinationPath = Path.GetTempFileName(); 32 | 33 | File.Copy(sourcePath, destinationPath, true); 34 | Process.Start(destinationPath, "- " + string.Join(" ", args)); 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /SmartSync.Engine/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("SmartSync.Engine")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("SmartSync.Engine")] 13 | [assembly: AssemblyCopyright("Copyright © 2015")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("ec954b34-0715-4ceb-9730-b949a820a13a")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /SmartSync.Engine/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /SmartSync.GoogleDrive/ClientSecret.json: -------------------------------------------------------------------------------- 1 | {"installed":{"client_id":"979347430506-dig78f5q1dk3qtgshrf8vf0fkccivl48.apps.googleusercontent.com","auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://accounts.google.com/o/oauth2/token","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs","client_secret":"yFWgeVt2l655r3fdabdEGJrj","redirect_uris":["urn:ietf:wg:oauth:2.0:oob","http://localhost"]}} -------------------------------------------------------------------------------- /SmartSync.GoogleDrive/ModuleInitializer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Linq; 4 | using System.Reflection; 5 | 6 | namespace SmartSync.GoogleDrive 7 | { 8 | internal static class ModuleInitializer 9 | { 10 | private const string resourcePrefix = "SmartSync.GoogleDrive.Extern"; 11 | private static string[] assemblyNames = 12 | { 13 | "BouncyCastle.Crypto.dll", 14 | "Google.Apis.Auth.dll", 15 | "Google.Apis.Auth.PlatformServices.dll", 16 | "Google.Apis.Core.dll", 17 | "Google.Apis.dll", 18 | "Google.Apis.Drive.v2.dll", 19 | "Google.Apis.PlatformServices.dll", 20 | "log4net.dll", 21 | "Microsoft.Threading.Tasks.dll", 22 | "Microsoft.Threading.Tasks.Extensions.dll", 23 | "Microsoft.Threading.Tasks.Extensions.Desktop.dll", 24 | "Newtonsoft.Json.dll", 25 | "System.Net.Http.Extensions.dll", 26 | "System.Net.Http.Primitives.dll", 27 | "Zlib.Portable.dll", 28 | }; 29 | 30 | internal static void Run() 31 | { 32 | foreach (string assemblyName in assemblyNames) 33 | { 34 | using (Stream assemblyStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourcePrefix + "." + assemblyName)) 35 | { 36 | // Read assembly 37 | byte[] assemblyBytes = new byte[assemblyStream.Length]; 38 | assemblyStream.Read(assemblyBytes, 0, assemblyBytes.Length); 39 | 40 | // Load assembly 41 | Assembly.Load(assemblyBytes); 42 | } 43 | } 44 | 45 | AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve; 46 | } 47 | 48 | private static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args) 49 | { 50 | Assembly assembly = null; 51 | 52 | // Check already loaded assemblies 53 | assembly = assembly ?? AppDomain.CurrentDomain.GetAssemblies().FirstOrDefault(a => a.FullName == args.Name); 54 | 55 | // Try to load full assembly name 56 | try 57 | { 58 | assembly = assembly ?? Assembly.Load(new AssemblyName(args.Name)); 59 | } 60 | catch { } 61 | 62 | return assembly; 63 | } 64 | } 65 | } -------------------------------------------------------------------------------- /SmartSync.GoogleDrive/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("SmartSync.GoogleDrive")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("SmartSync.GoogleDrive")] 13 | [assembly: AssemblyCopyright("Copyright © 2015")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("bdd48d2c-e69a-4f60-89b6-23cab63f69a5")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /SmartSync.GoogleDrive/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace SmartSync.GoogleDrive.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | 26 | [global::System.Configuration.UserScopedSettingAttribute()] 27 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 28 | [global::System.Configuration.DefaultSettingValueAttribute("")] 29 | public string User { 30 | get { 31 | return ((string)(this["User"])); 32 | } 33 | set { 34 | this["User"] = value; 35 | } 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /SmartSync.GoogleDrive/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /SmartSync.GoogleDrive/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /SmartSync.GoogleDrive/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /SmartSync.OneDrive/ModuleInitializer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Linq; 4 | using System.Reflection; 5 | 6 | namespace SmartSync.OneDrive 7 | { 8 | internal static class ModuleInitializer 9 | { 10 | private const string resourcePrefix = "SmartSync.OneDrive.Extern"; 11 | private static string[] assemblyNames = 12 | { 13 | "Newtonsoft.Json.dll", 14 | }; 15 | 16 | internal static void Run() 17 | { 18 | foreach (string assemblyName in assemblyNames) 19 | { 20 | using (Stream assemblyStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourcePrefix + "." + assemblyName)) 21 | { 22 | // Read assembly 23 | byte[] assemblyBytes = new byte[assemblyStream.Length]; 24 | assemblyStream.Read(assemblyBytes, 0, assemblyBytes.Length); 25 | 26 | // Load assembly 27 | Assembly.Load(assemblyBytes); 28 | } 29 | } 30 | 31 | AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve; 32 | } 33 | 34 | private static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args) 35 | { 36 | Assembly assembly = null; 37 | 38 | // Check already loaded assemblies 39 | assembly = assembly ?? AppDomain.CurrentDomain.GetAssemblies().FirstOrDefault(a => a.FullName == args.Name); 40 | 41 | // Try to load full assembly name 42 | try 43 | { 44 | assembly = assembly ?? Assembly.Load(new AssemblyName(args.Name)); 45 | } 46 | catch { } 47 | 48 | return assembly; 49 | } 50 | } 51 | } -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk.WindowsForms/FormAuthDialog.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace OneDriveSdk.WindowsForms 2 | { 3 | partial class FormAuthDialog 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.webBrowser = new System.Windows.Forms.WebBrowser(); 32 | this.SuspendLayout(); 33 | // 34 | // webBrowser 35 | // 36 | this.webBrowser.Dock = System.Windows.Forms.DockStyle.Fill; 37 | this.webBrowser.Location = new System.Drawing.Point(0, 0); 38 | this.webBrowser.MinimumSize = new System.Drawing.Size(20, 20); 39 | this.webBrowser.Name = "webBrowser"; 40 | this.webBrowser.Size = new System.Drawing.Size(584, 561); 41 | this.webBrowser.TabIndex = 1; 42 | 43 | // 44 | // FormAuthDialog 45 | // 46 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 47 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 48 | this.ClientSize = new System.Drawing.Size(584, 561); 49 | this.Controls.Add(this.webBrowser); 50 | this.Name = "FormAuthDialog"; 51 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; 52 | this.Text = "FormAuthControl"; 53 | this.ResumeLayout(false); 54 | 55 | } 56 | 57 | #endregion 58 | 59 | private System.Windows.Forms.WebBrowser webBrowser; 60 | 61 | } 62 | } -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk.WindowsForms/FormAuthDialog.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // ------------------------------------------------------------------------------ 22 | 23 | namespace OneDriveSdk.WindowsForms 24 | { 25 | using System; 26 | using System.Windows.Forms; 27 | 28 | public partial class FormAuthDialog : Form 29 | { 30 | public FormAuthDialog() 31 | { 32 | InitializeComponent(); 33 | } 34 | 35 | public WebBrowser WebBrowser 36 | { 37 | get { return this.webBrowser; } 38 | } 39 | 40 | public string Authenticate(Uri requestUri, Uri callbackUri) 41 | { 42 | this.WebBrowser.Navigate(requestUri); 43 | return null; 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Authentication/AppConfig.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // ------------------------------------------------------------------------------ 22 | 23 | namespace Microsoft.OneDrive.Sdk 24 | { 25 | public class AppConfig 26 | { 27 | /// 28 | /// Gets the application ID for Microsoft Account authentication. 29 | /// 30 | public string MicrosoftAccountAppId { get; set; } 31 | 32 | /// 33 | /// Gets the client secret for Microsoft Account authentication. 34 | /// 35 | public string MicrosoftAccountClientSecret { get; set; } 36 | 37 | /// 38 | /// Gets the application return URL for Microsoft Account authentication. 39 | /// 40 | public string MicrosoftAccountReturnUrl { get; set; } 41 | 42 | /// 43 | /// Gets the requested scopes for Microsoft Account authentication. 44 | /// 45 | public string[] MicrosoftAccountScopes { get; set; } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Authentication/CredentialCacheKey.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // ------------------------------------------------------------------------------ 22 | 23 | namespace Microsoft.OneDrive.Sdk 24 | { 25 | using System; 26 | 27 | public class CredentialCacheKey 28 | { 29 | private const string Delimiter = ";"; 30 | 31 | public AccountType AccountType { get; set; } 32 | 33 | public string ClientId { get; set; } 34 | 35 | public string UserId { get; set; } 36 | 37 | public override bool Equals(object obj) 38 | { 39 | var credentialCacheKey = obj as CredentialCacheKey; 40 | 41 | return credentialCacheKey != null && credentialCacheKey.GetHashCode() == this.GetHashCode(); 42 | } 43 | 44 | public override int GetHashCode() 45 | { 46 | return 47 | (string.Format( 48 | "{1}{0}{2}{0}{3}", 49 | CredentialCacheKey.Delimiter, 50 | this.AccountType, 51 | this.ClientId, 52 | this.UserId).ToLowerInvariant()).GetHashCode(); 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Authentication/CredentialCacheNotificationArgs.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // ------------------------------------------------------------------------------ 22 | 23 | namespace Microsoft.OneDrive.Sdk 24 | { 25 | public class CredentialCacheNotificationArgs 26 | { 27 | public CredentialCache CredentialCache { get; set; } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Authentication/IServiceInfoProvider.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // ------------------------------------------------------------------------------ 22 | 23 | namespace Microsoft.OneDrive.Sdk 24 | { 25 | using System.Threading.Tasks; 26 | 27 | public interface IServiceInfoProvider 28 | { 29 | IAuthenticationProvider AuthenticationProvider { get; } 30 | 31 | /// 32 | /// Generates the for the current application configuration. 33 | /// 34 | /// The for the current application. 35 | /// The cache instance for storing user credentials. 36 | /// The for sending HTTP requests. 37 | /// The for the current session. 38 | Task GetServiceInfo( 39 | AppConfig appConfig, 40 | CredentialCache credentialCache, 41 | IHttpProvider httpProvider); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Authentication/MicrosoftAccountServiceInfo.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // ------------------------------------------------------------------------------ 22 | 23 | namespace Microsoft.OneDrive.Sdk 24 | { 25 | public class MicrosoftAccountServiceInfo : ServiceInfo 26 | { 27 | public MicrosoftAccountServiceInfo() 28 | { 29 | this.AccountType = AccountType.MicrosoftAccount; 30 | this.AuthenticationServiceUrl = Constants.Authentication.MicrosoftAccountAuthenticationServiceUrl; 31 | this.BaseUrl = Constants.Authentication.OneDriveConsumerBaseUrl; 32 | this.SignOutUrl = Constants.Authentication.MicrosoftAccountSignOutUrl; 33 | this.TokenServiceUrl = Constants.Authentication.MicrosoftAccountTokenServiceUrl; 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Enums/AccountType.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // ------------------------------------------------------------------------------ 22 | 23 | namespace Microsoft.OneDrive.Sdk 24 | { 25 | public enum AccountType 26 | { 27 | None = 0, 28 | 29 | ActiveDirectory = 1, 30 | 31 | MicrosoftAccount = 2, 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Enums/OneDriveErrorCode.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // ------------------------------------------------------------------------------ 22 | 23 | namespace Microsoft.OneDrive.Sdk 24 | { 25 | public enum OneDriveErrorCode 26 | { 27 | AccessDenied, 28 | ActivityLimitReached, 29 | AuthenticationCancelled, 30 | AuthenticationFailure, 31 | GeneralException, 32 | InvalidRange, 33 | InvalidRequest, 34 | ItemNotFound, 35 | MalwareDetected, 36 | NameAlreadyExists, 37 | NotAllowed, 38 | NotSupported, 39 | ResourceModified, 40 | ResyncRequired, 41 | ServiceNotAvailable, 42 | TooManyRedirects, 43 | QuotaLimitReached, 44 | Unauthenticated, 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Exceptions/Error.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // ------------------------------------------------------------------------------ 22 | 23 | namespace Microsoft.OneDrive.Sdk 24 | { 25 | using Newtonsoft.Json; 26 | using System.Collections.Generic; 27 | using System.Net; 28 | using System.Runtime.Serialization; 29 | 30 | [DataContract] 31 | public class Error 32 | { 33 | [DataMember(Name = "code", IsRequired = false, EmitDefaultValue = false)] 34 | public string Code { get; set; } 35 | 36 | [DataMember(Name = "innererror", IsRequired = false, EmitDefaultValue = false)] 37 | public Error InnerError { get; set; } 38 | 39 | [DataMember(Name = "message", IsRequired = false, EmitDefaultValue = false)] 40 | public string Message { get; set; } 41 | 42 | [JsonExtensionData] 43 | public IDictionary AdditionalData { get; set; } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Exceptions/ErrorResponse.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // ------------------------------------------------------------------------------ 22 | 23 | namespace Microsoft.OneDrive.Sdk 24 | { 25 | using System.Collections.Generic; 26 | using System.Runtime.Serialization; 27 | using Newtonsoft.Json; 28 | 29 | [DataContract] 30 | public class ErrorResponse 31 | { 32 | [DataMember(Name = "error")] 33 | public Error Error { get; set; } 34 | 35 | [JsonExtensionData] 36 | public IDictionary AdditionalData { get; set; } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Models/Generated/ChunkedUploadSessionDescriptor.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | // THE SOFTWARE. 20 | // ------------------------------------------------------------------------------ 21 | 22 | // **NOTE** This file was generated by a tool and any changes will be overwritten. 23 | 24 | 25 | namespace Microsoft.OneDrive.Sdk 26 | { 27 | using System; 28 | using System.Collections.Generic; 29 | using System.IO; 30 | using System.Runtime.Serialization; 31 | using Newtonsoft.Json; 32 | 33 | /// 34 | /// The type ChunkedUploadSessionDescriptor. 35 | /// 36 | [DataContract] 37 | public partial class ChunkedUploadSessionDescriptor 38 | { 39 | 40 | /// 41 | /// Gets or sets name. 42 | /// 43 | [DataMember(Name = "name", EmitDefaultValue = false, IsRequired = false)] 44 | public string Name { get; set; } 45 | 46 | /// 47 | /// Gets or sets additional data. 48 | /// 49 | [JsonExtensionData(ReadData = false)] 50 | public IDictionary AdditionalData { get; set; } 51 | 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Models/Generated/Deleted.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | // THE SOFTWARE. 20 | // ------------------------------------------------------------------------------ 21 | 22 | // **NOTE** This file was generated by a tool and any changes will be overwritten. 23 | 24 | 25 | namespace Microsoft.OneDrive.Sdk 26 | { 27 | using System; 28 | using System.Collections.Generic; 29 | using System.IO; 30 | using System.Runtime.Serialization; 31 | using Newtonsoft.Json; 32 | 33 | /// 34 | /// The type Deleted. 35 | /// 36 | [DataContract] 37 | public partial class Deleted 38 | { 39 | 40 | /// 41 | /// Gets or sets state. 42 | /// 43 | [DataMember(Name = "state", EmitDefaultValue = false, IsRequired = false)] 44 | public string State { get; set; } 45 | 46 | /// 47 | /// Gets or sets additional data. 48 | /// 49 | [JsonExtensionData(ReadData = false)] 50 | public IDictionary AdditionalData { get; set; } 51 | 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Models/Generated/Folder.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | // THE SOFTWARE. 20 | // ------------------------------------------------------------------------------ 21 | 22 | // **NOTE** This file was generated by a tool and any changes will be overwritten. 23 | 24 | 25 | namespace Microsoft.OneDrive.Sdk 26 | { 27 | using System; 28 | using System.Collections.Generic; 29 | using System.IO; 30 | using System.Runtime.Serialization; 31 | using Newtonsoft.Json; 32 | 33 | /// 34 | /// The type Folder. 35 | /// 36 | [DataContract] 37 | public partial class Folder 38 | { 39 | 40 | /// 41 | /// Gets or sets childCount. 42 | /// 43 | [DataMember(Name = "childCount", EmitDefaultValue = false, IsRequired = false)] 44 | public Int32? ChildCount { get; set; } 45 | 46 | /// 47 | /// Gets or sets additional data. 48 | /// 49 | [JsonExtensionData(ReadData = false)] 50 | public IDictionary AdditionalData { get; set; } 51 | 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Models/Generated/ItemCopyRequestBody.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | // THE SOFTWARE. 20 | // ------------------------------------------------------------------------------ 21 | 22 | // **NOTE** This file was generated by a tool and any changes will be overwritten. 23 | 24 | 25 | namespace Microsoft.OneDrive.Sdk 26 | { 27 | using System.Runtime.Serialization; 28 | 29 | /// 30 | /// The type ItemCopyRequestBody. 31 | /// 32 | [DataContract] 33 | public partial class ItemCopyRequestBody 34 | { 35 | 36 | 37 | /// 38 | /// Gets or sets Name. 39 | /// 40 | [DataMember(Name = "name", EmitDefaultValue = false, IsRequired = false)] 41 | public string Name { get; set; } 42 | 43 | /// 44 | /// Gets or sets ParentReference. 45 | /// 46 | [DataMember(Name = "parentReference", EmitDefaultValue = false, IsRequired = false)] 47 | public ItemReference ParentReference { get; set; } 48 | 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Models/Generated/ItemCreateLinkRequestBody.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | // THE SOFTWARE. 20 | // ------------------------------------------------------------------------------ 21 | 22 | // **NOTE** This file was generated by a tool and any changes will be overwritten. 23 | 24 | 25 | namespace Microsoft.OneDrive.Sdk 26 | { 27 | using System.Runtime.Serialization; 28 | 29 | /// 30 | /// The type ItemCreateLinkRequestBody. 31 | /// 32 | [DataContract] 33 | public partial class ItemCreateLinkRequestBody 34 | { 35 | 36 | 37 | /// 38 | /// Gets or sets Type. 39 | /// 40 | [DataMember(Name = "type", EmitDefaultValue = false, IsRequired = false)] 41 | public string Type { get; set; } 42 | 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Models/Generated/ItemCreateSessionRequestBody.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | // THE SOFTWARE. 20 | // ------------------------------------------------------------------------------ 21 | 22 | // **NOTE** This file was generated by a tool and any changes will be overwritten. 23 | 24 | 25 | namespace Microsoft.OneDrive.Sdk 26 | { 27 | using System.Runtime.Serialization; 28 | 29 | /// 30 | /// The type ItemCreateSessionRequestBody. 31 | /// 32 | [DataContract] 33 | public partial class ItemCreateSessionRequestBody 34 | { 35 | 36 | 37 | /// 38 | /// Gets or sets Item. 39 | /// 40 | [DataMember(Name = "item", EmitDefaultValue = false, IsRequired = false)] 41 | public ChunkedUploadSessionDescriptor Item { get; set; } 42 | 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Models/Generated/SearchResult.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | // THE SOFTWARE. 20 | // ------------------------------------------------------------------------------ 21 | 22 | // **NOTE** This file was generated by a tool and any changes will be overwritten. 23 | 24 | 25 | namespace Microsoft.OneDrive.Sdk 26 | { 27 | using System; 28 | using System.Collections.Generic; 29 | using System.IO; 30 | using System.Runtime.Serialization; 31 | using Newtonsoft.Json; 32 | 33 | /// 34 | /// The type SearchResult. 35 | /// 36 | [DataContract] 37 | public partial class SearchResult 38 | { 39 | 40 | /// 41 | /// Gets or sets onClickTelemetryUrl. 42 | /// 43 | [DataMember(Name = "onClickTelemetryUrl", EmitDefaultValue = false, IsRequired = false)] 44 | public string OnClickTelemetryUrl { get; set; } 45 | 46 | /// 47 | /// Gets or sets additional data. 48 | /// 49 | [JsonExtensionData(ReadData = false)] 50 | public IDictionary AdditionalData { get; set; } 51 | 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Models/Generated/SpecialFolder.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | // THE SOFTWARE. 20 | // ------------------------------------------------------------------------------ 21 | 22 | // **NOTE** This file was generated by a tool and any changes will be overwritten. 23 | 24 | 25 | namespace Microsoft.OneDrive.Sdk 26 | { 27 | using System; 28 | using System.Collections.Generic; 29 | using System.IO; 30 | using System.Runtime.Serialization; 31 | using Newtonsoft.Json; 32 | 33 | /// 34 | /// The type SpecialFolder. 35 | /// 36 | [DataContract] 37 | public partial class SpecialFolder 38 | { 39 | 40 | /// 41 | /// Gets or sets name. 42 | /// 43 | [DataMember(Name = "name", EmitDefaultValue = false, IsRequired = false)] 44 | public string Name { get; set; } 45 | 46 | /// 47 | /// Gets or sets additional data. 48 | /// 49 | [JsonExtensionData(ReadData = false)] 50 | public IDictionary AdditionalData { get; set; } 51 | 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Requests/Extensions/DriveRequestBuilderExtensions.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // ------------------------------------------------------------------------------ 22 | 23 | namespace Microsoft.OneDrive.Sdk 24 | { 25 | public partial class DriveRequestBuilder 26 | { 27 | /// 28 | /// Gets root item request builder. 29 | /// The item request builder. 30 | /// 31 | public IItemRequestBuilder Root 32 | { 33 | get { return new ItemRequestBuilder(this.AppendSegmentToRequestUrl(Constants.Url.Root), this.OneDriveClient); } 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Requests/Extensions/IDriveRequestBuilderExtensions.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // ------------------------------------------------------------------------------ 22 | 23 | namespace Microsoft.OneDrive.Sdk 24 | { 25 | public partial interface IDriveRequestBuilder 26 | { 27 | /// 28 | /// Gets root item request builder. 29 | /// The item request builder. 30 | /// 31 | IItemRequestBuilder Root { get; } 32 | } 33 | } -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Requests/Extensions/IItemRequestBuilderExtensions.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // ------------------------------------------------------------------------------ 22 | 23 | namespace Microsoft.OneDrive.Sdk 24 | { 25 | /// 26 | /// The type ItemRequestBuilder. 27 | /// 28 | public partial interface IItemRequestBuilder 29 | { 30 | /// 31 | /// Gets item request builder for the specified item path. 32 | /// The item request builder. 33 | /// 34 | IItemRequestBuilder ItemWithPath(string path); 35 | } 36 | } -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Requests/Extensions/IOneDriveClientExtensions.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // ------------------------------------------------------------------------------ 22 | 23 | namespace Microsoft.OneDrive.Sdk 24 | { 25 | public partial interface IOneDriveClient 26 | { 27 | 28 | /// 29 | /// Gets the default drive. 30 | /// 31 | IDriveRequestBuilder Drive { get; } 32 | 33 | /// 34 | /// Gets item request builder for the specified item path. 35 | /// The item request builder. 36 | /// 37 | IItemRequestBuilder ItemWithPath(string path); 38 | } 39 | } -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Requests/Extensions/ISpecialCollectionRequestBuilderExtensions.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // ------------------------------------------------------------------------------ 22 | 23 | namespace Microsoft.OneDrive.Sdk 24 | { 25 | public partial interface ISpecialCollectionRequestBuilder 26 | { 27 | /// 28 | /// Gets app root special folder item request builder. 29 | /// The item request builder. 30 | /// 31 | IItemRequestBuilder AppRoot { get; } 32 | } 33 | } -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Requests/Extensions/IThumbnailSetRequestBuilderExtensions.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // ------------------------------------------------------------------------------ 22 | 23 | namespace Microsoft.OneDrive.Sdk 24 | { 25 | public partial interface IThumbnailSetRequestBuilder 26 | { 27 | IThumbnailRequestBuilder this[string size] { get; } 28 | } 29 | } -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Requests/Extensions/ItemRequestBuilderExtensions.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // ------------------------------------------------------------------------------ 22 | 23 | namespace Microsoft.OneDrive.Sdk 24 | { 25 | /// 26 | /// The type ItemRequestBuilder. 27 | /// 28 | public partial class ItemRequestBuilder 29 | { 30 | /// 31 | /// Gets children request. 32 | /// The children request. 33 | /// 34 | public IItemRequestBuilder ItemWithPath(string path) 35 | { 36 | return new ItemRequestBuilder( 37 | string.Format("{0}:/{1}:", this.RequestUrl, path), 38 | this.OneDriveClient); 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Requests/Extensions/SpecialCollectionRequestBuilderExtensions.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // ------------------------------------------------------------------------------ 22 | 23 | namespace Microsoft.OneDrive.Sdk 24 | { 25 | public partial class SpecialCollectionRequestBuilder 26 | { 27 | /// 28 | /// Gets app root special folder item request builder. 29 | /// The item request builder. 30 | /// 31 | public IItemRequestBuilder AppRoot 32 | { 33 | get { return new ItemRequestBuilder(this.AppendSegmentToRequestUrl(Constants.Url.AppRoot), this.OneDriveClient); } 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Requests/Extensions/ThumbnailSetExtensions.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // ------------------------------------------------------------------------------ 22 | 23 | namespace Microsoft.OneDrive.Sdk 24 | { 25 | public partial class ThumbnailSet 26 | { 27 | /// 28 | /// Allows for the lookup of custom thumbnails from this thumbnail set. 29 | /// 30 | /// The name of the custom thumbnail. 31 | /// The custom thumbnail. 32 | public Thumbnail this[string customThumbnailName] 33 | { 34 | get 35 | { 36 | if (this.AdditionalData != null) 37 | { 38 | object thumbnail; 39 | if (this.AdditionalData.TryGetValue(customThumbnailName, out thumbnail)) 40 | { 41 | return thumbnail as Thumbnail; 42 | } 43 | } 44 | 45 | return null; 46 | } 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Requests/Extensions/ThumbnailSetRequestBuilderExtensions.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // 14 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | // THE SOFTWARE. 21 | // ------------------------------------------------------------------------------ 22 | 23 | namespace Microsoft.OneDrive.Sdk 24 | { 25 | /// 26 | /// The type ThumbnailSetRequestBuilder. 27 | /// 28 | public partial class ThumbnailSetRequestBuilder 29 | { 30 | public IThumbnailRequestBuilder this[string size] 31 | { 32 | get 33 | { 34 | return new ThumbnailRequestBuilder( 35 | this.AppendSegmentToRequestUrl(size), 36 | this.OneDriveClient); 37 | } 38 | } 39 | } 40 | } -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Requests/Generated/ChildrenCollectionResponse.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | // THE SOFTWARE. 20 | // ------------------------------------------------------------------------------ 21 | 22 | // **NOTE** This file was generated by a tool and any changes will be overwritten. 23 | 24 | namespace Microsoft.OneDrive.Sdk 25 | { 26 | using System.Collections.Generic; 27 | using System.Runtime.Serialization; 28 | using Newtonsoft.Json; 29 | 30 | /// 31 | /// The type ChildrenCollectionResponse. 32 | /// 33 | [DataContract] 34 | public class ChildrenCollectionResponse 35 | { 36 | /// 37 | /// Gets or sets the value. 38 | /// 39 | [JsonConverter(typeof(InterfaceConverter))] 40 | [DataMember(Name = "value", EmitDefaultValue = false, IsRequired = false)] 41 | public IChildrenCollectionPage Value { get; set; } 42 | 43 | /// 44 | /// Gets or sets additional data. 45 | /// 46 | [JsonExtensionData(ReadData = true)] 47 | public IDictionary AdditionalData { get; set; } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Requests/Generated/DrivesCollectionResponse.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | // THE SOFTWARE. 20 | // ------------------------------------------------------------------------------ 21 | 22 | // **NOTE** This file was generated by a tool and any changes will be overwritten. 23 | 24 | namespace Microsoft.OneDrive.Sdk 25 | { 26 | using System.Collections.Generic; 27 | using System.Runtime.Serialization; 28 | using Newtonsoft.Json; 29 | 30 | /// 31 | /// The type DrivesCollectionResponse. 32 | /// 33 | [DataContract] 34 | public class DrivesCollectionResponse 35 | { 36 | /// 37 | /// Gets or sets the value. 38 | /// 39 | [JsonConverter(typeof(InterfaceConverter))] 40 | [DataMember(Name = "value", EmitDefaultValue = false, IsRequired = false)] 41 | public IDrivesCollectionPage Value { get; set; } 42 | 43 | /// 44 | /// Gets or sets additional data. 45 | /// 46 | [JsonExtensionData(ReadData = true)] 47 | public IDictionary AdditionalData { get; set; } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Requests/Generated/IChildrenCollectionPage.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | // THE SOFTWARE. 20 | // ------------------------------------------------------------------------------ 21 | 22 | // **NOTE** This file was generated by a tool and any changes will be overwritten. 23 | 24 | 25 | namespace Microsoft.OneDrive.Sdk 26 | { 27 | /// 28 | /// The interface IChildrenCollectionPage. 29 | /// 30 | public interface IChildrenCollectionPage : ICollectionPage 31 | { 32 | /// 33 | /// Gets the next page instance. 34 | /// 35 | IChildrenCollectionRequest NextPageRequest { get; } 36 | 37 | /// 38 | /// Initializes the NextPageRequest property. 39 | /// 40 | void InitializeNextPageRequest(IOneDriveClient oneDriveClient, string nextPageLinkString); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Requests/Generated/IDriveAllPhotosCollectionPage.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | // THE SOFTWARE. 20 | // ------------------------------------------------------------------------------ 21 | 22 | // **NOTE** This file was generated by a tool and any changes will be overwritten. 23 | 24 | 25 | namespace Microsoft.OneDrive.Sdk 26 | { 27 | /// 28 | /// The interface IDriveAllPhotosCollectionPage. 29 | /// 30 | public interface IDriveAllPhotosCollectionPage : ICollectionPage 31 | { 32 | /// 33 | /// Gets the next page instance. 34 | /// 35 | IDriveAllPhotosRequest NextPageRequest { get; } 36 | 37 | /// 38 | /// Initializes the NextPageRequest property. 39 | /// 40 | void InitializeNextPageRequest(IOneDriveClient oneDriveClient, string nextPageLinkString); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /SmartSync.OneDrive/OneDriveSdk/Requests/Generated/IDriveAllPhotosRequestBuilder.cs: -------------------------------------------------------------------------------- 1 | // ------------------------------------------------------------------------------ 2 | // Copyright (c) 2015 Microsoft Corporation 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining a copy 5 | // of this software and associated documentation files (the "Software"), to deal 6 | // in the Software without restriction, including without limitation the rights 7 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | // copies of the Software, and to permit persons to whom the Software is 9 | // furnished to do so, subject to the following conditions: 10 | // 11 | // The above copyright notice and this permission notice shall be included in 12 | // all copies or substantial portions of the Software. 13 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | // THE SOFTWARE. 20 | // ------------------------------------------------------------------------------ 21 | 22 | // **NOTE** This file was generated by a tool and any changes will be overwritten. 23 | 24 | 25 | namespace Microsoft.OneDrive.Sdk 26 | { 27 | using System.Collections.Generic; 28 | 29 | /// 30 | /// The interface IDriveAllPhotosRequestBuilder. 31 | /// 32 | public partial interface IDriveAllPhotosRequestBuilder 33 | { 34 | 35 | /// 36 | /// Builds the request. 37 | /// 38 | /// The query and header options for the request. 39 | /// The built request. 40 | IDriveAllPhotosRequest Request(IList