├── .vs ├── Open API 2.0 .Net Sample │ ├── DesignTimeBuild │ │ └── .dtbcache │ ├── v14 │ │ └── .suo │ ├── v15 │ │ ├── .suo │ │ └── Server │ │ │ └── sqlite3 │ │ │ ├── db.lock │ │ │ ├── storage.ide │ │ │ ├── storage.ide-shm │ │ │ └── storage.ide-wal │ └── v16 │ │ ├── .suo │ │ └── Server │ │ └── sqlite3 │ │ ├── db.lock │ │ └── storage.ide └── config │ └── applicationhost.config ├── LICENSE ├── Open API 2.0 .Net Sample.sln ├── Open API 2.0 Sample ├── App.config ├── Main.Designer.cs ├── Main.cs ├── Main.resx ├── Open API 2.0 WinForms Sample.csproj ├── Program.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── bin │ ├── Debug │ │ ├── Google.ProtocolBuffers.Serialization.dll │ │ ├── Google.ProtocolBuffers.Serialization.xml │ │ ├── Google.ProtocolBuffers.dll │ │ ├── Google.ProtocolBuffers.xml │ │ ├── Open API 2.0 Sample.exe │ │ ├── Open API 2.0 Sample.exe.config │ │ ├── Open API 2.0 Sample.pdb │ │ ├── Open API Library.dll │ │ └── Open API Library.pdb │ └── Release │ │ ├── Google.ProtocolBuffers.Serialization.dll │ │ ├── Google.ProtocolBuffers.Serialization.xml │ │ ├── Google.ProtocolBuffers.dll │ │ ├── Google.ProtocolBuffers.xml │ │ ├── Open API 2.0 Sample.exe │ │ ├── Open API 2.0 Sample.exe.config │ │ ├── Open API 2.0 Sample.pdb │ │ ├── Open API Library.dll │ │ └── Open API Library.pdb ├── obj │ ├── Debug │ │ ├── .NETFramework,Version=v4.7.2.AssemblyAttributes.cs │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── Open API 2.0 Sample.exe │ │ ├── Open API 2.0 Sample.pdb │ │ ├── Open API 2.0 WinForms Sample.csproj.CopyComplete │ │ ├── Open API 2.0 WinForms Sample.csproj.CoreCompileInputs.cache │ │ ├── Open API 2.0 WinForms Sample.csproj.FileListAbsolute.txt │ │ ├── Open API 2.0 WinForms Sample.csproj.GenerateResource.cache │ │ ├── Open API 2.0 WinForms Sample.csprojAssemblyReference.cache │ │ ├── Open_API_2._0_Sample.Main.resources │ │ ├── Open_API_2._0_Sample.Properties.Resources.resources │ │ ├── TempPE │ │ │ └── Properties.Resources.Designer.cs.dll │ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs │ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs │ │ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs │ └── Release │ │ ├── .NETFramework,Version=v4.7.2.AssemblyAttributes.cs │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── Open API 2.0 Sample.exe │ │ ├── Open API 2.0 Sample.pdb │ │ ├── Open API 2.0 WinForms Sample.csproj.CopyComplete │ │ ├── Open API 2.0 WinForms Sample.csproj.CoreCompileInputs.cache │ │ ├── Open API 2.0 WinForms Sample.csproj.FileListAbsolute.txt │ │ ├── Open API 2.0 WinForms Sample.csproj.GenerateResource.cache │ │ ├── Open API 2.0 WinForms Sample.csprojAssemblyReference.cache │ │ ├── Open_API_2._0_Sample.Main.resources │ │ ├── Open_API_2._0_Sample.Properties.Resources.resources │ │ └── TempPE │ │ └── Properties.Resources.Designer.cs.dll └── packages.config ├── Open API Library ├── Open API Library.csproj ├── OpenApiMessagesFactory.cs ├── OpenApiMessagesPresentation.cs ├── OpenApiModelObjectsFactory.cs ├── Properties │ └── AssemblyInfo.cs ├── Proto │ ├── OpenApiCommonMessages.cs │ ├── OpenApiCommonModelMessages.cs │ ├── OpenApiMessages.cs │ └── OpenApiModelMessages.cs ├── bin │ ├── Debug │ │ ├── Google.ProtocolBuffers.Serialization.dll │ │ ├── Google.ProtocolBuffers.Serialization.xml │ │ ├── Google.ProtocolBuffers.dll │ │ ├── Google.ProtocolBuffers.xml │ │ ├── Open API Library.dll │ │ └── Open API Library.pdb │ └── Release │ │ ├── Google.ProtocolBuffers.Serialization.dll │ │ ├── Google.ProtocolBuffers.Serialization.xml │ │ ├── Google.ProtocolBuffers.dll │ │ ├── Google.ProtocolBuffers.xml │ │ ├── Open API Library.dll │ │ └── Open API Library.pdb ├── obj │ ├── Debug │ │ ├── .NETFramework,Version=v4.6.1.AssemblyAttributes.cs │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── Open API Library.csproj.CopyComplete │ │ ├── Open API Library.csproj.CoreCompileInputs.cache │ │ ├── Open API Library.csproj.FileListAbsolute.txt │ │ ├── Open API Library.csprojAssemblyReference.cache │ │ ├── Open API Library.dll │ │ ├── Open API Library.pdb │ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs │ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs │ │ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs │ └── Release │ │ ├── .NETFramework,Version=v4.6.1.AssemblyAttributes.cs │ │ ├── Open API Library.csproj.CopyComplete │ │ ├── Open API Library.csproj.CoreCompileInputs.cache │ │ ├── Open API Library.csproj.FileListAbsolute.txt │ │ ├── Open API Library.csprojAssemblyReference.cache │ │ ├── Open API Library.csprojResolveAssemblyReference.cache │ │ ├── Open API Library.dll │ │ ├── Open API Library.pdb │ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs │ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs │ │ └── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs └── packages.config ├── Open API Proto Messages ├── OpenApiCommonMessages.proto ├── OpenApiCommonModelMessages.proto ├── OpenApiMessages.proto └── OpenApiModelMessages.proto └── packages └── Google.ProtocolBuffers.2.4.1.555 ├── Google.ProtocolBuffers.2.4.1.555.nupkg ├── lib ├── cf20 │ ├── Google.ProtocolBuffers.Serialization.dll │ ├── Google.ProtocolBuffers.Serialization.xml │ ├── Google.ProtocolBuffers.dll │ └── Google.ProtocolBuffers.xml ├── cf35 │ ├── Google.ProtocolBuffers.Serialization.dll │ ├── Google.ProtocolBuffers.Serialization.xml │ ├── Google.ProtocolBuffers.dll │ └── Google.ProtocolBuffers.xml ├── net20 │ ├── Google.ProtocolBuffers.Serialization.dll │ ├── Google.ProtocolBuffers.Serialization.xml │ ├── Google.ProtocolBuffers.dll │ └── Google.ProtocolBuffers.xml ├── net35 │ ├── Google.ProtocolBuffers.Serialization.dll │ ├── Google.ProtocolBuffers.Serialization.xml │ ├── Google.ProtocolBuffers.dll │ └── Google.ProtocolBuffers.xml ├── net40 │ ├── Google.ProtocolBuffers.Serialization.dll │ ├── Google.ProtocolBuffers.Serialization.xml │ ├── Google.ProtocolBuffers.dll │ └── Google.ProtocolBuffers.xml ├── portable-net40+sl4+sl5+wp7+wp8+win8 │ ├── Google.ProtocolBuffers.Serialization.dll │ ├── Google.ProtocolBuffers.Serialization.xml │ ├── Google.ProtocolBuffers.dll │ └── Google.ProtocolBuffers.xml ├── sl20 │ ├── Google.ProtocolBuffers.Serialization.dll │ ├── Google.ProtocolBuffers.Serialization.xml │ ├── Google.ProtocolBuffers.dll │ └── Google.ProtocolBuffers.xml ├── sl30 │ ├── Google.ProtocolBuffers.Serialization.dll │ ├── Google.ProtocolBuffers.Serialization.xml │ ├── Google.ProtocolBuffers.dll │ └── Google.ProtocolBuffers.xml └── sl40 │ ├── Google.ProtocolBuffers.Serialization.dll │ ├── Google.ProtocolBuffers.Serialization.xml │ ├── Google.ProtocolBuffers.dll │ └── Google.ProtocolBuffers.xml └── tools ├── CHANGES.txt ├── Google.ProtocolBuffers.Serialization.dll ├── Google.ProtocolBuffers.dll ├── ProtoBench.exe ├── ProtoDump.exe ├── ProtoGen.exe ├── ProtoGen.exe.config ├── ProtoMunge.exe ├── google └── protobuf │ ├── compiler │ └── plugin.proto │ ├── csharp_options.proto │ └── descriptor.proto ├── license.txt ├── protoc-license.txt ├── protoc.exe └── tutorial └── addressbook.proto /.vs/Open API 2.0 .Net Sample/DesignTimeBuild/.dtbcache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/.vs/Open API 2.0 .Net Sample/DesignTimeBuild/.dtbcache -------------------------------------------------------------------------------- /.vs/Open API 2.0 .Net Sample/v14/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/.vs/Open API 2.0 .Net Sample/v14/.suo -------------------------------------------------------------------------------- /.vs/Open API 2.0 .Net Sample/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/.vs/Open API 2.0 .Net Sample/v15/.suo -------------------------------------------------------------------------------- /.vs/Open API 2.0 .Net Sample/v15/Server/sqlite3/db.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/.vs/Open API 2.0 .Net Sample/v15/Server/sqlite3/db.lock -------------------------------------------------------------------------------- /.vs/Open API 2.0 .Net Sample/v15/Server/sqlite3/storage.ide: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/.vs/Open API 2.0 .Net Sample/v15/Server/sqlite3/storage.ide -------------------------------------------------------------------------------- /.vs/Open API 2.0 .Net Sample/v15/Server/sqlite3/storage.ide-shm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/.vs/Open API 2.0 .Net Sample/v15/Server/sqlite3/storage.ide-shm -------------------------------------------------------------------------------- /.vs/Open API 2.0 .Net Sample/v15/Server/sqlite3/storage.ide-wal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/.vs/Open API 2.0 .Net Sample/v15/Server/sqlite3/storage.ide-wal -------------------------------------------------------------------------------- /.vs/Open API 2.0 .Net Sample/v16/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/.vs/Open API 2.0 .Net Sample/v16/.suo -------------------------------------------------------------------------------- /.vs/Open API 2.0 .Net Sample/v16/Server/sqlite3/db.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/.vs/Open API 2.0 .Net Sample/v16/Server/sqlite3/db.lock -------------------------------------------------------------------------------- /.vs/Open API 2.0 .Net Sample/v16/Server/sqlite3/storage.ide: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/.vs/Open API 2.0 .Net Sample/v16/Server/sqlite3/storage.ide -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [2018] [Spotware Systems Ltd. cTrader®, cAlgo®, cBroker®, cMirror®, cXchange®. All rights reserved] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /Open API 2.0 .Net Sample.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.27130.2036 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Open API Library", "Open API Library\Open API Library.csproj", "{6CDD44D5-2586-4406-84E4-216B5EBB4B15}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Open API 2.0 WinForms Sample", "Open API 2.0 Sample\Open API 2.0 WinForms Sample.csproj", "{DDABD191-094C-4008-AC07-A9357513D9AF}" 9 | EndProject 10 | Global 11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 12 | Debug|Any CPU = Debug|Any CPU 13 | Release|Any CPU = Release|Any CPU 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {6CDD44D5-2586-4406-84E4-216B5EBB4B15}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 17 | {6CDD44D5-2586-4406-84E4-216B5EBB4B15}.Debug|Any CPU.Build.0 = Debug|Any CPU 18 | {6CDD44D5-2586-4406-84E4-216B5EBB4B15}.Release|Any CPU.ActiveCfg = Release|Any CPU 19 | {6CDD44D5-2586-4406-84E4-216B5EBB4B15}.Release|Any CPU.Build.0 = Release|Any CPU 20 | {DDABD191-094C-4008-AC07-A9357513D9AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 21 | {DDABD191-094C-4008-AC07-A9357513D9AF}.Debug|Any CPU.Build.0 = Debug|Any CPU 22 | {DDABD191-094C-4008-AC07-A9357513D9AF}.Release|Any CPU.ActiveCfg = Release|Any CPU 23 | {DDABD191-094C-4008-AC07-A9357513D9AF}.Release|Any CPU.Build.0 = Release|Any CPU 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(ExtensibilityGlobals) = postSolution 29 | SolutionGuid = {B40AF6E6-3E05-40BA-A915-C1577ABE36C8} 30 | EndGlobalSection 31 | EndGlobal 32 | -------------------------------------------------------------------------------- /Open API 2.0 Sample/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Open API 2.0 Sample/Main.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace Open_API_2._0_Sample 2 | { 3 | partial class Main 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.components = new System.ComponentModel.Container(); 32 | this.txtMessages = new System.Windows.Forms.TextBox(); 33 | this.btnAuthorizeApplication = new System.Windows.Forms.Button(); 34 | this.timer1 = new System.Windows.Forms.Timer(this.components); 35 | this.btnGetAccountsList = new System.Windows.Forms.Button(); 36 | this.btnSendMarketOrder = new System.Windows.Forms.Button(); 37 | this.btnSubscribeForSpots = new System.Windows.Forms.Button(); 38 | this.btnUnSubscribeFrorSpots = new System.Windows.Forms.Button(); 39 | this.btnGetDealsList = new System.Windows.Forms.Button(); 40 | this.btnGetOrders = new System.Windows.Forms.Button(); 41 | this.btnGetTransactions = new System.Windows.Forms.Button(); 42 | this.btnGetTrendbars = new System.Windows.Forms.Button(); 43 | this.btnGetTickData = new System.Windows.Forms.Button(); 44 | this.btnGetSymbols = new System.Windows.Forms.Button(); 45 | this.btnSendStopOrder = new System.Windows.Forms.Button(); 46 | this.btnSendLimitOrder = new System.Windows.Forms.Button(); 47 | this.btnSendStopLimitOrder = new System.Windows.Forms.Button(); 48 | this.btnClosePosition = new System.Windows.Forms.Button(); 49 | this.txtPositionID = new System.Windows.Forms.TextBox(); 50 | this.txtVolume = new System.Windows.Forms.TextBox(); 51 | this.lblID = new System.Windows.Forms.Label(); 52 | this.lblVolume = new System.Windows.Forms.Label(); 53 | this.btnClear = new System.Windows.Forms.Button(); 54 | this.splitContainer1 = new System.Windows.Forms.SplitContainer(); 55 | this.lblAccounts = new System.Windows.Forms.Label(); 56 | this.cbAccounts = new System.Windows.Forms.ComboBox(); 57 | this.lblTakeProfit = new System.Windows.Forms.Label(); 58 | this.txtTakeProfit = new System.Windows.Forms.TextBox(); 59 | this.lblStolLoss = new System.Windows.Forms.Label(); 60 | this.lblID2 = new System.Windows.Forms.Label(); 61 | this.txtStopLoss = new System.Windows.Forms.TextBox(); 62 | this.txtPositionIDTPSL = new System.Windows.Forms.TextBox(); 63 | this.btnAmentSLTP = new System.Windows.Forms.Button(); 64 | this.timer2 = new System.Windows.Forms.Timer(this.components); 65 | ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); 66 | this.splitContainer1.Panel1.SuspendLayout(); 67 | this.splitContainer1.Panel2.SuspendLayout(); 68 | this.splitContainer1.SuspendLayout(); 69 | this.SuspendLayout(); 70 | // 71 | // txtMessages 72 | // 73 | this.txtMessages.Dock = System.Windows.Forms.DockStyle.Fill; 74 | this.txtMessages.Location = new System.Drawing.Point(0, 0); 75 | this.txtMessages.Multiline = true; 76 | this.txtMessages.Name = "txtMessages"; 77 | this.txtMessages.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; 78 | this.txtMessages.Size = new System.Drawing.Size(1186, 207); 79 | this.txtMessages.TabIndex = 0; 80 | // 81 | // btnAuthorizeApplication 82 | // 83 | this.btnAuthorizeApplication.Location = new System.Drawing.Point(14, 15); 84 | this.btnAuthorizeApplication.Name = "btnAuthorizeApplication"; 85 | this.btnAuthorizeApplication.Size = new System.Drawing.Size(145, 23); 86 | this.btnAuthorizeApplication.TabIndex = 1; 87 | this.btnAuthorizeApplication.Text = "Authorize Application"; 88 | this.btnAuthorizeApplication.UseVisualStyleBackColor = true; 89 | this.btnAuthorizeApplication.Click += new System.EventHandler(this.btnAuthorizeApplication_Click); 90 | // 91 | // timer1 92 | // 93 | this.timer1.Enabled = true; 94 | this.timer1.Tick += new System.EventHandler(this.timer1_Tick); 95 | // 96 | // btnGetAccountsList 97 | // 98 | this.btnGetAccountsList.Location = new System.Drawing.Point(14, 44); 99 | this.btnGetAccountsList.Name = "btnGetAccountsList"; 100 | this.btnGetAccountsList.Size = new System.Drawing.Size(145, 23); 101 | this.btnGetAccountsList.TabIndex = 2; 102 | this.btnGetAccountsList.Text = "Get Accounts List"; 103 | this.btnGetAccountsList.UseVisualStyleBackColor = true; 104 | this.btnGetAccountsList.Click += new System.EventHandler(this.btnGetAccountsList_Click); 105 | // 106 | // btnSendMarketOrder 107 | // 108 | this.btnSendMarketOrder.Location = new System.Drawing.Point(165, 73); 109 | this.btnSendMarketOrder.Name = "btnSendMarketOrder"; 110 | this.btnSendMarketOrder.Size = new System.Drawing.Size(159, 23); 111 | this.btnSendMarketOrder.TabIndex = 4; 112 | this.btnSendMarketOrder.Text = "Send Market Order"; 113 | this.btnSendMarketOrder.UseVisualStyleBackColor = true; 114 | this.btnSendMarketOrder.Click += new System.EventHandler(this.btnSendMarketOrder_Click); 115 | // 116 | // btnSubscribeForSpots 117 | // 118 | this.btnSubscribeForSpots.Location = new System.Drawing.Point(165, 15); 119 | this.btnSubscribeForSpots.Name = "btnSubscribeForSpots"; 120 | this.btnSubscribeForSpots.Size = new System.Drawing.Size(159, 23); 121 | this.btnSubscribeForSpots.TabIndex = 5; 122 | this.btnSubscribeForSpots.Text = "Subscribe For Spots"; 123 | this.btnSubscribeForSpots.UseVisualStyleBackColor = true; 124 | this.btnSubscribeForSpots.Click += new System.EventHandler(this.btnSubscribeForSpots_Click); 125 | // 126 | // btnUnSubscribeFrorSpots 127 | // 128 | this.btnUnSubscribeFrorSpots.Location = new System.Drawing.Point(164, 44); 129 | this.btnUnSubscribeFrorSpots.Name = "btnUnSubscribeFrorSpots"; 130 | this.btnUnSubscribeFrorSpots.Size = new System.Drawing.Size(160, 23); 131 | this.btnUnSubscribeFrorSpots.TabIndex = 6; 132 | this.btnUnSubscribeFrorSpots.Text = "Unsubscribe From Spots"; 133 | this.btnUnSubscribeFrorSpots.UseVisualStyleBackColor = true; 134 | this.btnUnSubscribeFrorSpots.Click += new System.EventHandler(this.btnUnSubscribeFromSpots_Click); 135 | // 136 | // btnGetDealsList 137 | // 138 | this.btnGetDealsList.Location = new System.Drawing.Point(12, 131); 139 | this.btnGetDealsList.Name = "btnGetDealsList"; 140 | this.btnGetDealsList.Size = new System.Drawing.Size(145, 23); 141 | this.btnGetDealsList.TabIndex = 7; 142 | this.btnGetDealsList.Text = "Get Deals"; 143 | this.btnGetDealsList.UseVisualStyleBackColor = true; 144 | this.btnGetDealsList.Click += new System.EventHandler(this.btnGetDealsList_Click); 145 | // 146 | // btnGetOrders 147 | // 148 | this.btnGetOrders.Location = new System.Drawing.Point(12, 160); 149 | this.btnGetOrders.Name = "btnGetOrders"; 150 | this.btnGetOrders.Size = new System.Drawing.Size(145, 23); 151 | this.btnGetOrders.TabIndex = 8; 152 | this.btnGetOrders.Text = "Get Orders"; 153 | this.btnGetOrders.UseVisualStyleBackColor = true; 154 | this.btnGetOrders.Click += new System.EventHandler(this.btnGetOrders_Click); 155 | // 156 | // btnGetTransactions 157 | // 158 | this.btnGetTransactions.Location = new System.Drawing.Point(12, 189); 159 | this.btnGetTransactions.Name = "btnGetTransactions"; 160 | this.btnGetTransactions.Size = new System.Drawing.Size(145, 23); 161 | this.btnGetTransactions.TabIndex = 9; 162 | this.btnGetTransactions.Text = "Get Transactions"; 163 | this.btnGetTransactions.UseVisualStyleBackColor = true; 164 | this.btnGetTransactions.Click += new System.EventHandler(this.btnGetTransactions_Click); 165 | // 166 | // btnGetTrendbars 167 | // 168 | this.btnGetTrendbars.Location = new System.Drawing.Point(12, 218); 169 | this.btnGetTrendbars.Name = "btnGetTrendbars"; 170 | this.btnGetTrendbars.Size = new System.Drawing.Size(145, 23); 171 | this.btnGetTrendbars.TabIndex = 10; 172 | this.btnGetTrendbars.Text = "Get Trendbars"; 173 | this.btnGetTrendbars.UseVisualStyleBackColor = true; 174 | this.btnGetTrendbars.Click += new System.EventHandler(this.btnGetTrendbars_Click); 175 | // 176 | // btnGetTickData 177 | // 178 | this.btnGetTickData.Location = new System.Drawing.Point(12, 247); 179 | this.btnGetTickData.Name = "btnGetTickData"; 180 | this.btnGetTickData.Size = new System.Drawing.Size(145, 23); 181 | this.btnGetTickData.TabIndex = 11; 182 | this.btnGetTickData.Text = "Get Tick Data"; 183 | this.btnGetTickData.UseVisualStyleBackColor = true; 184 | this.btnGetTickData.Click += new System.EventHandler(this.btnGetTickData_Click); 185 | // 186 | // btnGetSymbols 187 | // 188 | this.btnGetSymbols.Location = new System.Drawing.Point(12, 102); 189 | this.btnGetSymbols.Name = "btnGetSymbols"; 190 | this.btnGetSymbols.Size = new System.Drawing.Size(145, 23); 191 | this.btnGetSymbols.TabIndex = 12; 192 | this.btnGetSymbols.Text = "Get Symbols"; 193 | this.btnGetSymbols.UseVisualStyleBackColor = true; 194 | this.btnGetSymbols.Click += new System.EventHandler(this.btnGetSymbols_Click); 195 | // 196 | // btnSendStopOrder 197 | // 198 | this.btnSendStopOrder.Location = new System.Drawing.Point(165, 102); 199 | this.btnSendStopOrder.Name = "btnSendStopOrder"; 200 | this.btnSendStopOrder.Size = new System.Drawing.Size(159, 23); 201 | this.btnSendStopOrder.TabIndex = 14; 202 | this.btnSendStopOrder.Text = "Send Stop Order"; 203 | this.btnSendStopOrder.UseVisualStyleBackColor = true; 204 | this.btnSendStopOrder.Click += new System.EventHandler(this.btnSendStopOrder_Click); 205 | // 206 | // btnSendLimitOrder 207 | // 208 | this.btnSendLimitOrder.Location = new System.Drawing.Point(165, 131); 209 | this.btnSendLimitOrder.Name = "btnSendLimitOrder"; 210 | this.btnSendLimitOrder.Size = new System.Drawing.Size(159, 23); 211 | this.btnSendLimitOrder.TabIndex = 15; 212 | this.btnSendLimitOrder.Text = "Send Limit Order"; 213 | this.btnSendLimitOrder.UseVisualStyleBackColor = true; 214 | this.btnSendLimitOrder.Click += new System.EventHandler(this.btnSendLimitOrder_Click); 215 | // 216 | // btnSendStopLimitOrder 217 | // 218 | this.btnSendStopLimitOrder.Location = new System.Drawing.Point(165, 160); 219 | this.btnSendStopLimitOrder.Name = "btnSendStopLimitOrder"; 220 | this.btnSendStopLimitOrder.Size = new System.Drawing.Size(159, 23); 221 | this.btnSendStopLimitOrder.TabIndex = 16; 222 | this.btnSendStopLimitOrder.Text = "Send Stop Limit Order"; 223 | this.btnSendStopLimitOrder.UseVisualStyleBackColor = true; 224 | this.btnSendStopLimitOrder.Click += new System.EventHandler(this.btnSendStopLimitOrder_Click); 225 | // 226 | // btnClosePosition 227 | // 228 | this.btnClosePosition.Location = new System.Drawing.Point(164, 189); 229 | this.btnClosePosition.Name = "btnClosePosition"; 230 | this.btnClosePosition.Size = new System.Drawing.Size(160, 23); 231 | this.btnClosePosition.TabIndex = 17; 232 | this.btnClosePosition.Text = "Close Position"; 233 | this.btnClosePosition.UseVisualStyleBackColor = true; 234 | this.btnClosePosition.Click += new System.EventHandler(this.btnClosePosition_Click); 235 | // 236 | // txtPositionID 237 | // 238 | this.txtPositionID.Location = new System.Drawing.Point(397, 191); 239 | this.txtPositionID.Name = "txtPositionID"; 240 | this.txtPositionID.Size = new System.Drawing.Size(100, 20); 241 | this.txtPositionID.TabIndex = 18; 242 | // 243 | // txtVolume 244 | // 245 | this.txtVolume.Location = new System.Drawing.Point(566, 191); 246 | this.txtVolume.Name = "txtVolume"; 247 | this.txtVolume.Size = new System.Drawing.Size(100, 20); 248 | this.txtVolume.TabIndex = 19; 249 | // 250 | // lblID 251 | // 252 | this.lblID.AutoSize = true; 253 | this.lblID.Location = new System.Drawing.Point(330, 197); 254 | this.lblID.Name = "lblID"; 255 | this.lblID.Size = new System.Drawing.Size(61, 13); 256 | this.lblID.TabIndex = 20; 257 | this.lblID.Text = "Position ID:"; 258 | // 259 | // lblVolume 260 | // 261 | this.lblVolume.AutoSize = true; 262 | this.lblVolume.Location = new System.Drawing.Point(503, 195); 263 | this.lblVolume.Name = "lblVolume"; 264 | this.lblVolume.Size = new System.Drawing.Size(45, 13); 265 | this.lblVolume.TabIndex = 21; 266 | this.lblVolume.Text = "Volume:"; 267 | // 268 | // btnClear 269 | // 270 | this.btnClear.Location = new System.Drawing.Point(12, 338); 271 | this.btnClear.Name = "btnClear"; 272 | this.btnClear.Size = new System.Drawing.Size(145, 23); 273 | this.btnClear.TabIndex = 22; 274 | this.btnClear.Text = "Clear"; 275 | this.btnClear.UseVisualStyleBackColor = true; 276 | this.btnClear.Click += new System.EventHandler(this.btnClear_Click); 277 | // 278 | // splitContainer1 279 | // 280 | this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; 281 | this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; 282 | this.splitContainer1.Location = new System.Drawing.Point(0, 0); 283 | this.splitContainer1.Name = "splitContainer1"; 284 | this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal; 285 | // 286 | // splitContainer1.Panel1 287 | // 288 | this.splitContainer1.Panel1.Controls.Add(this.lblAccounts); 289 | this.splitContainer1.Panel1.Controls.Add(this.cbAccounts); 290 | this.splitContainer1.Panel1.Controls.Add(this.lblTakeProfit); 291 | this.splitContainer1.Panel1.Controls.Add(this.txtTakeProfit); 292 | this.splitContainer1.Panel1.Controls.Add(this.lblStolLoss); 293 | this.splitContainer1.Panel1.Controls.Add(this.lblID2); 294 | this.splitContainer1.Panel1.Controls.Add(this.txtStopLoss); 295 | this.splitContainer1.Panel1.Controls.Add(this.txtPositionIDTPSL); 296 | this.splitContainer1.Panel1.Controls.Add(this.btnAmentSLTP); 297 | this.splitContainer1.Panel1.Controls.Add(this.btnAuthorizeApplication); 298 | this.splitContainer1.Panel1.Controls.Add(this.btnClear); 299 | this.splitContainer1.Panel1.Controls.Add(this.btnGetAccountsList); 300 | this.splitContainer1.Panel1.Controls.Add(this.lblVolume); 301 | this.splitContainer1.Panel1.Controls.Add(this.lblID); 302 | this.splitContainer1.Panel1.Controls.Add(this.btnSendMarketOrder); 303 | this.splitContainer1.Panel1.Controls.Add(this.txtVolume); 304 | this.splitContainer1.Panel1.Controls.Add(this.btnSubscribeForSpots); 305 | this.splitContainer1.Panel1.Controls.Add(this.txtPositionID); 306 | this.splitContainer1.Panel1.Controls.Add(this.btnUnSubscribeFrorSpots); 307 | this.splitContainer1.Panel1.Controls.Add(this.btnClosePosition); 308 | this.splitContainer1.Panel1.Controls.Add(this.btnGetDealsList); 309 | this.splitContainer1.Panel1.Controls.Add(this.btnSendStopLimitOrder); 310 | this.splitContainer1.Panel1.Controls.Add(this.btnGetOrders); 311 | this.splitContainer1.Panel1.Controls.Add(this.btnSendLimitOrder); 312 | this.splitContainer1.Panel1.Controls.Add(this.btnGetTransactions); 313 | this.splitContainer1.Panel1.Controls.Add(this.btnSendStopOrder); 314 | this.splitContainer1.Panel1.Controls.Add(this.btnGetTrendbars); 315 | this.splitContainer1.Panel1.Controls.Add(this.btnGetTickData); 316 | this.splitContainer1.Panel1.Controls.Add(this.btnGetSymbols); 317 | // 318 | // splitContainer1.Panel2 319 | // 320 | this.splitContainer1.Panel2.Controls.Add(this.txtMessages); 321 | this.splitContainer1.Size = new System.Drawing.Size(1186, 575); 322 | this.splitContainer1.SplitterDistance = 364; 323 | this.splitContainer1.TabIndex = 23; 324 | // 325 | // lblAccounts 326 | // 327 | this.lblAccounts.AutoSize = true; 328 | this.lblAccounts.Location = new System.Drawing.Point(12, 78); 329 | this.lblAccounts.Name = "lblAccounts"; 330 | this.lblAccounts.Size = new System.Drawing.Size(50, 13); 331 | this.lblAccounts.TabIndex = 31; 332 | this.lblAccounts.Text = "Account:"; 333 | // 334 | // cbAccounts 335 | // 336 | this.cbAccounts.FormattingEnabled = true; 337 | this.cbAccounts.Location = new System.Drawing.Point(73, 73); 338 | this.cbAccounts.Name = "cbAccounts"; 339 | this.cbAccounts.Size = new System.Drawing.Size(85, 21); 340 | this.cbAccounts.TabIndex = 30; 341 | this.cbAccounts.SelectedIndexChanged += new System.EventHandler(this.cbAccounts_SelectedIndexChanged); 342 | // 343 | // lblTakeProfit 344 | // 345 | this.lblTakeProfit.AutoSize = true; 346 | this.lblTakeProfit.Location = new System.Drawing.Point(680, 223); 347 | this.lblTakeProfit.Name = "lblTakeProfit"; 348 | this.lblTakeProfit.Size = new System.Drawing.Size(62, 13); 349 | this.lblTakeProfit.TabIndex = 29; 350 | this.lblTakeProfit.Text = "Take Profit:"; 351 | // 352 | // txtTakeProfit 353 | // 354 | this.txtTakeProfit.Location = new System.Drawing.Point(743, 220); 355 | this.txtTakeProfit.Name = "txtTakeProfit"; 356 | this.txtTakeProfit.Size = new System.Drawing.Size(100, 20); 357 | this.txtTakeProfit.TabIndex = 28; 358 | // 359 | // lblStolLoss 360 | // 361 | this.lblStolLoss.AutoSize = true; 362 | this.lblStolLoss.Location = new System.Drawing.Point(503, 221); 363 | this.lblStolLoss.Name = "lblStolLoss"; 364 | this.lblStolLoss.Size = new System.Drawing.Size(57, 13); 365 | this.lblStolLoss.TabIndex = 27; 366 | this.lblStolLoss.Text = "Stop Loss:"; 367 | // 368 | // lblID2 369 | // 370 | this.lblID2.AutoSize = true; 371 | this.lblID2.Location = new System.Drawing.Point(330, 223); 372 | this.lblID2.Name = "lblID2"; 373 | this.lblID2.Size = new System.Drawing.Size(61, 13); 374 | this.lblID2.TabIndex = 26; 375 | this.lblID2.Text = "Position ID:"; 376 | // 377 | // txtStopLoss 378 | // 379 | this.txtStopLoss.Location = new System.Drawing.Point(566, 218); 380 | this.txtStopLoss.Name = "txtStopLoss"; 381 | this.txtStopLoss.Size = new System.Drawing.Size(100, 20); 382 | this.txtStopLoss.TabIndex = 25; 383 | // 384 | // txtPositionIDTPSL 385 | // 386 | this.txtPositionIDTPSL.Location = new System.Drawing.Point(397, 217); 387 | this.txtPositionIDTPSL.Name = "txtPositionIDTPSL"; 388 | this.txtPositionIDTPSL.Size = new System.Drawing.Size(100, 20); 389 | this.txtPositionIDTPSL.TabIndex = 24; 390 | // 391 | // btnAmentSLTP 392 | // 393 | this.btnAmentSLTP.Location = new System.Drawing.Point(164, 218); 394 | this.btnAmentSLTP.Name = "btnAmentSLTP"; 395 | this.btnAmentSLTP.Size = new System.Drawing.Size(160, 23); 396 | this.btnAmentSLTP.TabIndex = 23; 397 | this.btnAmentSLTP.Text = "Amend Stop Loss/Take Profit"; 398 | this.btnAmentSLTP.UseVisualStyleBackColor = true; 399 | this.btnAmentSLTP.Click += new System.EventHandler(this.btnAmentSLTP_Click); 400 | // 401 | // timer2 402 | // 403 | this.timer2.Enabled = true; 404 | this.timer2.Interval = 5000; 405 | this.timer2.Tick += new System.EventHandler(this.timer2_Tick); 406 | // 407 | // Main 408 | // 409 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 410 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 411 | this.ClientSize = new System.Drawing.Size(1186, 575); 412 | this.Controls.Add(this.splitContainer1); 413 | this.Name = "Main"; 414 | this.ShowIcon = false; 415 | this.Text = "Open API Client"; 416 | this.Load += new System.EventHandler(this.Main_Load); 417 | this.splitContainer1.Panel1.ResumeLayout(false); 418 | this.splitContainer1.Panel1.PerformLayout(); 419 | this.splitContainer1.Panel2.ResumeLayout(false); 420 | this.splitContainer1.Panel2.PerformLayout(); 421 | ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); 422 | this.splitContainer1.ResumeLayout(false); 423 | this.ResumeLayout(false); 424 | 425 | } 426 | 427 | #endregion 428 | 429 | private System.Windows.Forms.TextBox txtMessages; 430 | private System.Windows.Forms.Button btnAuthorizeApplication; 431 | private System.Windows.Forms.Timer timer1; 432 | private System.Windows.Forms.Button btnGetAccountsList; 433 | private System.Windows.Forms.Button btnSendMarketOrder; 434 | private System.Windows.Forms.Button btnSubscribeForSpots; 435 | private System.Windows.Forms.Button btnUnSubscribeFrorSpots; 436 | private System.Windows.Forms.Button btnGetDealsList; 437 | private System.Windows.Forms.Button btnGetOrders; 438 | private System.Windows.Forms.Button btnGetTransactions; 439 | private System.Windows.Forms.Button btnGetTrendbars; 440 | private System.Windows.Forms.Button btnGetTickData; 441 | private System.Windows.Forms.Button btnGetSymbols; 442 | private System.Windows.Forms.Button btnSendStopOrder; 443 | private System.Windows.Forms.Button btnSendLimitOrder; 444 | private System.Windows.Forms.Button btnSendStopLimitOrder; 445 | private System.Windows.Forms.Button btnClosePosition; 446 | private System.Windows.Forms.TextBox txtPositionID; 447 | private System.Windows.Forms.TextBox txtVolume; 448 | private System.Windows.Forms.Label lblID; 449 | private System.Windows.Forms.Label lblVolume; 450 | private System.Windows.Forms.Button btnClear; 451 | private System.Windows.Forms.SplitContainer splitContainer1; 452 | private System.Windows.Forms.Label lblTakeProfit; 453 | private System.Windows.Forms.TextBox txtTakeProfit; 454 | private System.Windows.Forms.Label lblStolLoss; 455 | private System.Windows.Forms.Label lblID2; 456 | private System.Windows.Forms.TextBox txtStopLoss; 457 | private System.Windows.Forms.TextBox txtPositionIDTPSL; 458 | private System.Windows.Forms.Button btnAmentSLTP; 459 | private System.Windows.Forms.Timer timer2; 460 | private System.Windows.Forms.Label lblAccounts; 461 | private System.Windows.Forms.ComboBox cbAccounts; 462 | } 463 | } 464 | 465 | -------------------------------------------------------------------------------- /Open API 2.0 Sample/Main.cs: -------------------------------------------------------------------------------- 1 | using Connect_API.Trading; 2 | using Open_API_Library; 3 | using System; 4 | using System.Collections; 5 | using System.Collections.Generic; 6 | using System.Linq; 7 | using System.Net.Security; 8 | using System.Net.Sockets; 9 | using System.Security.Cryptography.X509Certificates; 10 | using System.Threading; 11 | using System.Windows.Forms; 12 | 13 | namespace Open_API_2._0_Sample 14 | { 15 | public partial class Main : Form 16 | { 17 | private string _clientId = "1849_HEzIPJY39nZJYDBtCwRUO5Q38w9C9QVzvIRuCDs0RsY1m0VDaG"; 18 | private string _clientSecret = "a5WKvkKlBJ7PsjdkiakAWKy9MLnCk5CzYeWyQWoSzFbubAOFGY"; 19 | private string _token = "_fSaTxCvwrkFATVC0rAA5QitI3CTf5tQnXHNYnnS0kY"; 20 | private string _apiHost = "demo.ctraderapi.com"; 21 | 22 | private int _apiPort = 5035; 23 | private long _accountID = 15084071; 24 | 25 | //private string _clientId = "185_Cmy5vh47ORewO95NsLCbz10Xn6RAzxFA13fgyg5xTKhzuxj7jr"; 26 | //private string _clientSecret = "JcE4vc5TvscRmtouoqMZS8TxJ31119beYt1TInP4tnOqhCBHL9"; 27 | //private string _token = "bCLrebRzU3Lhq3eXf6y7-Xls6yfVAJNqUwLFk0__yoM"; 28 | //private string _apiHost = "sandbox-tradeapi.spotware.com"; 29 | // private int _accountID = 102741; 30 | // private int _apiPort = 5035; 31 | private TcpClient _tcpClient = new TcpClient(); 32 | 33 | private SslStream _apiSocket; 34 | private static Queue _writeQueue = new Queue(); // not thread safe 35 | private static Queue _readQueue = new Queue(); // not thread safe 36 | private static Queue writeQueueSync = Queue.Synchronized(_writeQueue); // thread safe 37 | private static Queue readQueueSync = Queue.Synchronized(_readQueue); // thread safe 38 | private static volatile bool isShutdown; 39 | private static volatile bool isRestart; 40 | private static int MaxMessageSize = 1000000; 41 | private static long testOrderId = -1; 42 | private static long testPositionId = -1; 43 | private IList _accounts; 44 | private List _traders; 45 | 46 | public Main() 47 | { 48 | _tcpClient = new TcpClient(_apiHost, _apiPort); ; 49 | _apiSocket = new SslStream(_tcpClient.GetStream(), false, new RemoteCertificateValidationCallback(ValidateServerCertificate), null); 50 | _apiSocket.AuthenticateAsClient(_apiHost); 51 | Thread tl = new Thread(() => 52 | { 53 | Thread.CurrentThread.IsBackground = true; 54 | try 55 | { 56 | Listen(_apiSocket, readQueueSync); 57 | } 58 | catch (Exception e) 59 | { 60 | Console.WriteLine("Listener throws exception: {0}", e); 61 | } 62 | }); 63 | tl.Start(); 64 | InitializeComponent(); 65 | } 66 | 67 | // listener thread 68 | private void Listen(SslStream sslStream, Queue messagesQueue) 69 | { 70 | isShutdown = false; 71 | while (!isShutdown) 72 | { 73 | Thread.Sleep(1); 74 | 75 | byte[] _length = new byte[sizeof(int)]; 76 | int readBytes = 0; 77 | do 78 | { 79 | Thread.Sleep(0); 80 | readBytes += sslStream.Read(_length, readBytes, _length.Length - readBytes); 81 | } while (readBytes < _length.Length); 82 | 83 | int length = BitConverter.ToInt32(_length.Reverse().ToArray(), 0); 84 | if (length <= 0) 85 | continue; 86 | 87 | if (length > MaxMessageSize) 88 | { 89 | string exceptionMsg = "Message length " + length.ToString() + " is out of range (0 - " + MaxMessageSize.ToString() + ")"; 90 | throw new System.IndexOutOfRangeException(); 91 | } 92 | 93 | byte[] _message = new byte[length]; 94 | readBytes = 0; 95 | do 96 | { 97 | Thread.Sleep(0); 98 | readBytes += sslStream.Read(_message, readBytes, _message.Length - readBytes); 99 | } while (readBytes < length); 100 | var msgFactory = new OpenApiMessagesFactory(); 101 | var protoMessage = msgFactory.GetMessage(_message); 102 | messagesQueue.Enqueue("Received: " + OpenApiMessagesPresentation.ToString(protoMessage)); 103 | switch ((ProtoOAPayloadType)protoMessage.PayloadType) 104 | { 105 | case ProtoOAPayloadType.PROTO_OA_EXECUTION_EVENT: 106 | var _payload_msg = msgFactory.GetExecutionEvent(_message); 107 | if (_payload_msg.HasOrder) 108 | { 109 | testOrderId = _payload_msg.Order.OrderId; 110 | } 111 | if (_payload_msg.HasPosition) 112 | { 113 | testPositionId = _payload_msg.Position.PositionId; 114 | } 115 | break; 116 | 117 | case ProtoOAPayloadType.PROTO_OA_GET_ACCOUNTS_BY_ACCESS_TOKEN_RES: 118 | var _accounts_list = ProtoOAGetAccountListByAccessTokenRes.CreateBuilder().MergeFrom(protoMessage.Payload).Build(); 119 | _accounts = _accounts_list.CtidTraderAccountList; 120 | 121 | break; 122 | 123 | case ProtoOAPayloadType.PROTO_OA_TRADER_RES: 124 | var trader = ProtoOATraderRes.CreateBuilder().MergeFrom(protoMessage.Payload).Build(); 125 | _traders.Add(trader.Trader); 126 | break; 127 | 128 | default: 129 | break; 130 | }; 131 | } 132 | } 133 | 134 | private void Transmit(ProtoMessage msg, bool log = true) 135 | { 136 | if (log) 137 | { 138 | txtMessages.Text += "Send: " + OpenApiMessagesPresentation.ToString(msg); 139 | txtMessages.Text += Environment.NewLine; 140 | } 141 | var msgByteArray = msg.ToByteArray(); 142 | byte[] length = BitConverter.GetBytes(msgByteArray.Length).Reverse().ToArray(); 143 | _apiSocket.Write(length); 144 | _apiSocket.Write(msgByteArray); 145 | } 146 | 147 | private void btnAuthorizeApplication_Click(object sender, EventArgs e) 148 | { 149 | var msgFactory = new OpenApiMessagesFactory(); 150 | var msg = msgFactory.CreateAppAuthorizationRequest(_clientId, _clientSecret); 151 | Transmit(msg); 152 | } 153 | 154 | private void Main_Load(object sender, EventArgs e) 155 | { 156 | } 157 | 158 | private bool ValidateServerCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) 159 | { 160 | if (sslPolicyErrors == SslPolicyErrors.None) 161 | return true; 162 | Console.WriteLine("Certificate error: {0}", sslPolicyErrors); 163 | return false; 164 | } 165 | 166 | private void btnGetAccountsList_Click(object sender, EventArgs e) 167 | { 168 | var msgFactory = new OpenApiMessagesFactory(); 169 | var msg = msgFactory.CreateAccountListRequest(_token); 170 | Transmit(msg); 171 | 172 | while (_accounts == null) 173 | { 174 | Thread.Sleep(100); 175 | } 176 | _traders = new List(); 177 | foreach (var account in _accounts) 178 | { 179 | if (!account.IsLive) 180 | { 181 | var authMsg = msgFactory.CreateAccAuthorizationRequest(_token, (long)account.CtidTraderAccountId); 182 | Transmit(authMsg); 183 | Thread.Sleep(500); 184 | var traderMsg = msgFactory.CreateTraderRequest((long)account.CtidTraderAccountId); 185 | Transmit(traderMsg); 186 | } 187 | } 188 | Thread.Sleep(1000); 189 | foreach (var trader in _traders) 190 | { 191 | cbAccounts.Items.Add(trader.CtidTraderAccountId); 192 | } 193 | _accounts = null; 194 | } 195 | 196 | private void btnAuthorizeAccount_Click(object sender, EventArgs e) 197 | { 198 | var msgFactory = new OpenApiMessagesFactory(); 199 | var msg = msgFactory.CreateAccAuthorizationRequest(_token, _accountID); 200 | Transmit(msg); 201 | } 202 | 203 | private void btnSendMarketOrder_Click(object sender, EventArgs e) 204 | { 205 | var msgFactory = new OpenApiMessagesFactory(); 206 | var msg = msgFactory.CreateMarketOrderRequest(Convert.ToInt32(_accountID), _token, 1, ProtoOATradeSide.BUY, Convert.ToInt64(100000)); 207 | Transmit(msg); 208 | } 209 | 210 | private void timer1_Tick(object sender, EventArgs e) 211 | { 212 | if (_readQueue.Count > 0) 213 | { 214 | txtMessages.AppendText((string)_readQueue.Dequeue() + Environment.NewLine); 215 | } 216 | } 217 | 218 | private void btnSubscribeForSpots_Click(object sender, EventArgs e) 219 | { 220 | var msgFactory = new OpenApiMessagesFactory(); 221 | var msg = msgFactory.CreateSubscribeForSpotsRequest(_accountID, 1); 222 | Transmit(msg); 223 | } 224 | 225 | private void btnUnSubscribeFromSpots_Click(object sender, EventArgs e) 226 | { 227 | var msgFactory = new OpenApiMessagesFactory(); 228 | var msg = msgFactory.CreateUnsubscribeFromSpotsRequest(_accountID, 1); 229 | Transmit(msg); 230 | } 231 | 232 | private void btnGetDealsList_Click(object sender, EventArgs e) 233 | { 234 | var msgFactory = new OpenApiMessagesFactory(); 235 | // var msg = msgFactory.CreateDealsListRequest(_accountID, 1526342400, 1540000000000); 236 | var startDate = new DateTimeOffset(DateTime.Now.AddDays(-7)); 237 | var now = new DateTimeOffset(DateTime.Now); 238 | var msg = msgFactory.CreateDealsListRequest(_accountID, startDate.ToUnixTimeMilliseconds(), now.ToUnixTimeMilliseconds()); 239 | Transmit(msg); 240 | } 241 | 242 | private void btnGetOrders_Click(object sender, EventArgs e) 243 | { 244 | var msgFactory = new OpenApiMessagesFactory(); 245 | var msg = msgFactory.CreateReconcileRequest(_accountID); 246 | Transmit(msg); 247 | } 248 | 249 | private void btnGetTransactions_Click(object sender, EventArgs e) 250 | { 251 | var msgFactory = new OpenApiMessagesFactory(); 252 | var msg = msgFactory.CreateCashflowHistoryRequest(_accountID, ((DateTimeOffset)DateTime.Now.AddDays(-5)).ToUnixTimeMilliseconds(), ((DateTimeOffset)DateTime.Now).ToUnixTimeMilliseconds()); 253 | Transmit(msg); 254 | } 255 | 256 | private void btnGetTrendbars_Click(object sender, EventArgs e) 257 | { 258 | var msgFactory = new OpenApiMessagesFactory(); 259 | var msg = msgFactory.CreateTrendbarsRequest(_accountID, 1, ((DateTimeOffset)DateTime.Now.AddDays(-35)).ToUnixTimeMilliseconds(), ((DateTimeOffset)DateTime.Now).ToUnixTimeMilliseconds(), ProtoOATrendbarPeriod.M1); 260 | Transmit(msg); 261 | } 262 | 263 | private void btnGetTickData_Click(object sender, EventArgs e) 264 | { 265 | var msgFactory = new OpenApiMessagesFactory(); 266 | var msg = msgFactory.CreateTickDataRequest(_accountID, 1, ((DateTimeOffset)DateTime.Now.AddDays(-35)).ToUnixTimeMilliseconds(), ((DateTimeOffset)DateTime.Now).ToUnixTimeMilliseconds(), ProtoOAQuoteType.BID, "EURUSD"); 267 | Transmit(msg); 268 | } 269 | 270 | private void btnGetSymbols_Click(object sender, EventArgs e) 271 | { 272 | var msgFactory = new OpenApiMessagesFactory(); 273 | var msg = msgFactory.CreateSymbolsListRequest(_accountID); 274 | Transmit(msg); 275 | } 276 | 277 | private void btnGetProfile_Click(object sender, EventArgs e) 278 | { 279 | } 280 | 281 | private void btnSendStopOrder_Click(object sender, EventArgs e) 282 | { 283 | var msgFactory = new OpenApiMessagesFactory(); 284 | var msg = msgFactory.CreateStopOrderRequest(Convert.ToInt32(_accountID), _token, 1, ProtoOATradeSide.BUY, Convert.ToInt64(100000), 1.2); 285 | Transmit(msg); 286 | } 287 | 288 | private void btnSendLimitOrder_Click(object sender, EventArgs e) 289 | { 290 | var msgFactory = new OpenApiMessagesFactory(); 291 | var msg = msgFactory.CreateLimitOrderRequest(Convert.ToInt32(_accountID), _token, 1, ProtoOATradeSide.BUY, Convert.ToInt64(100000), 1.1); 292 | Transmit(msg); 293 | } 294 | 295 | private void btnSendStopLimitOrder_Click(object sender, EventArgs e) 296 | { 297 | var msgFactory = new OpenApiMessagesFactory(); 298 | var msg = msgFactory.CreateStopLimitOrderRequest(Convert.ToInt32(_accountID), _token, 1, ProtoOATradeSide.BUY, Convert.ToInt64(100000), 1.2, 5); 299 | Transmit(msg); 300 | } 301 | 302 | private void btnClosePosition_Click(object sender, EventArgs e) 303 | { 304 | var msgFactory = new OpenApiMessagesFactory(); 305 | var msg = msgFactory.CreateClosePositionRequest(Convert.ToInt32(_accountID), _token, Convert.ToInt64(txtPositionID.Text), Convert.ToInt64(txtVolume.Text)); 306 | Transmit(msg); 307 | } 308 | 309 | private void btnClear_Click(object sender, EventArgs e) 310 | { 311 | txtMessages.Text = string.Empty; 312 | } 313 | 314 | private void btnAmentSLTP_Click(object sender, EventArgs e) 315 | { 316 | var msgFactory = new OpenApiMessagesFactory(); 317 | var msg = msgFactory.CreateAmendPositionStopLossTakeProfitRequest(Convert.ToInt32(_accountID), _token, Convert.ToInt64(txtPositionIDTPSL.Text), Convert.ToDouble(txtStopLoss.Text), Convert.ToDouble(txtTakeProfit.Text)); 318 | Transmit(msg); 319 | } 320 | 321 | private void timer2_Tick(object sender, EventArgs e) 322 | { 323 | var msgFactory = new OpenApiMessagesFactory(); 324 | var msg = msgFactory.CreateHeartbeatEvent(); 325 | Transmit(msg, false); 326 | } 327 | private void cbAccounts_SelectedIndexChanged(object sender, EventArgs e) 328 | { 329 | var msgFactory = new OpenApiMessagesFactory(); 330 | _accountID = (long)cbAccounts.SelectedItem; 331 | } 332 | } 333 | } -------------------------------------------------------------------------------- /Open API 2.0 Sample/Main.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 17, 17 122 | 123 | 124 | 104, 17 125 | 126 | 127 | 67 128 | 129 | -------------------------------------------------------------------------------- /Open API 2.0 Sample/Open API 2.0 WinForms Sample.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {DDABD191-094C-4008-AC07-A9357513D9AF} 8 | WinExe 9 | Open_API_2._0_Sample 10 | Open API 2.0 Sample 11 | v4.7.2 12 | 512 13 | true 14 | publish\ 15 | true 16 | Disk 17 | false 18 | Foreground 19 | 7 20 | Days 21 | false 22 | false 23 | true 24 | 0 25 | 1.0.0.%2a 26 | false 27 | false 28 | true 29 | 30 | 31 | 32 | AnyCPU 33 | true 34 | full 35 | false 36 | bin\Debug\ 37 | DEBUG;TRACE 38 | prompt 39 | 4 40 | 41 | 42 | AnyCPU 43 | pdbonly 44 | true 45 | bin\Release\ 46 | TRACE 47 | prompt 48 | 4 49 | 50 | 51 | 52 | ..\packages\Google.ProtocolBuffers.2.4.1.555\lib\net40\Google.ProtocolBuffers.dll 53 | 54 | 55 | ..\packages\Google.ProtocolBuffers.2.4.1.555\lib\net40\Google.ProtocolBuffers.Serialization.dll 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | Form 72 | 73 | 74 | Main.cs 75 | 76 | 77 | 78 | 79 | Main.cs 80 | 81 | 82 | ResXFileCodeGenerator 83 | Resources.Designer.cs 84 | Designer 85 | 86 | 87 | True 88 | Resources.resx 89 | True 90 | 91 | 92 | 93 | SettingsSingleFileGenerator 94 | Settings.Designer.cs 95 | 96 | 97 | True 98 | Settings.settings 99 | True 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | {6cdd44d5-2586-4406-84e4-216b5ebb4b15} 108 | Open API Library 109 | 110 | 111 | 112 | 113 | False 114 | Microsoft .NET Framework 4.6.1 %28x86 and x64%29 115 | true 116 | 117 | 118 | False 119 | .NET Framework 3.5 SP1 120 | false 121 | 122 | 123 | 124 | -------------------------------------------------------------------------------- /Open API 2.0 Sample/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace Open_API_2._0_Sample 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// The main entry point for the application. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new Main()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Open API 2.0 Sample/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("Open API 2.0 Sample")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Open API 2.0 Sample")] 13 | [assembly: AssemblyCopyright("Copyright © 2018")] 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("c7155d2b-17cc-411b-9725-67fed4469ddf")] 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 | -------------------------------------------------------------------------------- /Open API 2.0 Sample/Properties/Resources.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 Open_API_2._0_Sample.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// A strongly-typed resource class, for looking up localized strings, etc. 17 | /// 18 | // This class was auto-generated by the StronglyTypedResourceBuilder 19 | // class via a tool like ResGen or Visual Studio. 20 | // To add or remove a member, edit your .ResX file then rerun ResGen 21 | // with the /str option, or rebuild your VS project. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() { 33 | } 34 | 35 | /// 36 | /// Returns the cached ResourceManager instance used by this class. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Open_API_2._0_Sample.Properties.Resources", typeof(Resources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Overrides the current thread's CurrentUICulture property for all 51 | /// resource lookups using this strongly typed resource class. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /Open API 2.0 Sample/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /Open API 2.0 Sample/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 Open_API_2._0_Sample.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.7.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 | } 27 | -------------------------------------------------------------------------------- /Open API 2.0 Sample/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Open API 2.0 Sample/bin/Debug/Google.ProtocolBuffers.Serialization.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/bin/Debug/Google.ProtocolBuffers.Serialization.dll -------------------------------------------------------------------------------- /Open API 2.0 Sample/bin/Debug/Google.ProtocolBuffers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/bin/Debug/Google.ProtocolBuffers.dll -------------------------------------------------------------------------------- /Open API 2.0 Sample/bin/Debug/Open API 2.0 Sample.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/bin/Debug/Open API 2.0 Sample.exe -------------------------------------------------------------------------------- /Open API 2.0 Sample/bin/Debug/Open API 2.0 Sample.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Open API 2.0 Sample/bin/Debug/Open API 2.0 Sample.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/bin/Debug/Open API 2.0 Sample.pdb -------------------------------------------------------------------------------- /Open API 2.0 Sample/bin/Debug/Open API Library.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/bin/Debug/Open API Library.dll -------------------------------------------------------------------------------- /Open API 2.0 Sample/bin/Debug/Open API Library.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/bin/Debug/Open API Library.pdb -------------------------------------------------------------------------------- /Open API 2.0 Sample/bin/Release/Google.ProtocolBuffers.Serialization.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/bin/Release/Google.ProtocolBuffers.Serialization.dll -------------------------------------------------------------------------------- /Open API 2.0 Sample/bin/Release/Google.ProtocolBuffers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/bin/Release/Google.ProtocolBuffers.dll -------------------------------------------------------------------------------- /Open API 2.0 Sample/bin/Release/Open API 2.0 Sample.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/bin/Release/Open API 2.0 Sample.exe -------------------------------------------------------------------------------- /Open API 2.0 Sample/bin/Release/Open API 2.0 Sample.exe.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Open API 2.0 Sample/bin/Release/Open API 2.0 Sample.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/bin/Release/Open API 2.0 Sample.pdb -------------------------------------------------------------------------------- /Open API 2.0 Sample/bin/Release/Open API Library.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/bin/Release/Open API Library.dll -------------------------------------------------------------------------------- /Open API 2.0 Sample/bin/Release/Open API Library.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/bin/Release/Open API Library.pdb -------------------------------------------------------------------------------- /Open API 2.0 Sample/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs: -------------------------------------------------------------------------------- 1 | // 2 | using System; 3 | using System.Reflection; 4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] 5 | -------------------------------------------------------------------------------- /Open API 2.0 Sample/obj/Debug/DesignTimeResolveAssemblyReferences.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/obj/Debug/DesignTimeResolveAssemblyReferences.cache -------------------------------------------------------------------------------- /Open API 2.0 Sample/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /Open API 2.0 Sample/obj/Debug/Open API 2.0 Sample.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/obj/Debug/Open API 2.0 Sample.exe -------------------------------------------------------------------------------- /Open API 2.0 Sample/obj/Debug/Open API 2.0 Sample.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/obj/Debug/Open API 2.0 Sample.pdb -------------------------------------------------------------------------------- /Open API 2.0 Sample/obj/Debug/Open API 2.0 WinForms Sample.csproj.CopyComplete: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/obj/Debug/Open API 2.0 WinForms Sample.csproj.CopyComplete -------------------------------------------------------------------------------- /Open API 2.0 Sample/obj/Debug/Open API 2.0 WinForms Sample.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | d73b9cad63832e349ab658914d662bca0f5c42af 2 | -------------------------------------------------------------------------------- /Open API 2.0 Sample/obj/Debug/Open API 2.0 WinForms Sample.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API 2.0 Sample\obj\Debug\Open API 2.0 WinForms Sample.csprojAssemblyReference.cache 2 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API 2.0 Sample\obj\Debug\Open_API_2._0_Sample.Main.resources 3 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API 2.0 Sample\obj\Debug\Open API 2.0 WinForms Sample.csproj.GenerateResource.cache 4 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API 2.0 Sample\bin\Debug\Open API 2.0 Sample.exe.config 5 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API 2.0 Sample\bin\Debug\Open API 2.0 Sample.exe 6 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API 2.0 Sample\bin\Debug\Open API 2.0 Sample.pdb 7 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API 2.0 Sample\bin\Debug\Google.ProtocolBuffers.dll 8 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API 2.0 Sample\bin\Debug\Google.ProtocolBuffers.Serialization.dll 9 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API 2.0 Sample\bin\Debug\Open API Library.dll 10 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API 2.0 Sample\bin\Debug\Open API Library.pdb 11 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API 2.0 Sample\bin\Debug\Google.ProtocolBuffers.xml 12 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API 2.0 Sample\bin\Debug\Google.ProtocolBuffers.Serialization.xml 13 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API 2.0 Sample\obj\Debug\Open_API_2._0_Sample.Properties.Resources.resources 14 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API 2.0 Sample\obj\Debug\Open API 2.0 WinForms Sample.csproj.CoreCompileInputs.cache 15 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API 2.0 Sample\obj\Debug\Open API 2.0 WinForms Sample.csproj.CopyComplete 16 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API 2.0 Sample\obj\Debug\Open API 2.0 Sample.exe 17 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API 2.0 Sample\obj\Debug\Open API 2.0 Sample.pdb 18 | C:\Users\pcharalampous.CTRADER\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\bin\Debug\Open API 2.0 Sample.exe.config 19 | C:\Users\pcharalampous.CTRADER\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\bin\Debug\Open API 2.0 Sample.exe 20 | C:\Users\pcharalampous.CTRADER\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\bin\Debug\Open API 2.0 Sample.pdb 21 | C:\Users\pcharalampous.CTRADER\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\bin\Debug\Google.ProtocolBuffers.dll 22 | C:\Users\pcharalampous.CTRADER\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\bin\Debug\Google.ProtocolBuffers.Serialization.dll 23 | C:\Users\pcharalampous.CTRADER\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\bin\Debug\Open API Library.dll 24 | C:\Users\pcharalampous.CTRADER\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\bin\Debug\Open API Library.pdb 25 | C:\Users\pcharalampous.CTRADER\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\bin\Debug\Google.ProtocolBuffers.xml 26 | C:\Users\pcharalampous.CTRADER\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\bin\Debug\Google.ProtocolBuffers.Serialization.xml 27 | C:\Users\pcharalampous.CTRADER\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\obj\Debug\Open API 2.0 WinForms Sample.csprojAssemblyReference.cache 28 | C:\Users\pcharalampous.CTRADER\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\obj\Debug\Open_API_2._0_Sample.Main.resources 29 | C:\Users\pcharalampous.CTRADER\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\obj\Debug\Open_API_2._0_Sample.Properties.Resources.resources 30 | C:\Users\pcharalampous.CTRADER\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\obj\Debug\Open API 2.0 WinForms Sample.csproj.GenerateResource.cache 31 | C:\Users\pcharalampous.CTRADER\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\obj\Debug\Open API 2.0 WinForms Sample.csproj.CoreCompileInputs.cache 32 | C:\Users\pcharalampous.CTRADER\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\obj\Debug\Open API 2.0 WinForms Sample.csproj.CopyComplete 33 | C:\Users\pcharalampous.CTRADER\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\obj\Debug\Open API 2.0 Sample.exe 34 | C:\Users\pcharalampous.CTRADER\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\obj\Debug\Open API 2.0 Sample.pdb 35 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\bin\Debug\Open API 2.0 Sample.exe.config 36 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\bin\Debug\Open API 2.0 Sample.exe 37 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\bin\Debug\Open API 2.0 Sample.pdb 38 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\bin\Debug\Google.ProtocolBuffers.dll 39 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\bin\Debug\Google.ProtocolBuffers.Serialization.dll 40 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\bin\Debug\Open API Library.dll 41 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\bin\Debug\Open API Library.pdb 42 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\bin\Debug\Google.ProtocolBuffers.xml 43 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\bin\Debug\Google.ProtocolBuffers.Serialization.xml 44 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\obj\Debug\Open API 2.0 WinForms Sample.csprojAssemblyReference.cache 45 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\obj\Debug\Open_API_2._0_Sample.Main.resources 46 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\obj\Debug\Open_API_2._0_Sample.Properties.Resources.resources 47 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\obj\Debug\Open API 2.0 WinForms Sample.csproj.GenerateResource.cache 48 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\obj\Debug\Open API 2.0 WinForms Sample.csproj.CoreCompileInputs.cache 49 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\obj\Debug\Open API 2.0 WinForms Sample.csproj.CopyComplete 50 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\obj\Debug\Open API 2.0 Sample.exe 51 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\obj\Debug\Open API 2.0 Sample.pdb 52 | -------------------------------------------------------------------------------- /Open API 2.0 Sample/obj/Debug/Open API 2.0 WinForms Sample.csproj.GenerateResource.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/obj/Debug/Open API 2.0 WinForms Sample.csproj.GenerateResource.cache -------------------------------------------------------------------------------- /Open API 2.0 Sample/obj/Debug/Open API 2.0 WinForms Sample.csprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/obj/Debug/Open API 2.0 WinForms Sample.csprojAssemblyReference.cache -------------------------------------------------------------------------------- /Open API 2.0 Sample/obj/Debug/Open_API_2._0_Sample.Main.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/obj/Debug/Open_API_2._0_Sample.Main.resources -------------------------------------------------------------------------------- /Open API 2.0 Sample/obj/Debug/Open_API_2._0_Sample.Properties.Resources.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/obj/Debug/Open_API_2._0_Sample.Properties.Resources.resources -------------------------------------------------------------------------------- /Open API 2.0 Sample/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll -------------------------------------------------------------------------------- /Open API 2.0 Sample/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs -------------------------------------------------------------------------------- /Open API 2.0 Sample/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs -------------------------------------------------------------------------------- /Open API 2.0 Sample/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs -------------------------------------------------------------------------------- /Open API 2.0 Sample/obj/Release/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs: -------------------------------------------------------------------------------- 1 | // 2 | using System; 3 | using System.Reflection; 4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] 5 | -------------------------------------------------------------------------------- /Open API 2.0 Sample/obj/Release/DesignTimeResolveAssemblyReferences.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/obj/Release/DesignTimeResolveAssemblyReferences.cache -------------------------------------------------------------------------------- /Open API 2.0 Sample/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /Open API 2.0 Sample/obj/Release/Open API 2.0 Sample.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/obj/Release/Open API 2.0 Sample.exe -------------------------------------------------------------------------------- /Open API 2.0 Sample/obj/Release/Open API 2.0 Sample.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/obj/Release/Open API 2.0 Sample.pdb -------------------------------------------------------------------------------- /Open API 2.0 Sample/obj/Release/Open API 2.0 WinForms Sample.csproj.CopyComplete: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/obj/Release/Open API 2.0 WinForms Sample.csproj.CopyComplete -------------------------------------------------------------------------------- /Open API 2.0 Sample/obj/Release/Open API 2.0 WinForms Sample.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | 2d3149c7ef77e022675a0e33a2c5eaf7a8ed3817 2 | -------------------------------------------------------------------------------- /Open API 2.0 Sample/obj/Release/Open API 2.0 WinForms Sample.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\bin\Release\Open API 2.0 Sample.exe.config 2 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\bin\Release\Open API 2.0 Sample.exe 3 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\bin\Release\Open API 2.0 Sample.pdb 4 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\bin\Release\Google.ProtocolBuffers.dll 5 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\bin\Release\Google.ProtocolBuffers.Serialization.dll 6 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\bin\Release\Open API Library.dll 7 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\bin\Release\Open API Library.pdb 8 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\bin\Release\Google.ProtocolBuffers.xml 9 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\bin\Release\Google.ProtocolBuffers.Serialization.xml 10 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\obj\Release\Open API 2.0 WinForms Sample.csprojAssemblyReference.cache 11 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\obj\Release\Open_API_2._0_Sample.Main.resources 12 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\obj\Release\Open_API_2._0_Sample.Properties.Resources.resources 13 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\obj\Release\Open API 2.0 WinForms Sample.csproj.GenerateResource.cache 14 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\obj\Release\Open API 2.0 WinForms Sample.csproj.CoreCompileInputs.cache 15 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\obj\Release\Open API 2.0 WinForms Sample.csproj.CopyComplete 16 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\obj\Release\Open API 2.0 Sample.exe 17 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API 2.0 Sample\obj\Release\Open API 2.0 Sample.pdb 18 | -------------------------------------------------------------------------------- /Open API 2.0 Sample/obj/Release/Open API 2.0 WinForms Sample.csproj.GenerateResource.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/obj/Release/Open API 2.0 WinForms Sample.csproj.GenerateResource.cache -------------------------------------------------------------------------------- /Open API 2.0 Sample/obj/Release/Open API 2.0 WinForms Sample.csprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/obj/Release/Open API 2.0 WinForms Sample.csprojAssemblyReference.cache -------------------------------------------------------------------------------- /Open API 2.0 Sample/obj/Release/Open_API_2._0_Sample.Main.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/obj/Release/Open_API_2._0_Sample.Main.resources -------------------------------------------------------------------------------- /Open API 2.0 Sample/obj/Release/Open_API_2._0_Sample.Properties.Resources.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/obj/Release/Open_API_2._0_Sample.Properties.Resources.resources -------------------------------------------------------------------------------- /Open API 2.0 Sample/obj/Release/TempPE/Properties.Resources.Designer.cs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API 2.0 Sample/obj/Release/TempPE/Properties.Resources.Designer.cs.dll -------------------------------------------------------------------------------- /Open API 2.0 Sample/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Open API Library/Open API Library.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {6CDD44D5-2586-4406-84E4-216B5EBB4B15} 8 | Library 9 | Properties 10 | Open_API_Library 11 | Open API Library 12 | v4.6.1 13 | 512 14 | 15 | 16 | true 17 | full 18 | false 19 | bin\Debug\ 20 | DEBUG;TRACE 21 | prompt 22 | 4 23 | 24 | 25 | pdbonly 26 | true 27 | bin\Release\ 28 | TRACE 29 | prompt 30 | 4 31 | 32 | 33 | 34 | ..\packages\Google.ProtocolBuffers.2.4.1.555\lib\net40\Google.ProtocolBuffers.dll 35 | 36 | 37 | ..\packages\Google.ProtocolBuffers.2.4.1.555\lib\net40\Google.ProtocolBuffers.Serialization.dll 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /Open API Library/OpenApiMessagesPresentation.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Google.ProtocolBuffers; 6 | 7 | namespace Connect_API.Trading 8 | { 9 | public class OpenApiMessagesPresentation 10 | { 11 | static string ProtoMessageToString(ProtoMessage msg) 12 | { 13 | if (!msg.HasPayload) 14 | return "ERROR in ProtoMessage: Corrupted execution event, no payload found"; 15 | var _str = "ProtoMessage{"; 16 | switch ((ProtoPayloadType)msg.PayloadType) 17 | { 18 | case ProtoPayloadType.PROTO_MESSAGE: 19 | var _msg = ProtoMessage.CreateBuilder().MergeFrom(msg.Payload).Build(); 20 | _str += ProtoMessageToString(_msg); 21 | break; 22 | 23 | case ProtoPayloadType.HEARTBEAT_EVENT: 24 | var _hb = ProtoHeartbeatEvent.CreateBuilder().MergeFrom(msg.Payload).Build(); 25 | _str += "Heartbeat"; 26 | break; 27 | case ProtoPayloadType.ERROR_RES: 28 | var _err = ProtoErrorRes.CreateBuilder().MergeFrom(msg.Payload).Build(); 29 | _str += "ErrorResponse{errorCode:" + _err.ErrorCode + (_err.HasDescription ? ", description:" + _err.Description : "") + "}"; 30 | break; 31 | default: 32 | _str += OpenApiMessageToString(msg); 33 | break; 34 | } 35 | 36 | _str += (msg.HasClientMsgId ? ", clientMsgId:" + msg.ClientMsgId : "") + "}"; 37 | 38 | return _str; 39 | } 40 | static string OpenApiMessageToString(ProtoMessage msg) 41 | { 42 | switch ((ProtoOAPayloadType)msg.PayloadType) 43 | { 44 | case ProtoOAPayloadType.PROTO_OA_APPLICATION_AUTH_REQ: 45 | var app_auth_req = ProtoOAApplicationAuthReq.CreateBuilder().MergeFrom(msg.Payload).Build(); 46 | return "AppAuthRequest{clientId:" + app_auth_req.ClientId + ", clientSecret:" + app_auth_req.ClientSecret + "}"; 47 | case ProtoOAPayloadType.PROTO_OA_APPLICATION_AUTH_RES: 48 | return "ApAuthResponse"; 49 | case ProtoOAPayloadType.PROTO_OA_ACCOUNT_AUTH_REQ: 50 | var acc_auth_req = ProtoOAAccountAuthReq.CreateBuilder().MergeFrom(msg.Payload).Build(); 51 | return "AccAuthRequest{CtidTraderAccountId:" + acc_auth_req.CtidTraderAccountId + "}"; 52 | case ProtoOAPayloadType.PROTO_OA_ACCOUNT_AUTH_RES: 53 | return "AccAuthResponse"; 54 | case ProtoOAPayloadType.PROTO_OA_GET_ACCOUNTS_BY_ACCESS_TOKEN_REQ: 55 | return "GetAccountsByAccessTokenReq"; 56 | case ProtoOAPayloadType.PROTO_OA_GET_ACCOUNTS_BY_ACCESS_TOKEN_RES: 57 | var accounts_list = ProtoOAGetAccountListByAccessTokenRes.CreateBuilder().MergeFrom(msg.Payload).Build(); 58 | var sbAccounts = new StringBuilder(); 59 | foreach (var account in accounts_list.CtidTraderAccountList) 60 | { 61 | sbAccounts.Append("ID: " + account.CtidTraderAccountId + (account.IsLive ? " Status: Live" + Environment.NewLine : " Status: Demo "+ Environment.NewLine)); 62 | } 63 | return "GetAccountsByAccessTokenRes{" + sbAccounts.ToString() + "}"; 64 | case ProtoOAPayloadType.PROTO_OA_TRADER_REQ: 65 | return "PotoOATraderReq"; 66 | case ProtoOAPayloadType.PROTO_OA_SYMBOLS_LIST_REQ: 67 | return "GetSymbolsList"; 68 | case ProtoOAPayloadType.PROTO_OA_SYMBOLS_LIST_RES: 69 | var symbols_list = ProtoOASymbolsListRes.CreateBuilder().MergeFrom(msg.Payload).Build(); 70 | var sbSymbols = new StringBuilder(); 71 | foreach (var symbol in symbols_list.SymbolList) 72 | { 73 | sbSymbols.Append("ID: " + symbol.SymbolId + Environment.NewLine); 74 | sbSymbols.Append("Name: " + symbol.SymbolName + Environment.NewLine); 75 | } 76 | return "Symbols{" + sbSymbols.ToString() + "}"; 77 | case ProtoOAPayloadType.PROTO_OA_SYMBOL_BY_ID_REQ: 78 | return "GetSymbolsById"; 79 | case ProtoOAPayloadType.PROTO_OA_SYMBOL_BY_ID_RES: 80 | var symbol_by_id_list = ProtoOASymbolByIdRes.CreateBuilder().MergeFrom(msg.Payload).Build(); 81 | var sbSymbolByID = new StringBuilder(); 82 | foreach (var symbol in symbol_by_id_list.SymbolList) 83 | { 84 | sbSymbolByID.Append("ID: " + symbol.SymbolId + Environment.NewLine); 85 | } 86 | return "Symbols{" + sbSymbolByID.ToString() + "}"; 87 | case ProtoOAPayloadType.PROTO_OA_EXECUTION_EVENT: 88 | return OpenApiExecEventsToString(msg); 89 | case ProtoOAPayloadType.PROTO_OA_DEAL_LIST_REQ: 90 | return "DealListRequest{}"; 91 | case ProtoOAPayloadType.PROTO_OA_DEAL_LIST_RES: 92 | var deal_list = ProtoOADealListRes.CreateBuilder().MergeFrom(msg.Payload).Build(); 93 | var sbDeals = new StringBuilder(); 94 | foreach (var deal in deal_list.DealList) 95 | { 96 | sbDeals.Append("ID: " + deal.DealId + Environment.NewLine); 97 | sbDeals.Append("Status: " + deal.DealStatus + Environment.NewLine); 98 | sbDeals.Append("Volume: " + deal.Volume + Environment.NewLine); 99 | } 100 | return "DealList{"+ sbDeals.ToString()+"}"; 101 | case ProtoOAPayloadType.PROTO_OA_RECONCILE_REQ: 102 | return "ReconcileRequest{}"; 103 | case ProtoOAPayloadType.PROTO_OA_RECONCILE_RES: 104 | var reconcile_response = ProtoOAReconcileRes.CreateBuilder().MergeFrom(msg.Payload).Build(); 105 | var sbReconcile = new StringBuilder(); 106 | foreach (var order in reconcile_response.OrderList) 107 | { 108 | sbReconcile.Append("ID: " + order.OrderId + Environment.NewLine); 109 | sbReconcile.Append("Status: " + order.OrderStatus + Environment.NewLine); 110 | sbReconcile.Append("Volume: " + order.TradeData.Volume + Environment.NewLine); 111 | } 112 | foreach (var position in reconcile_response.PositionList) 113 | { 114 | sbReconcile.Append("ID: " + position.HasPositionId + Environment.NewLine); 115 | sbReconcile.Append("Status: " + position.PositionStatus + Environment.NewLine); 116 | sbReconcile.Append("Volume: " + position.TradeData.Volume + Environment.NewLine); 117 | } 118 | return "ReconcileList{" + sbReconcile.ToString() + "}"; 119 | case ProtoOAPayloadType.PROTO_OA_CASH_FLOW_HISTORY_LIST_REQ: 120 | return "CashFlowHistoryRequest{}"; 121 | case ProtoOAPayloadType.PROTO_OA_CASH_FLOW_HISTORY_LIST_RES: 122 | var cashflow_history = ProtoOACashFlowHistoryListRes.CreateBuilder().MergeFrom(msg.Payload).Build(); 123 | var sbDCashflow = new StringBuilder(); 124 | foreach (var entry in cashflow_history.DepositWithdrawList) 125 | { 126 | sbDCashflow.Append("ID: " + entry.BalanceHistoryId + Environment.NewLine); 127 | sbDCashflow.Append("Type: " + entry.OperationType + Environment.NewLine); 128 | sbDCashflow.Append("Delta: " + entry.Delta + Environment.NewLine); 129 | } 130 | return "CashFlowHistory{" + sbDCashflow.ToString() + "}"; 131 | case ProtoOAPayloadType.PROTO_OA_GET_TRENDBARS_REQ: 132 | return "GetTrendbarsRequest{}"; 133 | case ProtoOAPayloadType.PROTO_OA_GET_TRENDBARS_RES: 134 | var trendbar = ProtoOAGetTrendbarsRes.CreateBuilder().MergeFrom(msg.Payload).Build(); 135 | var sbTrendbar = new StringBuilder(); 136 | foreach (var entry in trendbar.TrendbarList) 137 | { 138 | sbTrendbar.Append("Open: " + entry.DeltaOpen + Environment.NewLine); 139 | sbTrendbar.Append("High: " + entry.DeltaHigh + Environment.NewLine); 140 | sbTrendbar.Append("Low: " + entry.Low + Environment.NewLine); 141 | sbTrendbar.Append("Close: " + entry.DeltaClose + Environment.NewLine); 142 | sbTrendbar.Append("Timestamp: " + entry.UtcTimestampInMinutes + Environment.NewLine); 143 | } 144 | return "Trendbars{" + sbTrendbar.ToString() + "}"; 145 | case ProtoOAPayloadType.PROTO_OA_GET_TICKDATA_REQ: 146 | return "GetTickDataRequest{}"; 147 | case ProtoOAPayloadType.PROTO_OA_GET_TICKDATA_RES: 148 | var tickData = ProtoOAGetTickDataRes.CreateBuilder().MergeFrom(msg.Payload).Build(); 149 | var sbTickData = new StringBuilder(); 150 | foreach (var entry in tickData.TickDataList) 151 | { 152 | sbTickData.Append("Tick: " + entry.Tick + " " + msg.ClientMsgId + Environment.NewLine); 153 | sbTickData.Append("Timestamp: " + entry.Timestamp + Environment.NewLine); 154 | } 155 | return "Tick Data{" + sbTickData.ToString() + "}"; 156 | case ProtoOAPayloadType.PROTO_OA_CANCEL_ORDER_REQ: 157 | return "CancelOrderRequest{}"; 158 | case ProtoOAPayloadType.PROTO_OA_NEW_ORDER_REQ: 159 | return "CreateOrderRequest{}"; 160 | case ProtoOAPayloadType.PROTO_OA_CLOSE_POSITION_REQ: 161 | return "ClosePositionRequest{}"; 162 | case ProtoOAPayloadType.PROTO_OA_AMEND_ORDER_REQ: 163 | return "AmendOrderRequest{}"; 164 | case ProtoOAPayloadType.PROTO_OA_AMEND_POSITION_SLTP_REQ: 165 | return "AmendPositionRequest{}"; 166 | case ProtoOAPayloadType.PROTO_OA_SUBSCRIBE_SPOTS_REQ: 167 | return "SubscribeForSpotsRequest{}"; 168 | case ProtoOAPayloadType.PROTO_OA_SUBSCRIBE_SPOTS_RES: 169 | return "SubscribeForSpotsResponse{}"; 170 | case ProtoOAPayloadType.PROTO_OA_UNSUBSCRIBE_SPOTS_REQ: 171 | return "UnsubscribeFromSpotsRequest{}"; 172 | case ProtoOAPayloadType.PROTO_OA_UNSUBSCRIBE_SPOTS_RES: 173 | return "UnsubscribeFromSpotsResponse{}"; 174 | case ProtoOAPayloadType.PROTO_OA_SPOT_EVENT: 175 | var _spot_event = ProtoOASpotEvent.CreateBuilder().MergeFrom(msg.Payload).Build(); 176 | return "SpotEvent{symbolId:" + _spot_event.SymbolId + ", bidPrice:" + (_spot_event.HasBid ? _spot_event.Bid.ToString() : " ") + ", askPrice:" + (_spot_event.HasAsk ? _spot_event.Ask.ToString() : " ") + "}"; 177 | case ProtoOAPayloadType.PROTO_OA_ERROR_RES: 178 | var _err = ProtoOAErrorRes.CreateBuilder().MergeFrom(msg.Payload).Build(); 179 | return "ErrorResponse{errorCode:" + _err.ErrorCode + (_err.HasDescription ? ", description:" + _err.Description : "") + "}"; 180 | case ProtoOAPayloadType.PROTO_OA_ORDER_ERROR_EVENT: 181 | var _orderErr = ProtoOAOrderErrorEvent.CreateBuilder().MergeFrom(msg.Payload).Build(); 182 | return "OrderErrorResponse{errorCode:" + _orderErr.ErrorCode + (_orderErr.HasDescription ? ", description:" + _orderErr.Description : "") + "}"; 183 | default: 184 | return "unknown"; 185 | } 186 | } 187 | static string OpenApiExecutionTypeToString(ProtoOAExecutionType executionType) 188 | { 189 | switch (executionType) 190 | { 191 | case ProtoOAExecutionType.ORDER_ACCEPTED: 192 | return "OrderAccepted"; 193 | case ProtoOAExecutionType.ORDER_REPLACED: 194 | return "OrderAmended"; 195 | case ProtoOAExecutionType.ORDER_CANCEL_REJECTED: 196 | return "OrderCancelRejected"; 197 | case ProtoOAExecutionType.ORDER_CANCELLED: 198 | return "OrderCancelled"; 199 | case ProtoOAExecutionType.ORDER_EXPIRED: 200 | return "OrderExpired"; 201 | case ProtoOAExecutionType.ORDER_FILLED: 202 | return "OrderFilled"; 203 | case ProtoOAExecutionType.ORDER_REJECTED: 204 | return "OrderRejected"; 205 | default: 206 | return "unknown"; 207 | } 208 | } 209 | static string OpenApiExecEventsToString(ProtoMessage msg) 210 | { 211 | if ((ProtoOAPayloadType)msg.PayloadType != ProtoOAPayloadType.PROTO_OA_EXECUTION_EVENT) 212 | return "ERROR in OpenApiExecutionEvents: Wrong message type"; 213 | 214 | if (!msg.HasPayload) 215 | return "ERROR in OpenApiExecutionEvents: Corrupted execution event, no payload found"; 216 | 217 | var _msg = ProtoOAExecutionEvent.CreateBuilder().MergeFrom(msg.Payload).Build(); 218 | var _str = OpenApiExecutionTypeToString(_msg.ExecutionType) + "{" + 219 | OpenApiOrderToString(_msg.Order) + 220 | (_msg.HasPosition ? ", " + OpenApiPositionToString(_msg.Position) : "") + 221 | (_msg.HasErrorCode ? ", errorCode:" + _msg.ErrorCode : ""); 222 | 223 | return _str + "}"; 224 | } 225 | static public string OpenApiOrderTypeToString(ProtoOAOrderType orderType) 226 | { 227 | switch (orderType) 228 | { 229 | case ProtoOAOrderType.LIMIT: 230 | return "LIMIT"; 231 | case ProtoOAOrderType.MARKET: 232 | return "MARKET"; 233 | case ProtoOAOrderType.MARKET_RANGE: 234 | return "MARKET RANGE"; 235 | case ProtoOAOrderType.STOP: 236 | return "STOP"; 237 | default: 238 | return "unknown"; 239 | } 240 | } 241 | static public string TradeSideToString(ProtoOATradeSide tradeSide) 242 | { 243 | switch (tradeSide) 244 | { 245 | case ProtoOATradeSide.BUY: 246 | return "BUY"; 247 | case ProtoOATradeSide.SELL: 248 | return "SELL"; 249 | default: 250 | return "unknown"; 251 | } 252 | } 253 | static public string OpenApiOrderToString(ProtoOAOrder order) 254 | { 255 | var _str = "Order{orderId:" + order.OrderId.ToString() + ", orderType:" + OpenApiOrderTypeToString(order.OrderType); 256 | _str += ", tradeSide:" + TradeSideToString(order.TradeData.TradeSide); 257 | _str += ", symbolName:" + order.TradeData.SymbolId + ", requestedVolume:" + order.TradeData.Volume.ToString() + ", executedVolume:" + order.ExecutedVolume.ToString() + ", closingOrder:" + 258 | (order.ClosingOrder ? "TRUE" : "FALSE") + 259 | (order.HasExecutionPrice ? ", executionPrice:" + order.ExecutionPrice.ToString() : "") + 260 | (order.HasLimitPrice ? ", limitPrice:" + order.LimitPrice.ToString() : "") + 261 | (order.HasStopPrice ? ", stopPrice:" + order.StopPrice.ToString() : "") + 262 | (order.HasStopLoss ? ", stopLossPrice:" + order.StopLoss.ToString() : "") + 263 | (order.HasTakeProfit ? ", takeProfitPrice:" + order.TakeProfit.ToString() : "") + 264 | (order.HasBaseSlippagePrice ? ", baseSlippagePrice:" + order.BaseSlippagePrice.ToString() : "") + 265 | (order.HasSlippageInPoints ? ", slippageInPoints:" + order.SlippageInPoints.ToString() : "") + 266 | (order.HasRelativeStopLoss ? ", relativeStopLoss:" + order.RelativeStopLoss.ToString() : "") + 267 | (order.HasRelativeTakeProfit ? ", relativeTakeProfit:" + order.RelativeTakeProfit.ToString() : "") + 268 | (order.HasExpirationTimestamp ? ", expirationTimestamp:" + order.ExpirationTimestamp.ToString() : "") ; 269 | return _str + "}"; 270 | } 271 | static public string OpenApiPositionStatusToString(ProtoOAPositionStatus positionStatus) 272 | { 273 | switch (positionStatus) 274 | { 275 | case ProtoOAPositionStatus.POSITION_STATUS_CLOSED: 276 | return "CLOSED"; 277 | case ProtoOAPositionStatus.POSITION_STATUS_OPEN: 278 | return "OPENED"; 279 | default: 280 | return "unknown"; 281 | } 282 | } 283 | static public string OpenApiPositionToString(ProtoOAPosition position) 284 | { 285 | var _str = "Position{positionId:" + position.PositionId.ToString() + ", positionStatus:" + OpenApiPositionStatusToString(position.PositionStatus); 286 | _str += ", tradeSide:" + TradeSideToString(position.TradeData.TradeSide); 287 | _str += ", symbolId:" + position.TradeData.SymbolId + ", volume:" + position.TradeData.Volume.ToString() + ", Price:" + position.Price.ToString() + ", swap:" + position.Swap.ToString() + 288 | ", commission:" + position.Commission.ToString() + ", openTimestamp:" + position.TradeData.OpenTimestamp.ToString() + 289 | (position.HasStopLoss ? ", stopLossPrice:" + position.StopLoss.ToString() : "") + 290 | (position.HasTakeProfit ? ", takeProfitPrice:" + position.TakeProfit.ToString() : ""); 291 | 292 | return _str + "}"; 293 | } 294 | static public string OpenApiClosePositionDetails(ProtoOAClosePositionDetail closePositionDetails) 295 | { 296 | return "ClosePositionDetails{entryPrice:" + closePositionDetails.EntryPrice.ToString() + 297 | ", profit:" + closePositionDetails.GrossProfit.ToString() + 298 | ", swap:" + closePositionDetails.Swap.ToString() + 299 | ", commission:" + closePositionDetails.Commission.ToString() + 300 | ", balance:" + closePositionDetails.Balance.ToString() + 301 | (closePositionDetails.HasQuoteToDepositConversionRate ? ", quoteToDepositConversionRate:" + closePositionDetails.QuoteToDepositConversionRate.ToString() : "") + 302 | ", closedVolume:" + closePositionDetails.ClosedVolume.ToString() + 303 | "}"; 304 | } 305 | static public string ToString(ProtoMessage msg) 306 | { 307 | return ProtoMessageToString(msg); 308 | } 309 | } 310 | } 311 | -------------------------------------------------------------------------------- /Open API Library/OpenApiModelObjectsFactory.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using Google.ProtocolBuffers; 6 | 7 | 8 | namespace Connect_API.Trading 9 | { 10 | public class OpenApiModelObjectsFactory 11 | { 12 | #region Building Proto Model objects from Byte array methods 13 | public ProtoOAOrder GetOrder(byte[] obj = null) 14 | { 15 | return ProtoOAOrder.CreateBuilder().MergeFrom(obj).Build(); 16 | } 17 | public ProtoOAPosition GetPosition(byte[] obj = null) 18 | { 19 | return ProtoOAPosition.CreateBuilder().MergeFrom(obj).Build(); 20 | } 21 | public ProtoOAClosePositionDetail GetClosePositionDetails(byte[] obj = null) 22 | { 23 | return ProtoOAClosePositionDetail.CreateBuilder().MergeFrom(obj).Build(); 24 | } 25 | //public ProtoOASpotSubscription GetSpotSubscription(byte[] obj = null) 26 | //{ 27 | // return ProtoOASpotSubscription.CreateBuilder().MergeFrom(obj).Build(); 28 | //} 29 | #endregion 30 | 31 | #region Creating new Proto Model objects with parameters specified 32 | public ProtoOAOrder.Builder CreateOrderBuilder(long orderId, long accountId, ProtoOAOrderType orderType, ProtoOATradeSide tradeSide, int symbolId, long requestedVolume, long executedVolume, bool closingOrder, 33 | string channel = null, string comment=null) 34 | { 35 | var _obj = ProtoOAOrder.CreateBuilder(); 36 | var _objTradeData = ProtoOATradeData.CreateBuilder(); 37 | _objTradeData.SetTradeSide(tradeSide); 38 | _objTradeData.SetSymbolId(symbolId); 39 | _objTradeData.SetVolume(requestedVolume); 40 | _obj.SetOrderId(orderId); 41 | // _obj.SetAccountId(accountId); 42 | _obj.SetOrderType(orderType); 43 | _obj.SetTradeData(_objTradeData); 44 | _obj.SetExecutedVolume(executedVolume); 45 | _obj.SetClosingOrder(closingOrder); 46 | //if (channel != null) 47 | // _obj.SetChannel(channel); 48 | //if (comment != null) 49 | // _obj.SetComment(comment); 50 | return _obj; 51 | } 52 | public ProtoOAPosition.Builder CreatePositionBuilder(long positionId, ProtoOAPositionStatus positionStatus, long accountId, ProtoOATradeSide tradeSide, int symbolId, long volume, double entryPrice, long swap, 53 | long commission, long openTimestamp, string channel = null, string comment = null) 54 | { 55 | var _obj = ProtoOAPosition.CreateBuilder(); 56 | var _objTradeData = ProtoOATradeData.CreateBuilder(); 57 | _obj.SetPositionId(positionId); 58 | _obj.SetPositionStatus(positionStatus); 59 | _objTradeData.SetTradeSide(tradeSide); 60 | _objTradeData.SetSymbolId(symbolId); 61 | _objTradeData.SetVolume(volume); 62 | _obj.SetSwap(swap); 63 | _obj.SetCommission(commission); 64 | _obj.SetTradeData(_objTradeData); 65 | // _obj.SetOpenTimestamp(openTimestamp); 66 | //if (channel != null) 67 | // _obj.SetChannel(channel); 68 | //if (comment != null) 69 | // _obj.SetComment(comment); 70 | return _obj; 71 | } 72 | public ProtoOAClosePositionDetail.Builder CreateClosePositionDetailsBuilder(double entryPrice, long profit, long swap, long commission, long balance, long closedVolume, bool closedByStopOut, string comment = null) 73 | { 74 | var _obj = ProtoOAClosePositionDetail.CreateBuilder(); 75 | _obj.SetEntryPrice(entryPrice); 76 | // _obj.SetProfit(profit); 77 | _obj.SetSwap(swap); 78 | _obj.SetCommission(commission); 79 | _obj.SetBalance(balance); 80 | _obj.SetClosedVolume(closedVolume); 81 | // _obj.SetClosedByStopOut(closedByStopOut); 82 | //if (comment != null) 83 | // _obj.SetComment(comment); 84 | return _obj; 85 | } 86 | //public ProtoOASpotSubscription.Builder CreateSpotSubscriptionBuilder(long accountId, uint subscriptionId) 87 | //{ 88 | // var _obj = ProtoOASpotSubscription.CreateBuilder(); 89 | // _obj.SetAccountId(accountId); 90 | // _obj.SetSubscriptionId(subscriptionId); 91 | // return _obj; 92 | //} 93 | #endregion 94 | } 95 | } 96 | -------------------------------------------------------------------------------- /Open API Library/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("Open API Library")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Open API Library")] 13 | [assembly: AssemblyCopyright("Copyright © 2018")] 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("6cdd44d5-2586-4406-84e4-216b5ebb4b15")] 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 | -------------------------------------------------------------------------------- /Open API Library/Proto/OpenApiCommonModelMessages.cs: -------------------------------------------------------------------------------- 1 | // Generated by ProtoGen, Version=2.4.1.555, Culture=neutral, PublicKeyToken=55f7125234beb589. DO NOT EDIT! 2 | #pragma warning disable 1591, 0612, 3021 3 | #region Designer generated code 4 | 5 | using pb = global::Google.ProtocolBuffers; 6 | using pbc = global::Google.ProtocolBuffers.Collections; 7 | using pbd = global::Google.ProtocolBuffers.Descriptors; 8 | using scg = global::System.Collections.Generic; 9 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 10 | public static partial class OpenApiCommonModelMessages { 11 | 12 | #region Extension registration 13 | public static void RegisterAllExtensions(pb::ExtensionRegistry registry) { 14 | } 15 | #endregion 16 | #region Static variables 17 | #endregion 18 | #region Descriptor 19 | public static pbd::FileDescriptor Descriptor { 20 | get { return descriptor; } 21 | } 22 | private static pbd::FileDescriptor descriptor; 23 | 24 | static OpenApiCommonModelMessages() { 25 | byte[] descriptorData = global::System.Convert.FromBase64String( 26 | string.Concat( 27 | "CiBPcGVuQXBpQ29tbW9uTW9kZWxNZXNzYWdlcy5wcm90bypJChBQcm90b1Bh", 28 | "eWxvYWRUeXBlEhEKDVBST1RPX01FU1NBR0UQBRINCglFUlJPUl9SRVMQMhIT", 29 | "Cg9IRUFSVEJFQVRfRVZFTlQQMyrwAQoOUHJvdG9FcnJvckNvZGUSEQoNVU5L", 30 | "Tk9XTl9FUlJPUhABEhcKE1VOU1VQUE9SVEVEX01FU1NBR0UQAhITCg9JTlZB", 31 | "TElEX1JFUVVFU1QQAxIRCg1USU1FT1VUX0VSUk9SEAUSFAoQRU5USVRZX05P", 32 | "VF9GT1VORBAGEhYKEkNBTlRfUk9VVEVfUkVRVUVTVBAHEhIKDkZSQU1FX1RP", 33 | "T19MT05HEAgSEQoNTUFSS0VUX0NMT1NFRBAJEhsKF0NPTkNVUlJFTlRfTU9E", 34 | "SUZJQ0FUSU9OEAoSGAoUQkxPQ0tFRF9QQVlMT0FEX1RZUEUQC0JNCihjb20u", 35 | "eHRyYWRlci5wcm90b2NvbC5wcm90by5jb21tb25zLm1vZGVsQhxDb250YWlu", 36 | "ZXJDb21tb25Nb2RlbE1lc3NhZ2VzUAGgAQE=")); 37 | pbd::FileDescriptor.InternalDescriptorAssigner assigner = delegate(pbd::FileDescriptor root) { 38 | descriptor = root; 39 | return null; 40 | }; 41 | pbd::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData, 42 | new pbd::FileDescriptor[] { 43 | }, assigner); 44 | } 45 | #endregion 46 | 47 | } 48 | #region Enums 49 | public enum ProtoPayloadType { 50 | PROTO_MESSAGE = 5, 51 | ERROR_RES = 50, 52 | HEARTBEAT_EVENT = 51, 53 | } 54 | 55 | public enum ProtoErrorCode { 56 | UNKNOWN_ERROR = 1, 57 | UNSUPPORTED_MESSAGE = 2, 58 | INVALID_REQUEST = 3, 59 | TIMEOUT_ERROR = 5, 60 | ENTITY_NOT_FOUND = 6, 61 | CANT_ROUTE_REQUEST = 7, 62 | FRAME_TOO_LONG = 8, 63 | MARKET_CLOSED = 9, 64 | CONCURRENT_MODIFICATION = 10, 65 | BLOCKED_PAYLOAD_TYPE = 11, 66 | } 67 | 68 | #endregion 69 | 70 | 71 | #endregion Designer generated code 72 | -------------------------------------------------------------------------------- /Open API Library/bin/Debug/Google.ProtocolBuffers.Serialization.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API Library/bin/Debug/Google.ProtocolBuffers.Serialization.dll -------------------------------------------------------------------------------- /Open API Library/bin/Debug/Google.ProtocolBuffers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API Library/bin/Debug/Google.ProtocolBuffers.dll -------------------------------------------------------------------------------- /Open API Library/bin/Debug/Open API Library.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API Library/bin/Debug/Open API Library.dll -------------------------------------------------------------------------------- /Open API Library/bin/Debug/Open API Library.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API Library/bin/Debug/Open API Library.pdb -------------------------------------------------------------------------------- /Open API Library/bin/Release/Google.ProtocolBuffers.Serialization.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API Library/bin/Release/Google.ProtocolBuffers.Serialization.dll -------------------------------------------------------------------------------- /Open API Library/bin/Release/Google.ProtocolBuffers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API Library/bin/Release/Google.ProtocolBuffers.dll -------------------------------------------------------------------------------- /Open API Library/bin/Release/Open API Library.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API Library/bin/Release/Open API Library.dll -------------------------------------------------------------------------------- /Open API Library/bin/Release/Open API Library.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API Library/bin/Release/Open API Library.pdb -------------------------------------------------------------------------------- /Open API Library/obj/Debug/.NETFramework,Version=v4.6.1.AssemblyAttributes.cs: -------------------------------------------------------------------------------- 1 | // 2 | using System; 3 | using System.Reflection; 4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.6.1", FrameworkDisplayName = ".NET Framework 4.6.1")] 5 | -------------------------------------------------------------------------------- /Open API Library/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API Library/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /Open API Library/obj/Debug/Open API Library.csproj.CopyComplete: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API Library/obj/Debug/Open API Library.csproj.CopyComplete -------------------------------------------------------------------------------- /Open API Library/obj/Debug/Open API Library.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | cf30a1d67150ced383e56986d3a918f19e1eb793 2 | -------------------------------------------------------------------------------- /Open API Library/obj/Debug/Open API Library.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API Library\bin\Debug\Open API Library.dll 2 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API Library\bin\Debug\Open API Library.pdb 3 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API Library\bin\Debug\Google.ProtocolBuffers.dll 4 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API Library\bin\Debug\Google.ProtocolBuffers.Serialization.dll 5 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API Library\bin\Debug\Google.ProtocolBuffers.xml 6 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API Library\bin\Debug\Google.ProtocolBuffers.Serialization.xml 7 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API Library\obj\Debug\Open API Library.csproj.CoreCompileInputs.cache 8 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API Library\obj\Debug\Open API Library.dll 9 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API Library\obj\Debug\Open API Library.pdb 10 | C:\Users\pcharalampous.CTRADER\Desktop\Open API 2.0 .Net Sample\Open API Library\bin\Debug\Open API Library.dll 11 | C:\Users\pcharalampous.CTRADER\Desktop\Open API 2.0 .Net Sample\Open API Library\bin\Debug\Open API Library.pdb 12 | C:\Users\pcharalampous.CTRADER\Desktop\Open API 2.0 .Net Sample\Open API Library\bin\Debug\Google.ProtocolBuffers.dll 13 | C:\Users\pcharalampous.CTRADER\Desktop\Open API 2.0 .Net Sample\Open API Library\bin\Debug\Google.ProtocolBuffers.Serialization.dll 14 | C:\Users\pcharalampous.CTRADER\Desktop\Open API 2.0 .Net Sample\Open API Library\bin\Debug\Google.ProtocolBuffers.xml 15 | C:\Users\pcharalampous.CTRADER\Desktop\Open API 2.0 .Net Sample\Open API Library\bin\Debug\Google.ProtocolBuffers.Serialization.xml 16 | C:\Users\pcharalampous.CTRADER\Desktop\Open API 2.0 .Net Sample\Open API Library\obj\Debug\Open API Library.csprojResolveAssemblyReference.cache 17 | C:\Users\pcharalampous.CTRADER\Desktop\Open API 2.0 .Net Sample\Open API Library\obj\Debug\Open API Library.csproj.CoreCompileInputs.cache 18 | C:\Users\pcharalampous.CTRADER\Desktop\Open API 2.0 .Net Sample\Open API Library\obj\Debug\Open API Library.dll 19 | C:\Users\pcharalampous.CTRADER\Desktop\Open API 2.0 .Net Sample\Open API Library\obj\Debug\Open API Library.pdb 20 | C:\Users\pcharalampous.CTRADER\Desktop\Open API 2.0 .Net Sample\Open API 2.0 .Net Sample\Open API Library\bin\Debug\Open API Library.dll 21 | C:\Users\pcharalampous.CTRADER\Desktop\Open API 2.0 .Net Sample\Open API 2.0 .Net Sample\Open API Library\bin\Debug\Open API Library.pdb 22 | C:\Users\pcharalampous.CTRADER\Desktop\Open API 2.0 .Net Sample\Open API 2.0 .Net Sample\Open API Library\bin\Debug\Google.ProtocolBuffers.dll 23 | C:\Users\pcharalampous.CTRADER\Desktop\Open API 2.0 .Net Sample\Open API 2.0 .Net Sample\Open API Library\bin\Debug\Google.ProtocolBuffers.Serialization.dll 24 | C:\Users\pcharalampous.CTRADER\Desktop\Open API 2.0 .Net Sample\Open API 2.0 .Net Sample\Open API Library\bin\Debug\Google.ProtocolBuffers.xml 25 | C:\Users\pcharalampous.CTRADER\Desktop\Open API 2.0 .Net Sample\Open API 2.0 .Net Sample\Open API Library\bin\Debug\Google.ProtocolBuffers.Serialization.xml 26 | C:\Users\pcharalampous.CTRADER\Desktop\Open API 2.0 .Net Sample\Open API 2.0 .Net Sample\Open API Library\obj\Debug\Open API Library.csproj.CoreCompileInputs.cache 27 | C:\Users\pcharalampous.CTRADER\Desktop\Open API 2.0 .Net Sample\Open API 2.0 .Net Sample\Open API Library\obj\Debug\Open API Library.dll 28 | C:\Users\pcharalampous.CTRADER\Desktop\Open API 2.0 .Net Sample\Open API 2.0 .Net Sample\Open API Library\obj\Debug\Open API Library.pdb 29 | C:\Users\pcharalampous.CTRADER\Desktop\Open API 2.0 .Net Sample\Open API 2.0 .Net Sample\Open API Library\obj\Debug\Open API Library.csproj.CopyComplete 30 | C:\Users\pcharalampous.CTRADER\Desktop\Open API 2.0 .Net Sample\Open API 2.0 .Net Sample\Open API Library\obj\Debug\Open API Library.csprojAssemblyReference.cache 31 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API Library\obj\Debug\Open API Library.csproj.CopyComplete 32 | C:\Users\pcharalampous.CTRADER\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\bin\Debug\Open API Library.dll 33 | C:\Users\pcharalampous.CTRADER\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\bin\Debug\Open API Library.pdb 34 | C:\Users\pcharalampous.CTRADER\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\bin\Debug\Google.ProtocolBuffers.dll 35 | C:\Users\pcharalampous.CTRADER\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\bin\Debug\Google.ProtocolBuffers.Serialization.dll 36 | C:\Users\pcharalampous.CTRADER\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\bin\Debug\Google.ProtocolBuffers.xml 37 | C:\Users\pcharalampous.CTRADER\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\bin\Debug\Google.ProtocolBuffers.Serialization.xml 38 | C:\Users\pcharalampous.CTRADER\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\obj\Debug\Open API Library.csproj.CoreCompileInputs.cache 39 | C:\Users\pcharalampous.CTRADER\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\obj\Debug\Open API Library.csproj.CopyComplete 40 | C:\Users\pcharalampous.CTRADER\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\obj\Debug\Open API Library.dll 41 | C:\Users\pcharalampous.CTRADER\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\obj\Debug\Open API Library.pdb 42 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\bin\Debug\Open API Library.dll 43 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\bin\Debug\Open API Library.pdb 44 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\bin\Debug\Google.ProtocolBuffers.dll 45 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\bin\Debug\Google.ProtocolBuffers.Serialization.dll 46 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\bin\Debug\Google.ProtocolBuffers.xml 47 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\bin\Debug\Google.ProtocolBuffers.Serialization.xml 48 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\obj\Debug\Open API Library.csprojAssemblyReference.cache 49 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\obj\Debug\Open API Library.csproj.CoreCompileInputs.cache 50 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\obj\Debug\Open API Library.csproj.CopyComplete 51 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\obj\Debug\Open API Library.dll 52 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\obj\Debug\Open API Library.pdb 53 | -------------------------------------------------------------------------------- /Open API Library/obj/Debug/Open API Library.csprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API Library/obj/Debug/Open API Library.csprojAssemblyReference.cache -------------------------------------------------------------------------------- /Open API Library/obj/Debug/Open API Library.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API Library/obj/Debug/Open API Library.dll -------------------------------------------------------------------------------- /Open API Library/obj/Debug/Open API Library.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API Library/obj/Debug/Open API Library.pdb -------------------------------------------------------------------------------- /Open API Library/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API Library/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs -------------------------------------------------------------------------------- /Open API Library/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API Library/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs -------------------------------------------------------------------------------- /Open API Library/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API Library/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs -------------------------------------------------------------------------------- /Open API Library/obj/Release/.NETFramework,Version=v4.6.1.AssemblyAttributes.cs: -------------------------------------------------------------------------------- 1 | // 2 | using System; 3 | using System.Reflection; 4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.6.1", FrameworkDisplayName = ".NET Framework 4.6.1")] 5 | -------------------------------------------------------------------------------- /Open API Library/obj/Release/Open API Library.csproj.CopyComplete: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API Library/obj/Release/Open API Library.csproj.CopyComplete -------------------------------------------------------------------------------- /Open API Library/obj/Release/Open API Library.csproj.CoreCompileInputs.cache: -------------------------------------------------------------------------------- 1 | fa69eea0577a2a1dfe8d06450c35332f152f4fff 2 | -------------------------------------------------------------------------------- /Open API Library/obj/Release/Open API Library.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API Library\bin\Release\Open API Library.dll 2 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API Library\bin\Release\Open API Library.pdb 3 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API Library\bin\Release\Google.ProtocolBuffers.dll 4 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API Library\bin\Release\Google.ProtocolBuffers.Serialization.dll 5 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API Library\bin\Release\Google.ProtocolBuffers.xml 6 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API Library\bin\Release\Google.ProtocolBuffers.Serialization.xml 7 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API Library\obj\Release\Open API Library.csprojResolveAssemblyReference.cache 8 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API Library\obj\Release\Open API Library.csproj.CoreCompileInputs.cache 9 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API Library\obj\Release\Open API Library.dll 10 | G:\My Drive\Spotware\Code Samples\Open API 2.0 .Net Sample\Open API Library\obj\Release\Open API Library.pdb 11 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\bin\Release\Open API Library.dll 12 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\bin\Release\Open API Library.pdb 13 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\bin\Release\Google.ProtocolBuffers.dll 14 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\bin\Release\Google.ProtocolBuffers.Serialization.dll 15 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\bin\Release\Google.ProtocolBuffers.xml 16 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\bin\Release\Google.ProtocolBuffers.Serialization.xml 17 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\obj\Release\Open API Library.csprojAssemblyReference.cache 18 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\obj\Release\Open API Library.csproj.CoreCompileInputs.cache 19 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\obj\Release\Open API Library.csproj.CopyComplete 20 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\obj\Release\Open API Library.dll 21 | C:\Users\pcharalampous.CTRADER.000\Documents\GitHub\Open-API-2.0-.Net-Sample\Open API Library\obj\Release\Open API Library.pdb 22 | -------------------------------------------------------------------------------- /Open API Library/obj/Release/Open API Library.csprojAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API Library/obj/Release/Open API Library.csprojAssemblyReference.cache -------------------------------------------------------------------------------- /Open API Library/obj/Release/Open API Library.csprojResolveAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API Library/obj/Release/Open API Library.csprojResolveAssemblyReference.cache -------------------------------------------------------------------------------- /Open API Library/obj/Release/Open API Library.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API Library/obj/Release/Open API Library.dll -------------------------------------------------------------------------------- /Open API Library/obj/Release/Open API Library.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API Library/obj/Release/Open API Library.pdb -------------------------------------------------------------------------------- /Open API Library/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API Library/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs -------------------------------------------------------------------------------- /Open API Library/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API Library/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs -------------------------------------------------------------------------------- /Open API Library/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/Open API Library/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs -------------------------------------------------------------------------------- /Open API Library/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Open API Proto Messages/OpenApiCommonMessages.proto: -------------------------------------------------------------------------------- 1 | option java_multiple_files = true; 2 | option java_generate_equals_and_hash = true; 3 | option java_package = "com.xtrader.protocol.proto.commons"; 4 | option java_outer_classname = "ContainerCommonMessages"; 5 | 6 | import "OpenApiCommonModelMessages.proto"; 7 | 8 | 9 | message ProtoMessage { 10 | required uint32 payloadType = 1; // Contains id of ProtoPayloadType or other custom PayloadTypes (e.g. ProtoOAPayloadType) 11 | optional bytes payload = 2; // Serialized protobuf message that corresponds to payloadType 12 | optional string clientMsgId = 3; // Request message id, assigned by the client that will be returned in the response 13 | } 14 | 15 | message ProtoErrorRes { 16 | optional ProtoPayloadType payloadType = 1 [default = ERROR_RES]; 17 | 18 | required string errorCode = 2; // Contains name of ProtoErrorCode or other custom ErrorCodes (e.g. ProtoCHErrorCode) 19 | optional string description = 3; // Error description 20 | optional uint64 maintenanceEndTimestamp = 4; // CS-10489 Epoch timestamp in second 21 | } 22 | 23 | /** Event that is sent from Open API proxy and can be used as criteria that connection is healthy when no other messages are sent by cTrader platform. Open API client can send this message when he needs to keep the connection open for a period without other messages longer than 30 seconds */ 24 | message ProtoHeartbeatEvent { 25 | optional ProtoPayloadType payloadType = 1 [default = HEARTBEAT_EVENT]; 26 | } 27 | 28 | -------------------------------------------------------------------------------- /Open API Proto Messages/OpenApiCommonModelMessages.proto: -------------------------------------------------------------------------------- 1 | option java_multiple_files = true; 2 | option java_generate_equals_and_hash = true; 3 | option java_package = "com.xtrader.protocol.proto.commons.model"; 4 | option java_outer_classname = "ContainerCommonModelMessages"; 5 | 6 | 7 | // --- INTENSIVE COMMANDS 1 - 49 8 | // --- COMMON API 50 - 69 9 | enum ProtoPayloadType { 10 | // common intensive 11 | PROTO_MESSAGE = 5; 12 | // common commands 13 | ERROR_RES = 50; 14 | HEARTBEAT_EVENT = 51; 15 | } 16 | 17 | // COMMON error codes 1 - 99 18 | enum ProtoErrorCode { 19 | UNKNOWN_ERROR = 1; 20 | UNSUPPORTED_MESSAGE = 2; 21 | INVALID_REQUEST = 3; 22 | WRONG_PASSWORD = 4; 23 | TIMEOUT_ERROR = 5; 24 | ENTITY_NOT_FOUND = 6; 25 | CANT_ROUTE_REQUEST = 7; 26 | FRAME_TOO_LONG = 8; 27 | MARKET_CLOSED = 9; 28 | CONCURRENT_MODIFICATION = 10; 29 | BLOCKED_PAYLOAD_TYPE = 11; 30 | } 31 | 32 | -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/Google.ProtocolBuffers.2.4.1.555.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/packages/Google.ProtocolBuffers.2.4.1.555/Google.ProtocolBuffers.2.4.1.555.nupkg -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/lib/cf20/Google.ProtocolBuffers.Serialization.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/packages/Google.ProtocolBuffers.2.4.1.555/lib/cf20/Google.ProtocolBuffers.Serialization.dll -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/lib/cf20/Google.ProtocolBuffers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/packages/Google.ProtocolBuffers.2.4.1.555/lib/cf20/Google.ProtocolBuffers.dll -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/lib/cf35/Google.ProtocolBuffers.Serialization.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/packages/Google.ProtocolBuffers.2.4.1.555/lib/cf35/Google.ProtocolBuffers.Serialization.dll -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/lib/cf35/Google.ProtocolBuffers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/packages/Google.ProtocolBuffers.2.4.1.555/lib/cf35/Google.ProtocolBuffers.dll -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/lib/net20/Google.ProtocolBuffers.Serialization.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/packages/Google.ProtocolBuffers.2.4.1.555/lib/net20/Google.ProtocolBuffers.Serialization.dll -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/lib/net20/Google.ProtocolBuffers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/packages/Google.ProtocolBuffers.2.4.1.555/lib/net20/Google.ProtocolBuffers.dll -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/lib/net35/Google.ProtocolBuffers.Serialization.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/packages/Google.ProtocolBuffers.2.4.1.555/lib/net35/Google.ProtocolBuffers.Serialization.dll -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/lib/net35/Google.ProtocolBuffers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/packages/Google.ProtocolBuffers.2.4.1.555/lib/net35/Google.ProtocolBuffers.dll -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/lib/net40/Google.ProtocolBuffers.Serialization.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/packages/Google.ProtocolBuffers.2.4.1.555/lib/net40/Google.ProtocolBuffers.Serialization.dll -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/lib/net40/Google.ProtocolBuffers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/packages/Google.ProtocolBuffers.2.4.1.555/lib/net40/Google.ProtocolBuffers.dll -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/lib/portable-net40+sl4+sl5+wp7+wp8+win8/Google.ProtocolBuffers.Serialization.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/packages/Google.ProtocolBuffers.2.4.1.555/lib/portable-net40+sl4+sl5+wp7+wp8+win8/Google.ProtocolBuffers.Serialization.dll -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/lib/portable-net40+sl4+sl5+wp7+wp8+win8/Google.ProtocolBuffers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/packages/Google.ProtocolBuffers.2.4.1.555/lib/portable-net40+sl4+sl5+wp7+wp8+win8/Google.ProtocolBuffers.dll -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/lib/sl20/Google.ProtocolBuffers.Serialization.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/packages/Google.ProtocolBuffers.2.4.1.555/lib/sl20/Google.ProtocolBuffers.Serialization.dll -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/lib/sl20/Google.ProtocolBuffers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/packages/Google.ProtocolBuffers.2.4.1.555/lib/sl20/Google.ProtocolBuffers.dll -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/lib/sl30/Google.ProtocolBuffers.Serialization.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/packages/Google.ProtocolBuffers.2.4.1.555/lib/sl30/Google.ProtocolBuffers.Serialization.dll -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/lib/sl30/Google.ProtocolBuffers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/packages/Google.ProtocolBuffers.2.4.1.555/lib/sl30/Google.ProtocolBuffers.dll -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/lib/sl40/Google.ProtocolBuffers.Serialization.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/packages/Google.ProtocolBuffers.2.4.1.555/lib/sl40/Google.ProtocolBuffers.Serialization.dll -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/lib/sl40/Google.ProtocolBuffers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/packages/Google.ProtocolBuffers.2.4.1.555/lib/sl40/Google.ProtocolBuffers.dll -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/tools/CHANGES.txt: -------------------------------------------------------------------------------- 1 | =============================================================================== 2 | Welcome to the C# port of Google Protocol Buffers, written by Jon Skeet 3 | (skeet@pobox.com) based on the work of many talented people. 4 | 5 | For more information about this port, visit its homepage: 6 | http://protobuf-csharp-port.googlecode.com 7 | 8 | For more information about Protocol Buffers in general, visit the project page 9 | for the C++, Java and Python project: 10 | http://protobuf.googlecode.com 11 | =============================================================================== 12 | RELEASE NOTES - Version 2.4.1.555 13 | =============================================================================== 14 | 15 | Changes: 16 | - Upgrade solution format to Visual Studio 2012. 17 | - Add the ability to print a builder (not just a message) 18 | - TextGenerator introduces a new overload of PrintTo 19 | - Munge protoc's error format into a VS-C#-compatible output format. 20 | - Work to make ProtoGen clone that acts as a protoc.exe plugin. 21 | - Added the AllowPartiallyTrustedCallers attribute 22 | - Optimized enum parsing. 23 | 24 | Fixes: 25 | - Fix for bug in limited input stream's Position, Introduced Position on 26 | output stream 27 | - Fix for writing a character to a JSON output overflows allocated buffer 28 | - Optimize FromBase64String to return Empty when presented with empty string. 29 | - Use string.Concat instead of operator to avoid potential import problems 30 | - Issue 81: quoting for NUnit parameters. 31 | - Issue 56: NuGet package is noisy 32 | - Issue 70: Portable library project has some invalid Nunit-based code. 33 | - Issue 71: CodedInputStream.ReadBytes go to slow path unnecessarily 34 | - Issue 84: warning CS0219: The variable `size' is assigned but never used 35 | 36 | =============================================================================== 37 | RELEASE NOTES - Version 2.4.1.521 38 | =============================================================================== 39 | 40 | Changes: 41 | - Add generated_code_attributes option, defaulted to false 42 | - Added support for Portable library 43 | - Added 'Unsafe' static type in ByteString to allow direct buffer access 44 | 45 | Fixes: 46 | - Issue 50: The XML serializer will fail to deserialize a message with empty 47 | child message 48 | - Issue 45: Use of 'item' as a field name causes AmbiguousMatchException 49 | - Issue 49: Generated nested static Types class should be partial 50 | - Issue 38: Disable CLSCompliant warnings (3021) 51 | - Issue 40: proto_path does not work for command-line file names 52 | - Issue 54: should retire all bytes in buffer (bufferSize) 53 | - Issue 43: Fix to correct identical 'umbrella_classname' options from trying 54 | to write to the same filename. 55 | 56 | =============================================================================== 57 | RELEASE NOTES - Version 2.4.1.473 58 | =============================================================================== 59 | 60 | Features: 61 | - Added option service_generator_type to control service generation with 62 | NONE, GENERIC, INTERFACE, or IRPCDISPATCH 63 | - Added interfaces IRpcDispatch and IRpcServerStub to provide for blocking 64 | services and implementations. 65 | - Added ProtoGen.exe command-line argument "--protoc_dir=" to specify the 66 | location of protoc.exe. 67 | - Extracted interfaces for ICodedInputStream and ICodedOutputStream to allow 68 | custom implementation of writers with both speed and size optimizations. 69 | - Addition of the "Google.ProtoBuffers.Serialization" assembly to support 70 | reading and writing messages to/from XML, JSON, IDictionary<,> and others. 71 | - Several performance related fixes and tweeks 72 | - Issue 3: Add option to mark generated code with attribute 73 | - Issue 20: Support for decorating classes [Serializable] 74 | - Issue 21: Decorate fields with [deprecated=true] as [System.Obsolete] 75 | - Issue 22: Reusable Builder classes 76 | - Issue 24: Support for using Json/Xml formats with ICodedInputStream 77 | - Issue 25: Added support for NuGet packages 78 | - Issue 31: Upgraded protoc.exe and descriptor to 2.4.1 79 | 80 | Fixes: 81 | - Issue 13: Message with Field same name as message causes uncompilable .cs 82 | - Issue 16: Does not integrate well with other tooling 83 | - Issue 19: Support for negative enum values 84 | - Issue 26: AddRange in GeneratedBuilder iterates twice. 85 | - Issue 27: Remove XML documentation output from test projects to clear 86 | warnings/errors. 87 | - Issue 28: Circular message dependencies result in null default values for 88 | Message fields. 89 | - Issue 29: Message classes generated have a public default constructor. You 90 | can disable private ctor generation with the option generate_private_ctor. 91 | - Issue 35: Fixed a bug in ProtoGen handling of arguments with trailing \ 92 | - Big-endian support for float, and double on Silverlight 93 | - Packed and Unpacked parsing allow for all repeated, as per version 2.3 94 | - Fix for leaving Builder a public ctor on internal classes for use with 95 | generic "where T: new()" constraints. 96 | 97 | Other: 98 | - Changed the code signing key to a privately held key 99 | - Reformatted all code and line-endings to C# defaults 100 | - Reworking of performance benchmarks to produce reliable results, option /v2 101 | - Issue 34: Silverlight assemblies are now unit tested 102 | 103 | =============================================================================== 104 | RELEASE NOTES - Version 2.3.0.277 105 | =============================================================================== 106 | 107 | Features: 108 | - Added cls_compliance option to generate attributes indicating 109 | non-CLS-compliance. 110 | - Added file_extension option to control the generated output file's extension. 111 | - Added umbrella_namespace option to place the umbrella class into a nested 112 | namespace to address issues with proto files having the same name as a 113 | message it contains. 114 | - Added output_directory option to set the output path for the source file(s). 115 | - Added ignore_google_protobuf option to avoid generating code for includes 116 | from the google.protobuf package. 117 | - Added the LITE framework (Google.ProtoBuffersLite.dll) and the ability to 118 | generate code with "option optimize_for = LITE_RUNTIME;". 119 | - Added ability to invoke protoc.exe from within ProtoGen.exe. 120 | - Upgraded to protoc.exe (2.3) compiler. 121 | 122 | Fixes: 123 | - Issue 9: Class cannot be static and sealed error 124 | - Issue 12: default value for enumerate fields must be filled out 125 | 126 | Other: 127 | - Rewrite of build using MSBbuild instead of NAnt 128 | - Moved to NUnit Version 2.2.8.0 129 | - Changed to using secure .snk for releases 130 | 131 | =============================================================================== 132 | RELEASE NOTES - Version 0.9.1 133 | =============================================================================== 134 | 135 | Fixes: 136 | - issue 10: Incorrect encoding of packed fields when serialized 137 | 138 | =============================================================================== 139 | RELEASE NOTES - Version 0.9.0 140 | =============================================================================== 141 | 142 | - Initial release 143 | 144 | =============================================================================== -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/tools/Google.ProtocolBuffers.Serialization.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/packages/Google.ProtocolBuffers.2.4.1.555/tools/Google.ProtocolBuffers.Serialization.dll -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/tools/Google.ProtocolBuffers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/packages/Google.ProtocolBuffers.2.4.1.555/tools/Google.ProtocolBuffers.dll -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/tools/ProtoBench.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/packages/Google.ProtocolBuffers.2.4.1.555/tools/ProtoBench.exe -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/tools/ProtoDump.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/packages/Google.ProtocolBuffers.2.4.1.555/tools/ProtoDump.exe -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/tools/ProtoGen.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/packages/Google.ProtocolBuffers.2.4.1.555/tools/ProtoGen.exe -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/tools/ProtoGen.exe.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/tools/ProtoMunge.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/packages/Google.ProtocolBuffers.2.4.1.555/tools/ProtoMunge.exe -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/tools/google/protobuf/compiler/plugin.proto: -------------------------------------------------------------------------------- 1 | // Protocol Buffers - Google's data interchange format 2 | // Copyright 2008 Google Inc. All rights reserved. 3 | // http://code.google.com/p/protobuf/ 4 | // 5 | // Redistribution and use in source and binary forms, with or without 6 | // modification, are permitted provided that the following conditions are 7 | // met: 8 | // 9 | // * Redistributions of source code must retain the above copyright 10 | // notice, this list of conditions and the following disclaimer. 11 | // * Redistributions in binary form must reproduce the above 12 | // copyright notice, this list of conditions and the following disclaimer 13 | // in the documentation and/or other materials provided with the 14 | // distribution. 15 | // * Neither the name of Google Inc. nor the names of its 16 | // contributors may be used to endorse or promote products derived from 17 | // this software without specific prior written permission. 18 | // 19 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 23 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 25 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | 31 | // Author: kenton@google.com (Kenton Varda) 32 | // 33 | // WARNING: The plugin interface is currently EXPERIMENTAL and is subject to 34 | // change. 35 | // 36 | // protoc (aka the Protocol Compiler) can be extended via plugins. A plugin is 37 | // just a program that reads a CodeGeneratorRequest from stdin and writes a 38 | // CodeGeneratorResponse to stdout. 39 | // 40 | // Plugins written using C++ can use google/protobuf/compiler/plugin.h instead 41 | // of dealing with the raw protocol defined here. 42 | // 43 | // A plugin executable needs only to be placed somewhere in the path. The 44 | // plugin should be named "protoc-gen-$NAME", and will then be used when the 45 | // flag "--${NAME}_out" is passed to protoc. 46 | 47 | package google.protobuf.compiler; 48 | option java_package = "com.google.protobuf.compiler"; 49 | option java_outer_classname = "PluginProtos"; 50 | 51 | import "google/protobuf/descriptor.proto"; 52 | 53 | // An encoded CodeGeneratorRequest is written to the plugin's stdin. 54 | message CodeGeneratorRequest { 55 | // The .proto files that were explicitly listed on the command-line. The 56 | // code generator should generate code only for these files. Each file's 57 | // descriptor will be included in proto_file, below. 58 | repeated string file_to_generate = 1; 59 | 60 | // The generator parameter passed on the command-line. 61 | optional string parameter = 2; 62 | 63 | // FileDescriptorProtos for all files in files_to_generate and everything 64 | // they import. The files will appear in topological order, so each file 65 | // appears before any file that imports it. 66 | // 67 | // protoc guarantees that all proto_files will be written after 68 | // the fields above, even though this is not technically guaranteed by the 69 | // protobuf wire format. This theoretically could allow a plugin to stream 70 | // in the FileDescriptorProtos and handle them one by one rather than read 71 | // the entire set into memory at once. However, as of this writing, this 72 | // is not similarly optimized on protoc's end -- it will store all fields in 73 | // memory at once before sending them to the plugin. 74 | repeated FileDescriptorProto proto_file = 15; 75 | } 76 | 77 | // The plugin writes an encoded CodeGeneratorResponse to stdout. 78 | message CodeGeneratorResponse { 79 | // Error message. If non-empty, code generation failed. The plugin process 80 | // should exit with status code zero even if it reports an error in this way. 81 | // 82 | // This should be used to indicate errors in .proto files which prevent the 83 | // code generator from generating correct code. Errors which indicate a 84 | // problem in protoc itself -- such as the input CodeGeneratorRequest being 85 | // unparseable -- should be reported by writing a message to stderr and 86 | // exiting with a non-zero status code. 87 | optional string error = 1; 88 | 89 | // Represents a single generated file. 90 | message File { 91 | // The file name, relative to the output directory. The name must not 92 | // contain "." or ".." components and must be relative, not be absolute (so, 93 | // the file cannot lie outside the output directory). "/" must be used as 94 | // the path separator, not "\". 95 | // 96 | // If the name is omitted, the content will be appended to the previous 97 | // file. This allows the generator to break large files into small chunks, 98 | // and allows the generated text to be streamed back to protoc so that large 99 | // files need not reside completely in memory at one time. Note that as of 100 | // this writing protoc does not optimize for this -- it will read the entire 101 | // CodeGeneratorResponse before writing files to disk. 102 | optional string name = 1; 103 | 104 | // If non-empty, indicates that the named file should already exist, and the 105 | // content here is to be inserted into that file at a defined insertion 106 | // point. This feature allows a code generator to extend the output 107 | // produced by another code generator. The original generator may provide 108 | // insertion points by placing special annotations in the file that look 109 | // like: 110 | // @@protoc_insertion_point(NAME) 111 | // The annotation can have arbitrary text before and after it on the line, 112 | // which allows it to be placed in a comment. NAME should be replaced with 113 | // an identifier naming the point -- this is what other generators will use 114 | // as the insertion_point. Code inserted at this point will be placed 115 | // immediately above the line containing the insertion point (thus multiple 116 | // insertions to the same point will come out in the order they were added). 117 | // The double-@ is intended to make it unlikely that the generated code 118 | // could contain things that look like insertion points by accident. 119 | // 120 | // For example, the C++ code generator places the following line in the 121 | // .pb.h files that it generates: 122 | // // @@protoc_insertion_point(namespace_scope) 123 | // This line appears within the scope of the file's package namespace, but 124 | // outside of any particular class. Another plugin can then specify the 125 | // insertion_point "namespace_scope" to generate additional classes or 126 | // other declarations that should be placed in this scope. 127 | // 128 | // Note that if the line containing the insertion point begins with 129 | // whitespace, the same whitespace will be added to every line of the 130 | // inserted text. This is useful for languages like Python, where 131 | // indentation matters. In these languages, the insertion point comment 132 | // should be indented the same amount as any inserted code will need to be 133 | // in order to work correctly in that context. 134 | // 135 | // The code generator that generates the initial file and the one which 136 | // inserts into it must both run as part of a single invocation of protoc. 137 | // Code generators are executed in the order in which they appear on the 138 | // command line. 139 | // 140 | // If |insertion_point| is present, |name| must also be present. 141 | optional string insertion_point = 2; 142 | 143 | // The file contents. 144 | optional string content = 15; 145 | } 146 | repeated File file = 15; 147 | } 148 | -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/tools/google/protobuf/csharp_options.proto: -------------------------------------------------------------------------------- 1 | // Extra options for C# generator 2 | 3 | import "google/protobuf/descriptor.proto"; 4 | 5 | package google.protobuf; 6 | 7 | message CSharpFileOptions { 8 | 9 | // Namespace for generated classes; defaults to the package. 10 | optional string namespace = 1; 11 | 12 | // Name of the "umbrella" class used for metadata about all 13 | // the messages within this file. Default is based on the name 14 | // of the file. 15 | optional string umbrella_classname = 2; 16 | 17 | // Whether classes should be public (true) or internal (false) 18 | optional bool public_classes = 3 [default = true]; 19 | 20 | // Whether to generate a single file for everything within the 21 | // .proto file (false), or one file per message (true). 22 | // This option is not currently honored; please log a feature 23 | // request if you really want it. 24 | optional bool multiple_files = 4; 25 | 26 | // Whether to nest messages within a single umbrella class (true) 27 | // or create the umbrella class as a peer, with messages as 28 | // top-level classes in the namespace (false) 29 | optional bool nest_classes = 5; 30 | 31 | // Generate appropriate support for Code Contracts 32 | // (Ongoing; support should improve over time) 33 | optional bool code_contracts = 6; 34 | 35 | // Create subdirectories for namespaces, e.g. namespace "Foo.Bar" 36 | // would generate files within [output directory]/Foo/Bar 37 | optional bool expand_namespace_directories = 7; 38 | 39 | // Generate attributes indicating non-CLS-compliance 40 | optional bool cls_compliance = 8 [default = true]; 41 | 42 | // Generate messages/builders with the [Serializable] attribute 43 | optional bool add_serializable = 9 [default = false]; 44 | 45 | // Generates a private ctor for Message types 46 | optional bool generate_private_ctor = 10 [default = true]; 47 | 48 | // The extension that should be appended to the umbrella_classname when creating files. 49 | optional string file_extension = 221 [default = ".cs"]; 50 | 51 | // A nested namespace for the umbrella class. Helpful for name collisions caused by 52 | // umbrella_classname conflicting with an existing type. This will be automatically 53 | // set to 'Proto' if a collision is detected with types being generated. This value 54 | // is ignored when nest_classes == true 55 | optional string umbrella_namespace = 222; 56 | 57 | // The output path for the source file(s) generated 58 | optional string output_directory = 223 [default = "."]; 59 | 60 | // Will ignore the type generations and remove dependencies for the descriptor proto 61 | // files that declare their package to be "google.protobuf" 62 | optional bool ignore_google_protobuf = 224 [default = false]; 63 | 64 | // Controls how services are generated, GENERIC is the deprecated original implementation 65 | // INTERFACE generates service interfaces only, RPCINTEROP generates interfaces and 66 | // implementations using the included Windows RPC interop libarary. 67 | optional CSharpServiceType service_generator_type = 225 [default = NONE]; 68 | 69 | // Used to add the System.Runtime.CompilerServices.CompilerGeneratedAttribute and 70 | // System.CodeDom.Compiler.GeneratedCodeAttribute attributes to generated code. 71 | optional bool generated_code_attributes = 226 [default = false]; 72 | } 73 | 74 | enum CSharpServiceType { 75 | // Services are ignored by the generator 76 | NONE = 0; 77 | // Generates the original Java generic service implementations 78 | GENERIC = 1; 79 | // Generates an interface for the service and nothing else 80 | INTERFACE = 2; 81 | // Generates an interface for the service and client/server wrappers for the interface 82 | IRPCDISPATCH = 3; 83 | } 84 | 85 | extend FileOptions { 86 | optional CSharpFileOptions csharp_file_options = 1000; 87 | } 88 | 89 | extend FieldOptions { 90 | optional CSharpFieldOptions csharp_field_options = 1000; 91 | } 92 | 93 | message CSharpFieldOptions { 94 | // Provides the ability to override the name of the property 95 | // generated for this field. This is applied to all properties 96 | // and methods to do with this field, including HasFoo, FooCount, 97 | // FooList etc. 98 | optional string property_name = 1; 99 | } 100 | 101 | message CSharpServiceOptions { 102 | optional string interface_id = 1; 103 | } 104 | 105 | extend ServiceOptions { 106 | optional CSharpServiceOptions csharp_service_options = 1000; 107 | } 108 | 109 | message CSharpMethodOptions { 110 | optional int32 dispatch_id = 1; 111 | } 112 | 113 | extend MethodOptions { 114 | optional CSharpMethodOptions csharp_method_options = 1000; 115 | } -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/tools/google/protobuf/descriptor.proto: -------------------------------------------------------------------------------- 1 | // Protocol Buffers - Google's data interchange format 2 | // Copyright 2008 Google Inc. All rights reserved. 3 | // http://code.google.com/p/protobuf/ 4 | // 5 | // Redistribution and use in source and binary forms, with or without 6 | // modification, are permitted provided that the following conditions are 7 | // met: 8 | // 9 | // * Redistributions of source code must retain the above copyright 10 | // notice, this list of conditions and the following disclaimer. 11 | // * Redistributions in binary form must reproduce the above 12 | // copyright notice, this list of conditions and the following disclaimer 13 | // in the documentation and/or other materials provided with the 14 | // distribution. 15 | // * Neither the name of Google Inc. nor the names of its 16 | // contributors may be used to endorse or promote products derived from 17 | // this software without specific prior written permission. 18 | // 19 | // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21 | // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 22 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 23 | // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 24 | // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 25 | // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 26 | // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 27 | // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 | // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | 31 | // Author: kenton@google.com (Kenton Varda) 32 | // Based on original Protocol Buffers design by 33 | // Sanjay Ghemawat, Jeff Dean, and others. 34 | // 35 | // The messages in this file describe the definitions found in .proto files. 36 | // A valid .proto file can be translated directly to a FileDescriptorProto 37 | // without any other information (e.g. without reading its imports). 38 | 39 | 40 | 41 | package google.protobuf; 42 | option java_package = "com.google.protobuf"; 43 | option java_outer_classname = "DescriptorProtos"; 44 | 45 | // descriptor.proto must be optimized for speed because reflection-based 46 | // algorithms don't work during bootstrapping. 47 | option optimize_for = SPEED; 48 | 49 | // The protocol compiler can output a FileDescriptorSet containing the .proto 50 | // files it parses. 51 | message FileDescriptorSet { 52 | repeated FileDescriptorProto file = 1; 53 | } 54 | 55 | // Describes a complete .proto file. 56 | message FileDescriptorProto { 57 | optional string name = 1; // file name, relative to root of source tree 58 | optional string package = 2; // e.g. "foo", "foo.bar", etc. 59 | 60 | // Names of files imported by this file. 61 | repeated string dependency = 3; 62 | 63 | // All top-level definitions in this file. 64 | repeated DescriptorProto message_type = 4; 65 | repeated EnumDescriptorProto enum_type = 5; 66 | repeated ServiceDescriptorProto service = 6; 67 | repeated FieldDescriptorProto extension = 7; 68 | 69 | optional FileOptions options = 8; 70 | 71 | // This field contains optional information about the original source code. 72 | // You may safely remove this entire field whithout harming runtime 73 | // functionality of the descriptors -- the information is needed only by 74 | // development tools. 75 | optional SourceCodeInfo source_code_info = 9; 76 | } 77 | 78 | // Describes a message type. 79 | message DescriptorProto { 80 | optional string name = 1; 81 | 82 | repeated FieldDescriptorProto field = 2; 83 | repeated FieldDescriptorProto extension = 6; 84 | 85 | repeated DescriptorProto nested_type = 3; 86 | repeated EnumDescriptorProto enum_type = 4; 87 | 88 | message ExtensionRange { 89 | optional int32 start = 1; 90 | optional int32 end = 2; 91 | } 92 | repeated ExtensionRange extension_range = 5; 93 | 94 | optional MessageOptions options = 7; 95 | } 96 | 97 | // Describes a field within a message. 98 | message FieldDescriptorProto { 99 | enum Type { 100 | // 0 is reserved for errors. 101 | // Order is weird for historical reasons. 102 | TYPE_DOUBLE = 1; 103 | TYPE_FLOAT = 2; 104 | TYPE_INT64 = 3; // Not ZigZag encoded. Negative numbers 105 | // take 10 bytes. Use TYPE_SINT64 if negative 106 | // values are likely. 107 | TYPE_UINT64 = 4; 108 | TYPE_INT32 = 5; // Not ZigZag encoded. Negative numbers 109 | // take 10 bytes. Use TYPE_SINT32 if negative 110 | // values are likely. 111 | TYPE_FIXED64 = 6; 112 | TYPE_FIXED32 = 7; 113 | TYPE_BOOL = 8; 114 | TYPE_STRING = 9; 115 | TYPE_GROUP = 10; // Tag-delimited aggregate. 116 | TYPE_MESSAGE = 11; // Length-delimited aggregate. 117 | 118 | // New in version 2. 119 | TYPE_BYTES = 12; 120 | TYPE_UINT32 = 13; 121 | TYPE_ENUM = 14; 122 | TYPE_SFIXED32 = 15; 123 | TYPE_SFIXED64 = 16; 124 | TYPE_SINT32 = 17; // Uses ZigZag encoding. 125 | TYPE_SINT64 = 18; // Uses ZigZag encoding. 126 | }; 127 | 128 | enum Label { 129 | // 0 is reserved for errors 130 | LABEL_OPTIONAL = 1; 131 | LABEL_REQUIRED = 2; 132 | LABEL_REPEATED = 3; 133 | // TODO(sanjay): Should we add LABEL_MAP? 134 | }; 135 | 136 | optional string name = 1; 137 | optional int32 number = 3; 138 | optional Label label = 4; 139 | 140 | // If type_name is set, this need not be set. If both this and type_name 141 | // are set, this must be either TYPE_ENUM or TYPE_MESSAGE. 142 | optional Type type = 5; 143 | 144 | // For message and enum types, this is the name of the type. If the name 145 | // starts with a '.', it is fully-qualified. Otherwise, C++-like scoping 146 | // rules are used to find the type (i.e. first the nested types within this 147 | // message are searched, then within the parent, on up to the root 148 | // namespace). 149 | optional string type_name = 6; 150 | 151 | // For extensions, this is the name of the type being extended. It is 152 | // resolved in the same manner as type_name. 153 | optional string extendee = 2; 154 | 155 | // For numeric types, contains the original text representation of the value. 156 | // For booleans, "true" or "false". 157 | // For strings, contains the default text contents (not escaped in any way). 158 | // For bytes, contains the C escaped value. All bytes >= 128 are escaped. 159 | // TODO(kenton): Base-64 encode? 160 | optional string default_value = 7; 161 | 162 | optional FieldOptions options = 8; 163 | } 164 | 165 | // Describes an enum type. 166 | message EnumDescriptorProto { 167 | optional string name = 1; 168 | 169 | repeated EnumValueDescriptorProto value = 2; 170 | 171 | optional EnumOptions options = 3; 172 | } 173 | 174 | // Describes a value within an enum. 175 | message EnumValueDescriptorProto { 176 | optional string name = 1; 177 | optional int32 number = 2; 178 | 179 | optional EnumValueOptions options = 3; 180 | } 181 | 182 | // Describes a service. 183 | message ServiceDescriptorProto { 184 | optional string name = 1; 185 | repeated MethodDescriptorProto method = 2; 186 | 187 | optional ServiceOptions options = 3; 188 | } 189 | 190 | // Describes a method of a service. 191 | message MethodDescriptorProto { 192 | optional string name = 1; 193 | 194 | // Input and output type names. These are resolved in the same way as 195 | // FieldDescriptorProto.type_name, but must refer to a message type. 196 | optional string input_type = 2; 197 | optional string output_type = 3; 198 | 199 | optional MethodOptions options = 4; 200 | } 201 | 202 | // =================================================================== 203 | // Options 204 | 205 | // Each of the definitions above may have "options" attached. These are 206 | // just annotations which may cause code to be generated slightly differently 207 | // or may contain hints for code that manipulates protocol messages. 208 | // 209 | // Clients may define custom options as extensions of the *Options messages. 210 | // These extensions may not yet be known at parsing time, so the parser cannot 211 | // store the values in them. Instead it stores them in a field in the *Options 212 | // message called uninterpreted_option. This field must have the same name 213 | // across all *Options messages. We then use this field to populate the 214 | // extensions when we build a descriptor, at which point all protos have been 215 | // parsed and so all extensions are known. 216 | // 217 | // Extension numbers for custom options may be chosen as follows: 218 | // * For options which will only be used within a single application or 219 | // organization, or for experimental options, use field numbers 50000 220 | // through 99999. It is up to you to ensure that you do not use the 221 | // same number for multiple options. 222 | // * For options which will be published and used publicly by multiple 223 | // independent entities, e-mail kenton@google.com to reserve extension 224 | // numbers. Simply tell me how many you need and I'll send you back a 225 | // set of numbers to use -- there's no need to explain how you intend to 226 | // use them. If this turns out to be popular, a web service will be set up 227 | // to automatically assign option numbers. 228 | 229 | 230 | message FileOptions { 231 | 232 | // Sets the Java package where classes generated from this .proto will be 233 | // placed. By default, the proto package is used, but this is often 234 | // inappropriate because proto packages do not normally start with backwards 235 | // domain names. 236 | optional string java_package = 1; 237 | 238 | 239 | // If set, all the classes from the .proto file are wrapped in a single 240 | // outer class with the given name. This applies to both Proto1 241 | // (equivalent to the old "--one_java_file" option) and Proto2 (where 242 | // a .proto always translates to a single class, but you may want to 243 | // explicitly choose the class name). 244 | optional string java_outer_classname = 8; 245 | 246 | // If set true, then the Java code generator will generate a separate .java 247 | // file for each top-level message, enum, and service defined in the .proto 248 | // file. Thus, these types will *not* be nested inside the outer class 249 | // named by java_outer_classname. However, the outer class will still be 250 | // generated to contain the file's getDescriptor() method as well as any 251 | // top-level extensions defined in the file. 252 | optional bool java_multiple_files = 10 [default=false]; 253 | 254 | // If set true, then the Java code generator will generate equals() and 255 | // hashCode() methods for all messages defined in the .proto file. This is 256 | // purely a speed optimization, as the AbstractMessage base class includes 257 | // reflection-based implementations of these methods. 258 | optional bool java_generate_equals_and_hash = 20 [default=false]; 259 | 260 | // Generated classes can be optimized for speed or code size. 261 | enum OptimizeMode { 262 | SPEED = 1; // Generate complete code for parsing, serialization, 263 | // etc. 264 | CODE_SIZE = 2; // Use ReflectionOps to implement these methods. 265 | LITE_RUNTIME = 3; // Generate code using MessageLite and the lite runtime. 266 | } 267 | optional OptimizeMode optimize_for = 9 [default=SPEED]; 268 | 269 | 270 | 271 | 272 | // Should generic services be generated in each language? "Generic" services 273 | // are not specific to any particular RPC system. They are generated by the 274 | // main code generators in each language (without additional plugins). 275 | // Generic services were the only kind of service generation supported by 276 | // early versions of proto2. 277 | // 278 | // Generic services are now considered deprecated in favor of using plugins 279 | // that generate code specific to your particular RPC system. Therefore, 280 | // these default to false. Old code which depends on generic services should 281 | // explicitly set them to true. 282 | optional bool cc_generic_services = 16 [default=false]; 283 | optional bool java_generic_services = 17 [default=false]; 284 | optional bool py_generic_services = 18 [default=false]; 285 | 286 | // The parser stores options it doesn't recognize here. See above. 287 | repeated UninterpretedOption uninterpreted_option = 999; 288 | 289 | // Clients can define custom options in extensions of this message. See above. 290 | extensions 1000 to max; 291 | } 292 | 293 | message MessageOptions { 294 | // Set true to use the old proto1 MessageSet wire format for extensions. 295 | // This is provided for backwards-compatibility with the MessageSet wire 296 | // format. You should not use this for any other reason: It's less 297 | // efficient, has fewer features, and is more complicated. 298 | // 299 | // The message must be defined exactly as follows: 300 | // message Foo { 301 | // option message_set_wire_format = true; 302 | // extensions 4 to max; 303 | // } 304 | // Note that the message cannot have any defined fields; MessageSets only 305 | // have extensions. 306 | // 307 | // All extensions of your type must be singular messages; e.g. they cannot 308 | // be int32s, enums, or repeated messages. 309 | // 310 | // Because this is an option, the above two restrictions are not enforced by 311 | // the protocol compiler. 312 | optional bool message_set_wire_format = 1 [default=false]; 313 | 314 | // Disables the generation of the standard "descriptor()" accessor, which can 315 | // conflict with a field of the same name. This is meant to make migration 316 | // from proto1 easier; new code should avoid fields named "descriptor". 317 | optional bool no_standard_descriptor_accessor = 2 [default=false]; 318 | 319 | // The parser stores options it doesn't recognize here. See above. 320 | repeated UninterpretedOption uninterpreted_option = 999; 321 | 322 | // Clients can define custom options in extensions of this message. See above. 323 | extensions 1000 to max; 324 | } 325 | 326 | message FieldOptions { 327 | // The ctype option instructs the C++ code generator to use a different 328 | // representation of the field than it normally would. See the specific 329 | // options below. This option is not yet implemented in the open source 330 | // release -- sorry, we'll try to include it in a future version! 331 | optional CType ctype = 1 [default = STRING]; 332 | enum CType { 333 | // Default mode. 334 | STRING = 0; 335 | 336 | CORD = 1; 337 | 338 | STRING_PIECE = 2; 339 | } 340 | // The packed option can be enabled for repeated primitive fields to enable 341 | // a more efficient representation on the wire. Rather than repeatedly 342 | // writing the tag and type for each element, the entire array is encoded as 343 | // a single length-delimited blob. 344 | optional bool packed = 2; 345 | 346 | 347 | // Is this field deprecated? 348 | // Depending on the target platform, this can emit Deprecated annotations 349 | // for accessors, or it will be completely ignored; in the very least, this 350 | // is a formalization for deprecating fields. 351 | optional bool deprecated = 3 [default=false]; 352 | 353 | // EXPERIMENTAL. DO NOT USE. 354 | // For "map" fields, the name of the field in the enclosed type that 355 | // is the key for this map. For example, suppose we have: 356 | // message Item { 357 | // required string name = 1; 358 | // required string value = 2; 359 | // } 360 | // message Config { 361 | // repeated Item items = 1 [experimental_map_key="name"]; 362 | // } 363 | // In this situation, the map key for Item will be set to "name". 364 | // TODO: Fully-implement this, then remove the "experimental_" prefix. 365 | optional string experimental_map_key = 9; 366 | 367 | // The parser stores options it doesn't recognize here. See above. 368 | repeated UninterpretedOption uninterpreted_option = 999; 369 | 370 | // Clients can define custom options in extensions of this message. See above. 371 | extensions 1000 to max; 372 | } 373 | 374 | message EnumOptions { 375 | 376 | // The parser stores options it doesn't recognize here. See above. 377 | repeated UninterpretedOption uninterpreted_option = 999; 378 | 379 | // Clients can define custom options in extensions of this message. See above. 380 | extensions 1000 to max; 381 | } 382 | 383 | message EnumValueOptions { 384 | // The parser stores options it doesn't recognize here. See above. 385 | repeated UninterpretedOption uninterpreted_option = 999; 386 | 387 | // Clients can define custom options in extensions of this message. See above. 388 | extensions 1000 to max; 389 | } 390 | 391 | message ServiceOptions { 392 | 393 | // Note: Field numbers 1 through 32 are reserved for Google's internal RPC 394 | // framework. We apologize for hoarding these numbers to ourselves, but 395 | // we were already using them long before we decided to release Protocol 396 | // Buffers. 397 | 398 | // The parser stores options it doesn't recognize here. See above. 399 | repeated UninterpretedOption uninterpreted_option = 999; 400 | 401 | // Clients can define custom options in extensions of this message. See above. 402 | extensions 1000 to max; 403 | } 404 | 405 | message MethodOptions { 406 | 407 | // Note: Field numbers 1 through 32 are reserved for Google's internal RPC 408 | // framework. We apologize for hoarding these numbers to ourselves, but 409 | // we were already using them long before we decided to release Protocol 410 | // Buffers. 411 | 412 | // The parser stores options it doesn't recognize here. See above. 413 | repeated UninterpretedOption uninterpreted_option = 999; 414 | 415 | // Clients can define custom options in extensions of this message. See above. 416 | extensions 1000 to max; 417 | } 418 | 419 | // A message representing a option the parser does not recognize. This only 420 | // appears in options protos created by the compiler::Parser class. 421 | // DescriptorPool resolves these when building Descriptor objects. Therefore, 422 | // options protos in descriptor objects (e.g. returned by Descriptor::options(), 423 | // or produced by Descriptor::CopyTo()) will never have UninterpretedOptions 424 | // in them. 425 | message UninterpretedOption { 426 | // The name of the uninterpreted option. Each string represents a segment in 427 | // a dot-separated name. is_extension is true iff a segment represents an 428 | // extension (denoted with parentheses in options specs in .proto files). 429 | // E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents 430 | // "foo.(bar.baz).qux". 431 | message NamePart { 432 | required string name_part = 1; 433 | required bool is_extension = 2; 434 | } 435 | repeated NamePart name = 2; 436 | 437 | // The value of the uninterpreted option, in whatever type the tokenizer 438 | // identified it as during parsing. Exactly one of these should be set. 439 | optional string identifier_value = 3; 440 | optional uint64 positive_int_value = 4; 441 | optional int64 negative_int_value = 5; 442 | optional double double_value = 6; 443 | optional bytes string_value = 7; 444 | optional string aggregate_value = 8; 445 | } 446 | 447 | // =================================================================== 448 | // Optional source code info 449 | 450 | // Encapsulates information about the original source file from which a 451 | // FileDescriptorProto was generated. 452 | message SourceCodeInfo { 453 | // A Location identifies a piece of source code in a .proto file which 454 | // corresponds to a particular definition. This information is intended 455 | // to be useful to IDEs, code indexers, documentation generators, and similar 456 | // tools. 457 | // 458 | // For example, say we have a file like: 459 | // message Foo { 460 | // optional string foo = 1; 461 | // } 462 | // Let's look at just the field definition: 463 | // optional string foo = 1; 464 | // ^ ^^ ^^ ^ ^^^ 465 | // a bc de f ghi 466 | // We have the following locations: 467 | // span path represents 468 | // [a,i) [ 4, 0, 2, 0 ] The whole field definition. 469 | // [a,b) [ 4, 0, 2, 0, 4 ] The label (optional). 470 | // [c,d) [ 4, 0, 2, 0, 5 ] The type (string). 471 | // [e,f) [ 4, 0, 2, 0, 1 ] The name (foo). 472 | // [g,h) [ 4, 0, 2, 0, 3 ] The number (1). 473 | // 474 | // Notes: 475 | // - A location may refer to a repeated field itself (i.e. not to any 476 | // particular index within it). This is used whenever a set of elements are 477 | // logically enclosed in a single code segment. For example, an entire 478 | // extend block (possibly containing multiple extension definitions) will 479 | // have an outer location whose path refers to the "extensions" repeated 480 | // field without an index. 481 | // - Multiple locations may have the same path. This happens when a single 482 | // logical declaration is spread out across multiple places. The most 483 | // obvious example is the "extend" block again -- there may be multiple 484 | // extend blocks in the same scope, each of which will have the same path. 485 | // - A location's span is not always a subset of its parent's span. For 486 | // example, the "extendee" of an extension declaration appears at the 487 | // beginning of the "extend" block and is shared by all extensions within 488 | // the block. 489 | // - Just because a location's span is a subset of some other location's span 490 | // does not mean that it is a descendent. For example, a "group" defines 491 | // both a type and a field in a single declaration. Thus, the locations 492 | // corresponding to the type and field and their components will overlap. 493 | // - Code which tries to interpret locations should probably be designed to 494 | // ignore those that it doesn't understand, as more types of locations could 495 | // be recorded in the future. 496 | repeated Location location = 1; 497 | message Location { 498 | // Identifies which part of the FileDescriptorProto was defined at this 499 | // location. 500 | // 501 | // Each element is a field number or an index. They form a path from 502 | // the root FileDescriptorProto to the place where the definition. For 503 | // example, this path: 504 | // [ 4, 3, 2, 7, 1 ] 505 | // refers to: 506 | // file.message_type(3) // 4, 3 507 | // .field(7) // 2, 7 508 | // .name() // 1 509 | // This is because FileDescriptorProto.message_type has field number 4: 510 | // repeated DescriptorProto message_type = 4; 511 | // and DescriptorProto.field has field number 2: 512 | // repeated FieldDescriptorProto field = 2; 513 | // and FieldDescriptorProto.name has field number 1: 514 | // optional string name = 1; 515 | // 516 | // Thus, the above path gives the location of a field name. If we removed 517 | // the last element: 518 | // [ 4, 3, 2, 7 ] 519 | // this path refers to the whole field declaration (from the beginning 520 | // of the label to the terminating semicolon). 521 | repeated int32 path = 1 [packed=true]; 522 | 523 | // Always has exactly three or four elements: start line, start column, 524 | // end line (optional, otherwise assumed same as start line), end column. 525 | // These are packed into a single field for efficiency. Note that line 526 | // and column numbers are zero-based -- typically you will want to add 527 | // 1 to each before displaying to a user. 528 | repeated int32 span = 2 [packed=true]; 529 | 530 | // TODO(kenton): Record comments appearing before and after the 531 | // declaration. 532 | } 533 | } 534 | -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/tools/license.txt: -------------------------------------------------------------------------------- 1 | Protocol Buffers - Google's data interchange format 2 | Copyright 2008-2010 Google Inc. All rights reserved. 3 | http://github.com/jskeet/dotnet-protobufs/ 4 | Original C++/Java/Python code: 5 | http://code.google.com/p/protobuf/ 6 | 7 | Redistribution and use in source and binary forms, with or without 8 | modification, are permitted provided that the following conditions are 9 | met: 10 | 11 | * Redistributions of source code must retain the above copyright 12 | notice, this list of conditions and the following disclaimer. 13 | * Redistributions in binary form must reproduce the above 14 | copyright notice, this list of conditions and the following disclaimer 15 | in the documentation and/or other materials provided with the 16 | distribution. 17 | * Neither the name of Google Inc. nor the names of its 18 | contributors may be used to endorse or promote products derived from 19 | this software without specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/tools/protoc-license.txt: -------------------------------------------------------------------------------- 1 | protoc.exe was built from the original source at http://code.google.com/p/protobuf/ 2 | The licence for this code is as follows: 3 | 4 | Copyright 2008, Google Inc. 5 | All rights reserved. 6 | 7 | Redistribution and use in source and binary forms, with or without 8 | modification, are permitted provided that the following conditions are 9 | met: 10 | 11 | * Redistributions of source code must retain the above copyright 12 | notice, this list of conditions and the following disclaimer. 13 | * Redistributions in binary form must reproduce the above 14 | copyright notice, this list of conditions and the following disclaimer 15 | in the documentation and/or other materials provided with the 16 | distribution. 17 | * Neither the name of Google Inc. nor the names of its 18 | contributors may be used to endorse or promote products derived from 19 | this software without specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 | 33 | Code generated by the Protocol Buffer compiler is owned by the owner 34 | of the input file used when generating it. This code is not 35 | standalone and requires a support library to be linked with it. This 36 | support library is itself covered by the above license. -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/tools/protoc.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/spotware/Open-API-2.0-.Net-Sample/5d1bd5c1c0c2c001a71331df55062d991a688f2a/packages/Google.ProtocolBuffers.2.4.1.555/tools/protoc.exe -------------------------------------------------------------------------------- /packages/Google.ProtocolBuffers.2.4.1.555/tools/tutorial/addressbook.proto: -------------------------------------------------------------------------------- 1 | package tutorial; 2 | 3 | import "google/protobuf/csharp_options.proto"; 4 | option (google.protobuf.csharp_file_options).namespace = "Google.ProtocolBuffers.Examples.AddressBook"; 5 | option (google.protobuf.csharp_file_options).umbrella_classname = "AddressBookProtos"; 6 | 7 | option optimize_for = SPEED; 8 | 9 | message Person { 10 | required string name = 1; 11 | required int32 id = 2; // Unique ID number for this person. 12 | optional string email = 3; 13 | 14 | enum PhoneType { 15 | MOBILE = 0; 16 | HOME = 1; 17 | WORK = 2; 18 | } 19 | 20 | message PhoneNumber { 21 | required string number = 1; 22 | optional PhoneType type = 2 [default = HOME]; 23 | } 24 | 25 | repeated PhoneNumber phone = 4; 26 | } 27 | 28 | // Our address book file is just one of these. 29 | message AddressBook { 30 | repeated Person person = 1; 31 | } 32 | --------------------------------------------------------------------------------