auser-poolparty 1.3.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (353) hide show
  1. data/VERSION.yml +1 -1
  2. data/examples/monitored_cloud.rb +1 -1
  3. data/examples/thrift/thrift_example.rb +1 -1
  4. data/lib/proto/command_interface_handler.rb +1 -1
  5. data/vendor/gems/thrift/CHANGES +35 -0
  6. data/vendor/gems/thrift/CONTRIBUTORS +77 -0
  7. data/vendor/gems/thrift/DISCLAIMER +6 -0
  8. data/vendor/gems/thrift/LICENSE +202 -0
  9. data/vendor/gems/thrift/Makefile.am +28 -0
  10. data/vendor/gems/thrift/NEWS +79 -0
  11. data/vendor/gems/thrift/NOTICE +26 -0
  12. data/vendor/gems/thrift/README +137 -0
  13. data/vendor/gems/thrift/aclocal/ax_boost_base.m4 +198 -0
  14. data/vendor/gems/thrift/aclocal/ax_javac_and_java.m4 +107 -0
  15. data/vendor/gems/thrift/aclocal/ax_lib_event.m4 +194 -0
  16. data/vendor/gems/thrift/aclocal/ax_lib_zlib.m4 +173 -0
  17. data/vendor/gems/thrift/aclocal/ax_signed_right_shift.m4 +127 -0
  18. data/vendor/gems/thrift/aclocal/ax_thrift_internal.m4 +39 -0
  19. data/vendor/gems/thrift/bootstrap.sh +35 -0
  20. data/vendor/gems/thrift/cleanup.sh +58 -0
  21. data/vendor/gems/thrift/compiler/cpp/Makefile.am +136 -0
  22. data/vendor/gems/thrift/compiler/cpp/README +39 -0
  23. data/vendor/gems/thrift/compiler/cpp/src/generate/t_cocoa_generator.cc +2331 -0
  24. data/vendor/gems/thrift/compiler/cpp/src/generate/t_cpp_generator.cc +3003 -0
  25. data/vendor/gems/thrift/compiler/cpp/src/generate/t_csharp_generator.cc +1700 -0
  26. data/vendor/gems/thrift/compiler/cpp/src/generate/t_erl_generator.cc +932 -0
  27. data/vendor/gems/thrift/compiler/cpp/src/generate/t_generator.cc +173 -0
  28. data/vendor/gems/thrift/compiler/cpp/src/generate/t_generator.h +321 -0
  29. data/vendor/gems/thrift/compiler/cpp/src/generate/t_hs_generator.cc +1445 -0
  30. data/vendor/gems/thrift/compiler/cpp/src/generate/t_html_generator.cc +637 -0
  31. data/vendor/gems/thrift/compiler/cpp/src/generate/t_java_generator.cc +3069 -0
  32. data/vendor/gems/thrift/compiler/cpp/src/generate/t_ocaml_generator.cc +1673 -0
  33. data/vendor/gems/thrift/compiler/cpp/src/generate/t_oop_generator.h +77 -0
  34. data/vendor/gems/thrift/compiler/cpp/src/generate/t_perl_generator.cc +1812 -0
  35. data/vendor/gems/thrift/compiler/cpp/src/generate/t_php_generator.cc +2281 -0
  36. data/vendor/gems/thrift/compiler/cpp/src/generate/t_py_generator.cc +2310 -0
  37. data/vendor/gems/thrift/compiler/cpp/src/generate/t_rb_generator.cc +1114 -0
  38. data/vendor/gems/thrift/compiler/cpp/src/generate/t_st_generator.cc +1071 -0
  39. data/vendor/gems/thrift/compiler/cpp/src/generate/t_xsd_generator.cc +354 -0
  40. data/vendor/gems/thrift/compiler/cpp/src/globals.h +117 -0
  41. data/vendor/gems/thrift/compiler/cpp/src/main.cc +1207 -0
  42. data/vendor/gems/thrift/compiler/cpp/src/main.h +103 -0
  43. data/vendor/gems/thrift/compiler/cpp/src/md5.c +381 -0
  44. data/vendor/gems/thrift/compiler/cpp/src/md5.h +91 -0
  45. data/vendor/gems/thrift/compiler/cpp/src/parse/t_base_type.h +137 -0
  46. data/vendor/gems/thrift/compiler/cpp/src/parse/t_const.h +59 -0
  47. data/vendor/gems/thrift/compiler/cpp/src/parse/t_const_value.h +121 -0
  48. data/vendor/gems/thrift/compiler/cpp/src/parse/t_container.h +56 -0
  49. data/vendor/gems/thrift/compiler/cpp/src/parse/t_doc.h +51 -0
  50. data/vendor/gems/thrift/compiler/cpp/src/parse/t_enum.h +59 -0
  51. data/vendor/gems/thrift/compiler/cpp/src/parse/t_enum_value.h +64 -0
  52. data/vendor/gems/thrift/compiler/cpp/src/parse/t_field.h +150 -0
  53. data/vendor/gems/thrift/compiler/cpp/src/parse/t_function.h +93 -0
  54. data/vendor/gems/thrift/compiler/cpp/src/parse/t_list.h +56 -0
  55. data/vendor/gems/thrift/compiler/cpp/src/parse/t_map.h +64 -0
  56. data/vendor/gems/thrift/compiler/cpp/src/parse/t_program.h +223 -0
  57. data/vendor/gems/thrift/compiler/cpp/src/parse/t_scope.h +86 -0
  58. data/vendor/gems/thrift/compiler/cpp/src/parse/t_service.h +68 -0
  59. data/vendor/gems/thrift/compiler/cpp/src/parse/t_set.h +55 -0
  60. data/vendor/gems/thrift/compiler/cpp/src/parse/t_struct.h +127 -0
  61. data/vendor/gems/thrift/compiler/cpp/src/parse/t_type.h +176 -0
  62. data/vendor/gems/thrift/compiler/cpp/src/parse/t_typedef.h +70 -0
  63. data/vendor/gems/thrift/compiler/cpp/src/platform.h +36 -0
  64. data/vendor/gems/thrift/compiler/cpp/src/thriftl.ll +303 -0
  65. data/vendor/gems/thrift/compiler/cpp/src/thrifty.yy +1140 -0
  66. data/vendor/gems/thrift/configure.ac +255 -0
  67. data/vendor/gems/thrift/contrib/fb303/LICENSE +16 -0
  68. data/vendor/gems/thrift/contrib/fb303/Makefile.am +31 -0
  69. data/vendor/gems/thrift/contrib/fb303/README +37 -0
  70. data/vendor/gems/thrift/contrib/fb303/acinclude.m4 +258 -0
  71. data/vendor/gems/thrift/contrib/fb303/aclocal/ax_boost_base.m4 +198 -0
  72. data/vendor/gems/thrift/contrib/fb303/bootstrap.sh +26 -0
  73. data/vendor/gems/thrift/contrib/fb303/configure.ac +115 -0
  74. data/vendor/gems/thrift/contrib/fb303/cpp/FacebookBase.cpp +124 -0
  75. data/vendor/gems/thrift/contrib/fb303/cpp/FacebookBase.h +103 -0
  76. data/vendor/gems/thrift/contrib/fb303/cpp/Makefile.am +84 -0
  77. data/vendor/gems/thrift/contrib/fb303/cpp/ServiceTracker.cpp +481 -0
  78. data/vendor/gems/thrift/contrib/fb303/cpp/ServiceTracker.h +215 -0
  79. data/vendor/gems/thrift/contrib/fb303/global_footer.mk +21 -0
  80. data/vendor/gems/thrift/contrib/fb303/global_header.mk +38 -0
  81. data/vendor/gems/thrift/contrib/fb303/if/fb303.thrift +112 -0
  82. data/vendor/gems/thrift/contrib/fb303/java/FacebookBase.java +103 -0
  83. data/vendor/gems/thrift/contrib/fb303/java/build.xml +84 -0
  84. data/vendor/gems/thrift/contrib/fb303/php/FacebookBase.php +89 -0
  85. data/vendor/gems/thrift/contrib/fb303/py/Makefile.am +44 -0
  86. data/vendor/gems/thrift/contrib/fb303/py/fb303/FacebookBase.py +82 -0
  87. data/vendor/gems/thrift/contrib/fb303/py/fb303_scripts/__init__.py +20 -0
  88. data/vendor/gems/thrift/contrib/fb303/py/fb303_scripts/fb303_simple_mgmt.py +195 -0
  89. data/vendor/gems/thrift/contrib/fb303/py/setup.py +27 -0
  90. data/vendor/gems/thrift/contrib/thrift.el +126 -0
  91. data/vendor/gems/thrift/contrib/thrift.spec +206 -0
  92. data/vendor/gems/thrift/contrib/thrift.vim +91 -0
  93. data/vendor/gems/thrift/contrib/thrift_dump.cpp +91 -0
  94. data/vendor/gems/thrift/doc/lgpl-2.1.txt +504 -0
  95. data/vendor/gems/thrift/doc/otp-base-license.txt +20 -0
  96. data/vendor/gems/thrift/doc/thrift.bnf +96 -0
  97. data/vendor/gems/thrift/doc/thrift.tex +1057 -0
  98. data/vendor/gems/thrift/lib/Makefile.am +55 -0
  99. data/vendor/gems/thrift/lib/cocoa/README +21 -0
  100. data/vendor/gems/thrift/lib/cocoa/src/TApplicationException.h +44 -0
  101. data/vendor/gems/thrift/lib/cocoa/src/TApplicationException.m +130 -0
  102. data/vendor/gems/thrift/lib/cocoa/src/TException.h +34 -0
  103. data/vendor/gems/thrift/lib/cocoa/src/TException.m +64 -0
  104. data/vendor/gems/thrift/lib/cocoa/src/TProcessor.h +29 -0
  105. data/vendor/gems/thrift/lib/cocoa/src/TProcessorFactory.h +27 -0
  106. data/vendor/gems/thrift/lib/cocoa/src/TSharedProcessorFactory.h +27 -0
  107. data/vendor/gems/thrift/lib/cocoa/src/TSharedProcessorFactory.m +51 -0
  108. data/vendor/gems/thrift/lib/cocoa/src/protocol/TBinaryProtocol.h +51 -0
  109. data/vendor/gems/thrift/lib/cocoa/src/protocol/TBinaryProtocol.m +477 -0
  110. data/vendor/gems/thrift/lib/cocoa/src/protocol/TProtocol.h +148 -0
  111. data/vendor/gems/thrift/lib/cocoa/src/protocol/TProtocolException.h +25 -0
  112. data/vendor/gems/thrift/lib/cocoa/src/protocol/TProtocolException.m +23 -0
  113. data/vendor/gems/thrift/lib/cocoa/src/protocol/TProtocolFactory.h +29 -0
  114. data/vendor/gems/thrift/lib/cocoa/src/protocol/TProtocolUtil.h +29 -0
  115. data/vendor/gems/thrift/lib/cocoa/src/protocol/TProtocolUtil.m +104 -0
  116. data/vendor/gems/thrift/lib/cocoa/src/server/TSocketServer.h +50 -0
  117. data/vendor/gems/thrift/lib/cocoa/src/server/TSocketServer.m +153 -0
  118. data/vendor/gems/thrift/lib/cocoa/src/transport/THTTPClient.h +42 -0
  119. data/vendor/gems/thrift/lib/cocoa/src/transport/THTTPClient.m +159 -0
  120. data/vendor/gems/thrift/lib/cocoa/src/transport/TNSFileHandleTransport.h +35 -0
  121. data/vendor/gems/thrift/lib/cocoa/src/transport/TNSFileHandleTransport.m +91 -0
  122. data/vendor/gems/thrift/lib/cocoa/src/transport/TNSStreamTransport.h +38 -0
  123. data/vendor/gems/thrift/lib/cocoa/src/transport/TNSStreamTransport.m +89 -0
  124. data/vendor/gems/thrift/lib/cocoa/src/transport/TSocketClient.h +32 -0
  125. data/vendor/gems/thrift/lib/cocoa/src/transport/TSocketClient.m +58 -0
  126. data/vendor/gems/thrift/lib/cocoa/src/transport/TTransport.h +36 -0
  127. data/vendor/gems/thrift/lib/cocoa/src/transport/TTransportException.h +30 -0
  128. data/vendor/gems/thrift/lib/cocoa/src/transport/TTransportException.m +43 -0
  129. data/vendor/gems/thrift/lib/cpp/Makefile.am +158 -0
  130. data/vendor/gems/thrift/lib/cpp/README +67 -0
  131. data/vendor/gems/thrift/lib/cpp/src/TLogging.h +163 -0
  132. data/vendor/gems/thrift/lib/cpp/src/TProcessor.h +53 -0
  133. data/vendor/gems/thrift/lib/cpp/src/TReflectionLocal.h +96 -0
  134. data/vendor/gems/thrift/lib/cpp/src/Thrift.cpp +148 -0
  135. data/vendor/gems/thrift/lib/cpp/src/Thrift.h +191 -0
  136. data/vendor/gems/thrift/lib/cpp/src/concurrency/Exception.h +60 -0
  137. data/vendor/gems/thrift/lib/cpp/src/concurrency/FunctionRunner.h +77 -0
  138. data/vendor/gems/thrift/lib/cpp/src/concurrency/Monitor.cpp +137 -0
  139. data/vendor/gems/thrift/lib/cpp/src/concurrency/Monitor.h +84 -0
  140. data/vendor/gems/thrift/lib/cpp/src/concurrency/Mutex.cpp +160 -0
  141. data/vendor/gems/thrift/lib/cpp/src/concurrency/Mutex.h +114 -0
  142. data/vendor/gems/thrift/lib/cpp/src/concurrency/PosixThreadFactory.cpp +314 -0
  143. data/vendor/gems/thrift/lib/cpp/src/concurrency/PosixThreadFactory.h +130 -0
  144. data/vendor/gems/thrift/lib/cpp/src/concurrency/Thread.h +125 -0
  145. data/vendor/gems/thrift/lib/cpp/src/concurrency/ThreadManager.cpp +493 -0
  146. data/vendor/gems/thrift/lib/cpp/src/concurrency/ThreadManager.h +169 -0
  147. data/vendor/gems/thrift/lib/cpp/src/concurrency/TimerManager.cpp +284 -0
  148. data/vendor/gems/thrift/lib/cpp/src/concurrency/TimerManager.h +122 -0
  149. data/vendor/gems/thrift/lib/cpp/src/concurrency/Util.cpp +55 -0
  150. data/vendor/gems/thrift/lib/cpp/src/concurrency/Util.h +100 -0
  151. data/vendor/gems/thrift/lib/cpp/src/concurrency/test/Tests.cpp +155 -0
  152. data/vendor/gems/thrift/lib/cpp/src/concurrency/test/ThreadFactoryTests.h +354 -0
  153. data/vendor/gems/thrift/lib/cpp/src/concurrency/test/ThreadManagerTests.h +379 -0
  154. data/vendor/gems/thrift/lib/cpp/src/concurrency/test/TimerManagerTests.h +155 -0
  155. data/vendor/gems/thrift/lib/cpp/src/processor/PeekProcessor.cpp +122 -0
  156. data/vendor/gems/thrift/lib/cpp/src/processor/PeekProcessor.h +77 -0
  157. data/vendor/gems/thrift/lib/cpp/src/processor/StatsProcessor.h +264 -0
  158. data/vendor/gems/thrift/lib/cpp/src/protocol/TBase64Utils.cpp +79 -0
  159. data/vendor/gems/thrift/lib/cpp/src/protocol/TBase64Utils.h +42 -0
  160. data/vendor/gems/thrift/lib/cpp/src/protocol/TBinaryProtocol.cpp +394 -0
  161. data/vendor/gems/thrift/lib/cpp/src/protocol/TBinaryProtocol.h +254 -0
  162. data/vendor/gems/thrift/lib/cpp/src/protocol/TCompactProtocol.cpp +736 -0
  163. data/vendor/gems/thrift/lib/cpp/src/protocol/TCompactProtocol.h +279 -0
  164. data/vendor/gems/thrift/lib/cpp/src/protocol/TDebugProtocol.cpp +346 -0
  165. data/vendor/gems/thrift/lib/cpp/src/protocol/TDebugProtocol.h +225 -0
  166. data/vendor/gems/thrift/lib/cpp/src/protocol/TDenseProtocol.cpp +762 -0
  167. data/vendor/gems/thrift/lib/cpp/src/protocol/TDenseProtocol.h +253 -0
  168. data/vendor/gems/thrift/lib/cpp/src/protocol/TJSONProtocol.cpp +998 -0
  169. data/vendor/gems/thrift/lib/cpp/src/protocol/TJSONProtocol.h +340 -0
  170. data/vendor/gems/thrift/lib/cpp/src/protocol/TOneWayProtocol.h +304 -0
  171. data/vendor/gems/thrift/lib/cpp/src/protocol/TProtocol.h +438 -0
  172. data/vendor/gems/thrift/lib/cpp/src/protocol/TProtocolException.h +104 -0
  173. data/vendor/gems/thrift/lib/cpp/src/protocol/TProtocolTap.h +187 -0
  174. data/vendor/gems/thrift/lib/cpp/src/server/TNonblockingServer.cpp +750 -0
  175. data/vendor/gems/thrift/lib/cpp/src/server/TNonblockingServer.h +435 -0
  176. data/vendor/gems/thrift/lib/cpp/src/server/TServer.cpp +38 -0
  177. data/vendor/gems/thrift/lib/cpp/src/server/TServer.h +213 -0
  178. data/vendor/gems/thrift/lib/cpp/src/server/TSimpleServer.cpp +118 -0
  179. data/vendor/gems/thrift/lib/cpp/src/server/TSimpleServer.h +70 -0
  180. data/vendor/gems/thrift/lib/cpp/src/server/TThreadPoolServer.cpp +217 -0
  181. data/vendor/gems/thrift/lib/cpp/src/server/TThreadPoolServer.h +79 -0
  182. data/vendor/gems/thrift/lib/cpp/src/server/TThreadedServer.cpp +243 -0
  183. data/vendor/gems/thrift/lib/cpp/src/server/TThreadedServer.h +74 -0
  184. data/vendor/gems/thrift/lib/cpp/src/transport/TBufferTransports.cpp +370 -0
  185. data/vendor/gems/thrift/lib/cpp/src/transport/TBufferTransports.h +667 -0
  186. data/vendor/gems/thrift/lib/cpp/src/transport/TFDTransport.cpp +77 -0
  187. data/vendor/gems/thrift/lib/cpp/src/transport/TFDTransport.h +73 -0
  188. data/vendor/gems/thrift/lib/cpp/src/transport/TFileTransport.cpp +953 -0
  189. data/vendor/gems/thrift/lib/cpp/src/transport/TFileTransport.h +442 -0
  190. data/vendor/gems/thrift/lib/cpp/src/transport/THttpClient.cpp +348 -0
  191. data/vendor/gems/thrift/lib/cpp/src/transport/THttpClient.h +111 -0
  192. data/vendor/gems/thrift/lib/cpp/src/transport/TServerSocket.cpp +368 -0
  193. data/vendor/gems/thrift/lib/cpp/src/transport/TServerSocket.h +76 -0
  194. data/vendor/gems/thrift/lib/cpp/src/transport/TServerTransport.h +92 -0
  195. data/vendor/gems/thrift/lib/cpp/src/transport/TShortReadTransport.h +96 -0
  196. data/vendor/gems/thrift/lib/cpp/src/transport/TSimpleFileTransport.cpp +54 -0
  197. data/vendor/gems/thrift/lib/cpp/src/transport/TSimpleFileTransport.h +41 -0
  198. data/vendor/gems/thrift/lib/cpp/src/transport/TSocket.cpp +591 -0
  199. data/vendor/gems/thrift/lib/cpp/src/transport/TSocket.h +242 -0
  200. data/vendor/gems/thrift/lib/cpp/src/transport/TSocketPool.cpp +235 -0
  201. data/vendor/gems/thrift/lib/cpp/src/transport/TSocketPool.h +191 -0
  202. data/vendor/gems/thrift/lib/cpp/src/transport/TTransport.h +224 -0
  203. data/vendor/gems/thrift/lib/cpp/src/transport/TTransportException.cpp +31 -0
  204. data/vendor/gems/thrift/lib/cpp/src/transport/TTransportException.h +117 -0
  205. data/vendor/gems/thrift/lib/cpp/src/transport/TTransportUtils.cpp +178 -0
  206. data/vendor/gems/thrift/lib/cpp/src/transport/TTransportUtils.h +287 -0
  207. data/vendor/gems/thrift/lib/cpp/src/transport/TZlibTransport.cpp +299 -0
  208. data/vendor/gems/thrift/lib/cpp/src/transport/TZlibTransport.h +219 -0
  209. data/vendor/gems/thrift/lib/cpp/thrift-nb.pc.in +30 -0
  210. data/vendor/gems/thrift/lib/cpp/thrift-z.pc.in +30 -0
  211. data/vendor/gems/thrift/lib/cpp/thrift.pc.in +29 -0
  212. data/vendor/gems/thrift/lib/csharp/Makefile.am +70 -0
  213. data/vendor/gems/thrift/lib/csharp/README +26 -0
  214. data/vendor/gems/thrift/lib/csharp/ThriftMSBuildTask/Properties/AssemblyInfo.cs +55 -0
  215. data/vendor/gems/thrift/lib/csharp/ThriftMSBuildTask/ThriftBuild.cs +242 -0
  216. data/vendor/gems/thrift/lib/csharp/ThriftMSBuildTask/ThriftMSBuildTask.csproj +62 -0
  217. data/vendor/gems/thrift/lib/csharp/src/Collections/THashSet.cs +142 -0
  218. data/vendor/gems/thrift/lib/csharp/src/Protocol/TBase.cs +34 -0
  219. data/vendor/gems/thrift/lib/csharp/src/Protocol/TBinaryProtocol.cs +392 -0
  220. data/vendor/gems/thrift/lib/csharp/src/Protocol/TField.cs +58 -0
  221. data/vendor/gems/thrift/lib/csharp/src/Protocol/TList.cs +50 -0
  222. data/vendor/gems/thrift/lib/csharp/src/Protocol/TMap.cs +58 -0
  223. data/vendor/gems/thrift/lib/csharp/src/Protocol/TMessage.cs +58 -0
  224. data/vendor/gems/thrift/lib/csharp/src/Protocol/TMessageType.cs +31 -0
  225. data/vendor/gems/thrift/lib/csharp/src/Protocol/TProtocol.cs +87 -0
  226. data/vendor/gems/thrift/lib/csharp/src/Protocol/TProtocolException.cs +61 -0
  227. data/vendor/gems/thrift/lib/csharp/src/Protocol/TProtocolFactory.cs +29 -0
  228. data/vendor/gems/thrift/lib/csharp/src/Protocol/TProtocolUtil.cs +94 -0
  229. data/vendor/gems/thrift/lib/csharp/src/Protocol/TSet.cs +50 -0
  230. data/vendor/gems/thrift/lib/csharp/src/Protocol/TStruct.cs +42 -0
  231. data/vendor/gems/thrift/lib/csharp/src/Protocol/TType.cs +40 -0
  232. data/vendor/gems/thrift/lib/csharp/src/Server/TServer.cs +135 -0
  233. data/vendor/gems/thrift/lib/csharp/src/Server/TSimpleServer.cs +148 -0
  234. data/vendor/gems/thrift/lib/csharp/src/Server/TThreadPoolServer.cs +186 -0
  235. data/vendor/gems/thrift/lib/csharp/src/Server/TThreadedServer.cs +234 -0
  236. data/vendor/gems/thrift/lib/csharp/src/TApplicationException.cs +131 -0
  237. data/vendor/gems/thrift/lib/csharp/src/TProcessor.cs +29 -0
  238. data/vendor/gems/thrift/lib/csharp/src/Thrift.csproj +73 -0
  239. data/vendor/gems/thrift/lib/csharp/src/Thrift.sln +35 -0
  240. data/vendor/gems/thrift/lib/csharp/src/Transport/TBufferedTransport.cs +100 -0
  241. data/vendor/gems/thrift/lib/csharp/src/Transport/TServerSocket.cs +157 -0
  242. data/vendor/gems/thrift/lib/csharp/src/Transport/TServerTransport.cs +39 -0
  243. data/vendor/gems/thrift/lib/csharp/src/Transport/TSocket.cs +144 -0
  244. data/vendor/gems/thrift/lib/csharp/src/Transport/TStreamTransport.cs +103 -0
  245. data/vendor/gems/thrift/lib/csharp/src/Transport/TTransport.cs +66 -0
  246. data/vendor/gems/thrift/lib/csharp/src/Transport/TTransportException.cs +64 -0
  247. data/vendor/gems/thrift/lib/csharp/src/Transport/TTransportFactory.cs +38 -0
  248. data/vendor/gems/thrift/lib/erl/Makefile +37 -0
  249. data/vendor/gems/thrift/lib/erl/README +56 -0
  250. data/vendor/gems/thrift/lib/erl/build/beamver +59 -0
  251. data/vendor/gems/thrift/lib/erl/build/buildtargets.mk +15 -0
  252. data/vendor/gems/thrift/lib/erl/build/colors.mk +24 -0
  253. data/vendor/gems/thrift/lib/erl/build/docs.mk +12 -0
  254. data/vendor/gems/thrift/lib/erl/build/mime.types +98 -0
  255. data/vendor/gems/thrift/lib/erl/build/otp.mk +146 -0
  256. data/vendor/gems/thrift/lib/erl/build/otp_subdir.mk +85 -0
  257. data/vendor/gems/thrift/lib/erl/build/raw_test.mk +29 -0
  258. data/vendor/gems/thrift/lib/erl/include/thrift_constants.hrl +54 -0
  259. data/vendor/gems/thrift/lib/erl/include/thrift_protocol.hrl +31 -0
  260. data/vendor/gems/thrift/lib/erl/src/Makefile +116 -0
  261. data/vendor/gems/thrift/lib/erl/src/test_handler.erl +26 -0
  262. data/vendor/gems/thrift/lib/erl/src/test_service.erl +29 -0
  263. data/vendor/gems/thrift/lib/erl/src/thrift.app.src +44 -0
  264. data/vendor/gems/thrift/lib/erl/src/thrift.appup.src +1 -0
  265. data/vendor/gems/thrift/lib/erl/src/thrift_base64_transport.erl +64 -0
  266. data/vendor/gems/thrift/lib/erl/src/thrift_binary_protocol.erl +325 -0
  267. data/vendor/gems/thrift/lib/erl/src/thrift_buffered_transport.erl +180 -0
  268. data/vendor/gems/thrift/lib/erl/src/thrift_client.erl +384 -0
  269. data/vendor/gems/thrift/lib/erl/src/thrift_disk_log_transport.erl +118 -0
  270. data/vendor/gems/thrift/lib/erl/src/thrift_file_transport.erl +87 -0
  271. data/vendor/gems/thrift/lib/erl/src/thrift_framed_transport.erl +208 -0
  272. data/vendor/gems/thrift/lib/erl/src/thrift_http_transport.erl +199 -0
  273. data/vendor/gems/thrift/lib/erl/src/thrift_memory_buffer.erl +164 -0
  274. data/vendor/gems/thrift/lib/erl/src/thrift_processor.erl +188 -0
  275. data/vendor/gems/thrift/lib/erl/src/thrift_protocol.erl +356 -0
  276. data/vendor/gems/thrift/lib/erl/src/thrift_server.erl +183 -0
  277. data/vendor/gems/thrift/lib/erl/src/thrift_service.erl +25 -0
  278. data/vendor/gems/thrift/lib/erl/src/thrift_socket_server.erl +249 -0
  279. data/vendor/gems/thrift/lib/erl/src/thrift_socket_transport.erl +119 -0
  280. data/vendor/gems/thrift/lib/erl/src/thrift_transport.erl +57 -0
  281. data/vendor/gems/thrift/lib/erl/vsn.mk +1 -0
  282. data/vendor/gems/thrift/lib/hs/README +82 -0
  283. data/vendor/gems/thrift/lib/hs/Setup.lhs +23 -0
  284. data/vendor/gems/thrift/lib/hs/TODO +2 -0
  285. data/vendor/gems/thrift/lib/hs/Thrift.cabal +20 -0
  286. data/vendor/gems/thrift/lib/hs/src/Thrift.hs +111 -0
  287. data/vendor/gems/thrift/lib/hs/src/Thrift/Protocol.hs +191 -0
  288. data/vendor/gems/thrift/lib/hs/src/Thrift/Protocol/Binary.hs +147 -0
  289. data/vendor/gems/thrift/lib/hs/src/Thrift/Server.hs +65 -0
  290. data/vendor/gems/thrift/lib/hs/src/Thrift/Transport.hs +60 -0
  291. data/vendor/gems/thrift/lib/hs/src/Thrift/Transport/Handle.hs +58 -0
  292. data/vendor/gems/thrift/lib/java/Makefile.am +38 -0
  293. data/vendor/gems/thrift/lib/java/README +43 -0
  294. data/vendor/gems/thrift/lib/java/build.xml +195 -0
  295. data/vendor/gems/thrift/lib/java/ivy.xml +8 -0
  296. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/IntRangeSet.java +171 -0
  297. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/TApplicationException.java +123 -0
  298. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/TBase.java +66 -0
  299. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/TBaseHelper.java +102 -0
  300. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/TByteArrayOutputStream.java +46 -0
  301. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/TDeserializer.java +94 -0
  302. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/TException.java +45 -0
  303. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/TFieldRequirementType.java +30 -0
  304. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/TProcessor.java +32 -0
  305. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/TProcessorFactory.java +39 -0
  306. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/TSerializer.java +110 -0
  307. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/meta_data/FieldMetaData.java +69 -0
  308. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/meta_data/FieldValueMetaData.java +42 -0
  309. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/meta_data/ListMetaData.java +29 -0
  310. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/meta_data/MapMetaData.java +31 -0
  311. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/meta_data/SetMetaData.java +29 -0
  312. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/meta_data/StructMetaData.java +31 -0
  313. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TBase64Utils.java +128 -0
  314. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TBinaryProtocol.java +331 -0
  315. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TCompactProtocol.java +741 -0
  316. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TField.java +48 -0
  317. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TJSONProtocol.java +927 -0
  318. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TList.java +38 -0
  319. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TMap.java +40 -0
  320. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TMessage.java +48 -0
  321. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TMessageType.java +31 -0
  322. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TProtocol.java +146 -0
  323. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TProtocolException.java +81 -0
  324. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TProtocolFactory.java +30 -0
  325. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TProtocolUtil.java +158 -0
  326. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TSet.java +42 -0
  327. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TSimpleJSONProtocol.java +384 -0
  328. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TStruct.java +36 -0
  329. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/protocol/TType.java +40 -0
  330. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/server/THsHaServer.java +304 -0
  331. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/server/TNonblockingServer.java +772 -0
  332. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/server/TServer.java +126 -0
  333. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/server/TSimpleServer.java +145 -0
  334. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/server/TThreadPoolServer.java +271 -0
  335. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/transport/TFramedTransport.java +126 -0
  336. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/transport/THttpClient.java +157 -0
  337. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/transport/TIOStreamTransport.java +159 -0
  338. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/transport/TMemoryBuffer.java +98 -0
  339. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/transport/TNonblockingServerSocket.java +160 -0
  340. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/transport/TNonblockingServerTransport.java +31 -0
  341. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/transport/TNonblockingSocket.java +213 -0
  342. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/transport/TNonblockingTransport.java +31 -0
  343. data/vendor/gems/thrift/lib/java/src/org/apache/thrift/transport/TServerSocket.java +145 -0
  344. metadata +348 -37
  345. data/vendor/gems/trollop/FAQ.txt +0 -35
  346. data/vendor/gems/trollop/History.txt +0 -84
  347. data/vendor/gems/trollop/Manifest.txt +0 -7
  348. data/vendor/gems/trollop/README.txt +0 -38
  349. data/vendor/gems/trollop/Rakefile +0 -36
  350. data/vendor/gems/trollop/lib/trollop.rb +0 -695
  351. data/vendor/gems/trollop/release-script.txt +0 -13
  352. data/vendor/gems/trollop/test/test_trollop.rb +0 -957
  353. data/vendor/gems/trollop/www/index.html +0 -167
@@ -0,0 +1,127 @@
1
+ /*
2
+ * Licensed to the Apache Software Foundation (ASF) under one
3
+ * or more contributor license agreements. See the NOTICE file
4
+ * distributed with this work for additional information
5
+ * regarding copyright ownership. The ASF licenses this file
6
+ * to you under the Apache License, Version 2.0 (the
7
+ * "License"); you may not use this file except in compliance
8
+ * with the License. You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing,
13
+ * software distributed under the License is distributed on an
14
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+ * KIND, either express or implied. See the License for the
16
+ * specific language governing permissions and limitations
17
+ * under the License.
18
+ */
19
+
20
+ #ifndef T_STRUCT_H
21
+ #define T_STRUCT_H
22
+
23
+ #include <algorithm>
24
+ #include <vector>
25
+ #include <utility>
26
+ #include <string>
27
+
28
+ #include "t_type.h"
29
+ #include "t_field.h"
30
+
31
+ // Forward declare that puppy
32
+ class t_program;
33
+
34
+ /**
35
+ * A struct is a container for a set of member fields that has a name. Structs
36
+ * are also used to implement exception types.
37
+ *
38
+ */
39
+ class t_struct : public t_type {
40
+ public:
41
+ typedef std::vector<t_field*> members_type;
42
+
43
+ t_struct(t_program* program) :
44
+ t_type(program),
45
+ is_xception_(false),
46
+ xsd_all_(false) {}
47
+
48
+ t_struct(t_program* program, const std::string& name) :
49
+ t_type(program, name),
50
+ is_xception_(false),
51
+ xsd_all_(false) {}
52
+
53
+ void set_name(const std::string& name) {
54
+ name_ = name;
55
+ }
56
+
57
+ void set_xception(bool is_xception) {
58
+ is_xception_ = is_xception;
59
+ }
60
+
61
+ void set_xsd_all(bool xsd_all) {
62
+ xsd_all_ = xsd_all;
63
+ }
64
+
65
+ bool get_xsd_all() const {
66
+ return xsd_all_;
67
+ }
68
+
69
+ bool append(t_field* elem) {
70
+ members_.push_back(elem);
71
+
72
+ typedef members_type::iterator iter_type;
73
+ std::pair<iter_type, iter_type> bounds = std::equal_range(
74
+ members_in_id_order_.begin(), members_in_id_order_.end(), elem, t_field::key_compare()
75
+ );
76
+ if (bounds.first != bounds.second) {
77
+ return false;
78
+ }
79
+ members_in_id_order_.insert(bounds.second, elem);
80
+ return true;
81
+ }
82
+
83
+ const members_type& get_members() {
84
+ return members_;
85
+ }
86
+
87
+ const members_type& get_sorted_members() {
88
+ return members_in_id_order_;
89
+ }
90
+
91
+ bool is_struct() const {
92
+ return !is_xception_;
93
+ }
94
+
95
+ bool is_xception() const {
96
+ return is_xception_;
97
+ }
98
+
99
+ virtual std::string get_fingerprint_material() const {
100
+ std::string rv = "{";
101
+ members_type::const_iterator m_iter;
102
+ for (m_iter = members_in_id_order_.begin(); m_iter != members_in_id_order_.end(); ++m_iter) {
103
+ rv += (*m_iter)->get_fingerprint_material();
104
+ rv += ";";
105
+ }
106
+ rv += "}";
107
+ return rv;
108
+ }
109
+
110
+ virtual void generate_fingerprint() {
111
+ t_type::generate_fingerprint();
112
+ members_type::const_iterator m_iter;
113
+ for (m_iter = members_in_id_order_.begin(); m_iter != members_in_id_order_.end(); ++m_iter) {
114
+ (*m_iter)->get_type()->generate_fingerprint();
115
+ }
116
+ }
117
+
118
+ private:
119
+
120
+ members_type members_;
121
+ members_type members_in_id_order_;
122
+ bool is_xception_;
123
+
124
+ bool xsd_all_;
125
+ };
126
+
127
+ #endif
@@ -0,0 +1,176 @@
1
+ /*
2
+ * Licensed to the Apache Software Foundation (ASF) under one
3
+ * or more contributor license agreements. See the NOTICE file
4
+ * distributed with this work for additional information
5
+ * regarding copyright ownership. The ASF licenses this file
6
+ * to you under the Apache License, Version 2.0 (the
7
+ * "License"); you may not use this file except in compliance
8
+ * with the License. You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing,
13
+ * software distributed under the License is distributed on an
14
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+ * KIND, either express or implied. See the License for the
16
+ * specific language governing permissions and limitations
17
+ * under the License.
18
+ */
19
+
20
+ #ifndef T_TYPE_H
21
+ #define T_TYPE_H
22
+
23
+ #include <string>
24
+ #include <map>
25
+ #include <cstring>
26
+ #include <stdint.h>
27
+ #include "t_doc.h"
28
+
29
+ // What's worse? This, or making a src/parse/non_inlined.cc?
30
+ #include "md5.h"
31
+
32
+ class t_program;
33
+
34
+ /**
35
+ * Generic representation of a thrift type. These objects are used by the
36
+ * parser module to build up a tree of object that are all explicitly typed.
37
+ * The generic t_type class exports a variety of useful methods that are
38
+ * used by the code generator to branch based upon different handling for the
39
+ * various types.
40
+ *
41
+ */
42
+ class t_type : public t_doc {
43
+ public:
44
+ virtual ~t_type() {}
45
+
46
+ virtual void set_name(const std::string& name) {
47
+ name_ = name;
48
+ }
49
+
50
+ virtual const std::string& get_name() const {
51
+ return name_;
52
+ }
53
+
54
+ virtual bool is_void() const { return false; }
55
+ virtual bool is_base_type() const { return false; }
56
+ virtual bool is_string() const { return false; }
57
+ virtual bool is_bool() const { return false; }
58
+ virtual bool is_typedef() const { return false; }
59
+ virtual bool is_enum() const { return false; }
60
+ virtual bool is_struct() const { return false; }
61
+ virtual bool is_xception() const { return false; }
62
+ virtual bool is_container() const { return false; }
63
+ virtual bool is_list() const { return false; }
64
+ virtual bool is_set() const { return false; }
65
+ virtual bool is_map() const { return false; }
66
+ virtual bool is_service() const { return false; }
67
+
68
+ t_program* get_program() {
69
+ return program_;
70
+ }
71
+
72
+
73
+ // Return a string that uniquely identifies this type
74
+ // from any other thrift type in the world, as far as
75
+ // TDenseProtocol is concerned.
76
+ // We don't cache this, which is a little sloppy,
77
+ // but the compiler is so fast that it doesn't really matter.
78
+ virtual std::string get_fingerprint_material() const = 0;
79
+
80
+ // Fingerprint should change whenever (and only when)
81
+ // the encoding via TDenseProtocol changes.
82
+ static const int fingerprint_len = 16;
83
+
84
+ // Call this before trying get_*_fingerprint().
85
+ virtual void generate_fingerprint() {
86
+ std::string material = get_fingerprint_material();
87
+ md5_state_t ctx;
88
+ md5_init(&ctx);
89
+ md5_append(&ctx, (md5_byte_t*)(material.data()), (int)material.size());
90
+ md5_finish(&ctx, (md5_byte_t*)fingerprint_);
91
+ }
92
+
93
+ bool has_fingerprint() const {
94
+ for (int i = 0; i < fingerprint_len; i++) {
95
+ if (fingerprint_[i] != 0) {
96
+ return true;
97
+ }
98
+ }
99
+ return false;
100
+ }
101
+
102
+ const uint8_t* get_binary_fingerprint() const {
103
+ return fingerprint_;
104
+ }
105
+
106
+ std::string get_ascii_fingerprint() const {
107
+ std::string rv;
108
+ const uint8_t* fp = get_binary_fingerprint();
109
+ for (int i = 0; i < fingerprint_len; i++) {
110
+ rv += byte_to_hex(fp[i]);
111
+ }
112
+ return rv;
113
+ }
114
+
115
+ // This function will break (maybe badly) unless 0 <= num <= 16.
116
+ static char nybble_to_xdigit(int num) {
117
+ if (num < 10) {
118
+ return '0' + num;
119
+ } else {
120
+ return 'A' + num - 10;
121
+ }
122
+ }
123
+
124
+ static std::string byte_to_hex(uint8_t byte) {
125
+ std::string rv;
126
+ rv += nybble_to_xdigit(byte >> 4);
127
+ rv += nybble_to_xdigit(byte & 0x0f);
128
+ return rv;
129
+ }
130
+
131
+ std::map<std::string, std::string> annotations_;
132
+
133
+ protected:
134
+ t_type() :
135
+ program_(NULL)
136
+ {
137
+ memset(fingerprint_, 0, sizeof(fingerprint_));
138
+ }
139
+
140
+ t_type(t_program* program) :
141
+ program_(program)
142
+ {
143
+ memset(fingerprint_, 0, sizeof(fingerprint_));
144
+ }
145
+
146
+ t_type(t_program* program, std::string name) :
147
+ program_(program),
148
+ name_(name)
149
+ {
150
+ memset(fingerprint_, 0, sizeof(fingerprint_));
151
+ }
152
+
153
+ t_type(std::string name) :
154
+ program_(NULL),
155
+ name_(name)
156
+ {
157
+ memset(fingerprint_, 0, sizeof(fingerprint_));
158
+ }
159
+
160
+ t_program* program_;
161
+ std::string name_;
162
+
163
+ uint8_t fingerprint_[fingerprint_len];
164
+ };
165
+
166
+
167
+ /**
168
+ * Placeholder struct for returning the key and value of an annotation
169
+ * during parsing.
170
+ */
171
+ struct t_annotation {
172
+ std::string key;
173
+ std::string val;
174
+ };
175
+
176
+ #endif
@@ -0,0 +1,70 @@
1
+ /*
2
+ * Licensed to the Apache Software Foundation (ASF) under one
3
+ * or more contributor license agreements. See the NOTICE file
4
+ * distributed with this work for additional information
5
+ * regarding copyright ownership. The ASF licenses this file
6
+ * to you under the Apache License, Version 2.0 (the
7
+ * "License"); you may not use this file except in compliance
8
+ * with the License. You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing,
13
+ * software distributed under the License is distributed on an
14
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+ * KIND, either express or implied. See the License for the
16
+ * specific language governing permissions and limitations
17
+ * under the License.
18
+ */
19
+
20
+ #ifndef T_TYPEDEF_H
21
+ #define T_TYPEDEF_H
22
+
23
+ #include <string>
24
+ #include "t_type.h"
25
+
26
+ /**
27
+ * A typedef is a mapping from a symbolic name to another type. In dymanically
28
+ * typed languages (i.e. php/python) the code generator can actually usually
29
+ * ignore typedefs and just use the underlying type directly, though in C++
30
+ * the symbolic naming can be quite useful for code clarity.
31
+ *
32
+ */
33
+ class t_typedef : public t_type {
34
+ public:
35
+ t_typedef(t_program* program, t_type* type, std::string symbolic) :
36
+ t_type(program, symbolic),
37
+ type_(type),
38
+ symbolic_(symbolic) {}
39
+
40
+ ~t_typedef() {}
41
+
42
+ t_type* get_type() const {
43
+ return type_;
44
+ }
45
+
46
+ const std::string& get_symbolic() const {
47
+ return symbolic_;
48
+ }
49
+
50
+ bool is_typedef() const {
51
+ return true;
52
+ }
53
+
54
+ virtual std::string get_fingerprint_material() const {
55
+ return type_->get_fingerprint_material();
56
+ }
57
+
58
+ virtual void generate_fingerprint() {
59
+ t_type::generate_fingerprint();
60
+ if (!type_->has_fingerprint()) {
61
+ type_->generate_fingerprint();
62
+ }
63
+ }
64
+
65
+ private:
66
+ t_type* type_;
67
+ std::string symbolic_;
68
+ };
69
+
70
+ #endif
@@ -0,0 +1,36 @@
1
+ /*
2
+ * Licensed to the Apache Software Foundation (ASF) under one
3
+ * or more contributor license agreements. See the NOTICE file
4
+ * distributed with this work for additional information
5
+ * regarding copyright ownership. The ASF licenses this file
6
+ * to you under the Apache License, Version 2.0 (the
7
+ * "License"); you may not use this file except in compliance
8
+ * with the License. You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing,
13
+ * software distributed under the License is distributed on an
14
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+ * KIND, either express or implied. See the License for the
16
+ * specific language governing permissions and limitations
17
+ * under the License.
18
+ */
19
+
20
+ /**
21
+ * define for mkdir,since the method signature
22
+ * is different for the non-POSIX MinGW
23
+ */
24
+
25
+ #ifdef MINGW
26
+ #include <io.h>
27
+ #else
28
+ #include <sys/types.h>
29
+ #include <sys/stat.h>
30
+ #endif
31
+
32
+ #if defined MINGW
33
+ #define MKDIR(x) mkdir(x)
34
+ #else
35
+ #define MKDIR(x) mkdir(x, S_IRWXU | S_IRWXG | S_IRWXO)
36
+ #endif
@@ -0,0 +1,303 @@
1
+ /*
2
+ * Licensed to the Apache Software Foundation (ASF) under one
3
+ * or more contributor license agreements. See the NOTICE file
4
+ * distributed with this work for additional information
5
+ * regarding copyright ownership. The ASF licenses this file
6
+ * to you under the Apache License, Version 2.0 (the
7
+ * "License"); you may not use this file except in compliance
8
+ * with the License. You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing,
13
+ * software distributed under the License is distributed on an
14
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+ * KIND, either express or implied. See the License for the
16
+ * specific language governing permissions and limitations
17
+ * under the License.
18
+ */
19
+
20
+ /**
21
+ * Thrift scanner.
22
+ *
23
+ * Tokenizes a thrift definition file.
24
+ */
25
+
26
+ %{
27
+
28
+ #include <string>
29
+ #include <errno.h>
30
+
31
+ #include "main.h"
32
+ #include "globals.h"
33
+ #include "parse/t_program.h"
34
+
35
+ /**
36
+ * Must be included AFTER parse/t_program.h, but I can't remember why anymore
37
+ * because I wrote this a while ago.
38
+ */
39
+ #include "thrifty.h"
40
+
41
+ void thrift_reserved_keyword(char* keyword) {
42
+ yyerror("Cannot use reserved language keyword: \"%s\"\n", keyword);
43
+ exit(1);
44
+ }
45
+
46
+ void integer_overflow(char* text) {
47
+ yyerror("This integer is too big: \"%s\"\n", text);
48
+ exit(1);
49
+ }
50
+
51
+ %}
52
+
53
+ /**
54
+ * Provides the yylineno global, useful for debugging output
55
+ */
56
+ %option lex-compat
57
+
58
+ /**
59
+ * Helper definitions, comments, constants, and whatnot
60
+ */
61
+
62
+ intconstant ([+-]?[0-9]+)
63
+ hexconstant ("0x"[0-9A-Fa-f]+)
64
+ dubconstant ([+-]?[0-9]*(\.[0-9]+)?([eE][+-]?[0-9]+)?)
65
+ identifier ([a-zA-Z_][\.a-zA-Z_0-9]*)
66
+ whitespace ([ \t\r\n]*)
67
+ sillycomm ("/*""*"*"*/")
68
+ multicomm ("/*"[^*]"/"*([^*/]|[^*]"/"|"*"[^/])*"*"*"*/")
69
+ doctext ("/**"([^*/]|[^*]"/"|"*"[^/])*"*"*"*/")
70
+ comment ("//"[^\n]*)
71
+ unixcomment ("#"[^\n]*)
72
+ symbol ([:;\,\{\}\(\)\=<>\[\]])
73
+ st_identifier ([a-zA-Z-][\.a-zA-Z_0-9-]*)
74
+ literal_begin (['\"])
75
+
76
+ %%
77
+
78
+ {whitespace} { /* do nothing */ }
79
+ {sillycomm} { /* do nothing */ }
80
+ {multicomm} { /* do nothing */ }
81
+ {comment} { /* do nothing */ }
82
+ {unixcomment} { /* do nothing */ }
83
+
84
+ {symbol} { return yytext[0]; }
85
+
86
+ "namespace" { return tok_namespace; }
87
+ "cpp_namespace" { return tok_cpp_namespace; }
88
+ "cpp_include" { return tok_cpp_include; }
89
+ "cpp_type" { return tok_cpp_type; }
90
+ "java_package" { return tok_java_package; }
91
+ "cocoa_prefix" { return tok_cocoa_prefix; }
92
+ "csharp_namespace" { return tok_csharp_namespace; }
93
+ "php_namespace" { return tok_php_namespace; }
94
+ "py_module" { return tok_py_module; }
95
+ "perl_package" { return tok_perl_package; }
96
+ "ruby_namespace" { return tok_ruby_namespace; }
97
+ "smalltalk_category" { return tok_smalltalk_category; }
98
+ "smalltalk_prefix" { return tok_smalltalk_prefix; }
99
+ "xsd_all" { return tok_xsd_all; }
100
+ "xsd_optional" { return tok_xsd_optional; }
101
+ "xsd_nillable" { return tok_xsd_nillable; }
102
+ "xsd_namespace" { return tok_xsd_namespace; }
103
+ "xsd_attrs" { return tok_xsd_attrs; }
104
+ "include" { return tok_include; }
105
+ "void" { return tok_void; }
106
+ "bool" { return tok_bool; }
107
+ "byte" { return tok_byte; }
108
+ "i16" { return tok_i16; }
109
+ "i32" { return tok_i32; }
110
+ "i64" { return tok_i64; }
111
+ "double" { return tok_double; }
112
+ "string" { return tok_string; }
113
+ "binary" { return tok_binary; }
114
+ "slist" { return tok_slist; }
115
+ "senum" { return tok_senum; }
116
+ "map" { return tok_map; }
117
+ "list" { return tok_list; }
118
+ "set" { return tok_set; }
119
+ "oneway" { return tok_oneway; }
120
+ "typedef" { return tok_typedef; }
121
+ "struct" { return tok_struct; }
122
+ "exception" { return tok_xception; }
123
+ "extends" { return tok_extends; }
124
+ "throws" { return tok_throws; }
125
+ "service" { return tok_service; }
126
+ "enum" { return tok_enum; }
127
+ "const" { return tok_const; }
128
+ "required" { return tok_required; }
129
+ "optional" { return tok_optional; }
130
+ "async" {
131
+ pwarning(0, "\"async\" is deprecated. It is called \"oneway\" now.\n");
132
+ return tok_oneway;
133
+ }
134
+
135
+
136
+ "abstract" { thrift_reserved_keyword(yytext); }
137
+ "and" { thrift_reserved_keyword(yytext); }
138
+ "args" { thrift_reserved_keyword(yytext); }
139
+ "as" { thrift_reserved_keyword(yytext); }
140
+ "assert" { thrift_reserved_keyword(yytext); }
141
+ "break" { thrift_reserved_keyword(yytext); }
142
+ "case" { thrift_reserved_keyword(yytext); }
143
+ "class" { thrift_reserved_keyword(yytext); }
144
+ "continue" { thrift_reserved_keyword(yytext); }
145
+ "declare" { thrift_reserved_keyword(yytext); }
146
+ "def" { thrift_reserved_keyword(yytext); }
147
+ "default" { thrift_reserved_keyword(yytext); }
148
+ "del" { thrift_reserved_keyword(yytext); }
149
+ "delete" { thrift_reserved_keyword(yytext); }
150
+ "do" { thrift_reserved_keyword(yytext); }
151
+ "elif" { thrift_reserved_keyword(yytext); }
152
+ "else" { thrift_reserved_keyword(yytext); }
153
+ "elseif" { thrift_reserved_keyword(yytext); }
154
+ "except" { thrift_reserved_keyword(yytext); }
155
+ "exec" { thrift_reserved_keyword(yytext); }
156
+ "false" { thrift_reserved_keyword(yytext); }
157
+ "finally" { thrift_reserved_keyword(yytext); }
158
+ "float" { thrift_reserved_keyword(yytext); }
159
+ "for" { thrift_reserved_keyword(yytext); }
160
+ "foreach" { thrift_reserved_keyword(yytext); }
161
+ "function" { thrift_reserved_keyword(yytext); }
162
+ "global" { thrift_reserved_keyword(yytext); }
163
+ "goto" { thrift_reserved_keyword(yytext); }
164
+ "if" { thrift_reserved_keyword(yytext); }
165
+ "implements" { thrift_reserved_keyword(yytext); }
166
+ "import" { thrift_reserved_keyword(yytext); }
167
+ "in" { thrift_reserved_keyword(yytext); }
168
+ "inline" { thrift_reserved_keyword(yytext); }
169
+ "instanceof" { thrift_reserved_keyword(yytext); }
170
+ "interface" { thrift_reserved_keyword(yytext); }
171
+ "is" { thrift_reserved_keyword(yytext); }
172
+ "lambda" { thrift_reserved_keyword(yytext); }
173
+ "native" { thrift_reserved_keyword(yytext); }
174
+ "new" { thrift_reserved_keyword(yytext); }
175
+ "not" { thrift_reserved_keyword(yytext); }
176
+ "or" { thrift_reserved_keyword(yytext); }
177
+ "pass" { thrift_reserved_keyword(yytext); }
178
+ "public" { thrift_reserved_keyword(yytext); }
179
+ "print" { thrift_reserved_keyword(yytext); }
180
+ "private" { thrift_reserved_keyword(yytext); }
181
+ "protected" { thrift_reserved_keyword(yytext); }
182
+ "raise" { thrift_reserved_keyword(yytext); }
183
+ "register" { thrift_reserved_keyword(yytext); }
184
+ "return" { thrift_reserved_keyword(yytext); }
185
+ "sizeof" { thrift_reserved_keyword(yytext); }
186
+ "static" { thrift_reserved_keyword(yytext); }
187
+ "switch" { thrift_reserved_keyword(yytext); }
188
+ "synchronized" { thrift_reserved_keyword(yytext); }
189
+ "this" { thrift_reserved_keyword(yytext); }
190
+ "throw" { thrift_reserved_keyword(yytext); }
191
+ "transient" { thrift_reserved_keyword(yytext); }
192
+ "true" { thrift_reserved_keyword(yytext); }
193
+ "try" { thrift_reserved_keyword(yytext); }
194
+ "unsigned" { thrift_reserved_keyword(yytext); }
195
+ "var" { thrift_reserved_keyword(yytext); }
196
+ "virtual" { thrift_reserved_keyword(yytext); }
197
+ "volatile" { thrift_reserved_keyword(yytext); }
198
+ "while" { thrift_reserved_keyword(yytext); }
199
+ "with" { thrift_reserved_keyword(yytext); }
200
+ "union" { thrift_reserved_keyword(yytext); }
201
+ "yield" { thrift_reserved_keyword(yytext); }
202
+
203
+ {intconstant} {
204
+ errno = 0;
205
+ yylval.iconst = strtoll(yytext, NULL, 10);
206
+ if (errno == ERANGE) {
207
+ integer_overflow(yytext);
208
+ }
209
+ return tok_int_constant;
210
+ }
211
+
212
+ {hexconstant} {
213
+ errno = 0;
214
+ yylval.iconst = strtoll(yytext+2, NULL, 16);
215
+ if (errno == ERANGE) {
216
+ integer_overflow(yytext);
217
+ }
218
+ return tok_int_constant;
219
+ }
220
+
221
+ {dubconstant} {
222
+ yylval.dconst = atof(yytext);
223
+ return tok_dub_constant;
224
+ }
225
+
226
+ {identifier} {
227
+ yylval.id = strdup(yytext);
228
+ return tok_identifier;
229
+ }
230
+
231
+ {st_identifier} {
232
+ yylval.id = strdup(yytext);
233
+ return tok_st_identifier;
234
+ }
235
+
236
+ {literal_begin} {
237
+ char mark = yytext[0];
238
+ std::string result;
239
+ for(;;)
240
+ {
241
+ int ch = yyinput();
242
+ switch (ch) {
243
+ case EOF:
244
+ yyerror("End of file while read string at %d\n", yylineno);
245
+ exit(1);
246
+ case '\n':
247
+ yyerror("End of line while read string at %d\n", yylineno - 1);
248
+ exit(1);
249
+ case '\\':
250
+ ch = yyinput();
251
+ switch (ch) {
252
+ case 'r':
253
+ result.push_back('\r');
254
+ continue;
255
+ case 'n':
256
+ result.push_back('\n');
257
+ continue;
258
+ case 't':
259
+ result.push_back('\t');
260
+ continue;
261
+ case '"':
262
+ result.push_back('"');
263
+ continue;
264
+ case '\'':
265
+ result.push_back('\'');
266
+ continue;
267
+ case '\\':
268
+ result.push_back('\\');
269
+ continue;
270
+ default:
271
+ yyerror("Bad escape character\n");
272
+ return -1;
273
+ }
274
+ break;
275
+ default:
276
+ if (ch == mark) {
277
+ yylval.id = strdup(result.c_str());
278
+ return tok_literal;
279
+ } else {
280
+ result.push_back(ch);
281
+ }
282
+ }
283
+ }
284
+ }
285
+
286
+
287
+ {doctext} {
288
+ /* This does not show up in the parse tree. */
289
+ /* Rather, the parser will grab it out of the global. */
290
+ if (g_parse_mode == PROGRAM) {
291
+ clear_doctext();
292
+ g_doctext = strdup(yytext + 3);
293
+ g_doctext[strlen(g_doctext) - 2] = '\0';
294
+ g_doctext = clean_up_doctext(g_doctext);
295
+ g_doctext_lineno = yylineno;
296
+ }
297
+ }
298
+
299
+
300
+ %%
301
+
302
+ /* vim: filetype=lex
303
+ */