├── .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 |
--------------------------------------------------------------------------------