rhodes 2.4.1 → 3.0.0.beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (395) hide show
  1. data/CHANGELOG +7 -0
  2. data/Rakefile +7 -36
  3. data/doc/build.txt +48 -22
  4. data/doc/device-caps.txt +130 -1
  5. data/doc/rhom.txt +9 -3
  6. data/doc/test-log-debug.txt +5 -2
  7. data/lib/extensions/barcode/ext/barcode/platform/android/Rakefile +40 -20
  8. data/lib/extensions/barcode/ext/barcode/platform/android/ZXing_Info/AUTHORS +58 -0
  9. data/lib/extensions/barcode/ext/barcode/platform/android/ZXing_Info/CHANGES +266 -0
  10. data/lib/extensions/barcode/ext/barcode/platform/android/ZXing_Info/COPYING +201 -0
  11. data/lib/extensions/barcode/ext/barcode/platform/android/ZXing_Info/README +11 -0
  12. data/lib/extensions/barcode/ext/barcode/platform/android/ext_build.files +173 -0
  13. data/lib/extensions/barcode/ext/barcode/platform/android/jni/src/barcode.cpp +34 -0
  14. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/BarcodeFormat.java +103 -0
  15. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/Binarizer.java +80 -0
  16. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/BinaryBitmap.java +128 -0
  17. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/ChecksumException.java +37 -0
  18. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/DecodeHintType.java +79 -0
  19. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/EncodeHintType.java +39 -0
  20. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/FormatException.java +38 -0
  21. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/LuminanceSource.java +113 -0
  22. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/MultiFormatReader.java +166 -0
  23. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/MultiFormatWriter.java +65 -0
  24. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/NotFoundException.java +37 -0
  25. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/Reader.java +64 -0
  26. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/ReaderException.java +98 -0
  27. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/Result.java +143 -0
  28. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/ResultMetadataType.java +109 -0
  29. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/ResultPoint.java +127 -0
  30. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/ResultPointCallback.java +29 -0
  31. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/Writer.java +54 -0
  32. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/WriterException.java +35 -0
  33. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/AbstractDoCoMoResultParser.java +39 -0
  34. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/AddressBookAUResultParser.java +73 -0
  35. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/AddressBookDoCoMoResultParser.java +85 -0
  36. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/AddressBookParsedResult.java +122 -0
  37. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/BizcardResultParser.java +94 -0
  38. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/BookmarkDoCoMoResultParser.java +46 -0
  39. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/CalendarParsedResult.java +134 -0
  40. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/EmailAddressParsedResult.java +61 -0
  41. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/EmailAddressResultParser.java +64 -0
  42. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/EmailDoCoMoResultParser.java +87 -0
  43. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ExpandedProductParsedResult.java +195 -0
  44. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ExpandedProductResultParser.java +199 -0
  45. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/GeoParsedResult.java +132 -0
  46. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/GeoResultParser.java +77 -0
  47. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ISBNParsedResult.java +39 -0
  48. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ISBNResultParser.java +54 -0
  49. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ParsedResult.java +73 -0
  50. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ParsedResultType.java +53 -0
  51. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ProductParsedResult.java +49 -0
  52. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ProductResultParser.java +66 -0
  53. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ResultParser.java +319 -0
  54. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/SMSMMSResultParser.java +107 -0
  55. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/SMSParsedResult.java +104 -0
  56. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/SMSTOMMSTOResultParser.java +57 -0
  57. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/TelParsedResult.java +54 -0
  58. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/TelResultParser.java +44 -0
  59. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/TextParsedResult.java +48 -0
  60. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/URIParsedResult.java +113 -0
  61. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/URIResultParser.java +87 -0
  62. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/URLTOResultParser.java +47 -0
  63. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/VCardResultParser.java +346 -0
  64. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/VEventResultParser.java +54 -0
  65. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/WifiParsedResult.java +53 -0
  66. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/WifiResultParser.java +50 -0
  67. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/optional/AbstractNDEFResultParser.java +45 -0
  68. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/optional/NDEFRecord.java +87 -0
  69. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/optional/NDEFSmartPosterParsedResult.java +63 -0
  70. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/optional/NDEFSmartPosterResultParser.java +81 -0
  71. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/optional/NDEFTextResultParser.java +57 -0
  72. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/optional/NDEFURIResultParser.java +95 -0
  73. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/BitArray.java +247 -0
  74. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/BitMatrix.java +226 -0
  75. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/BitSource.java +97 -0
  76. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/CharacterSetECI.java +110 -0
  77. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/Collections.java +53 -0
  78. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/Comparator.java +27 -0
  79. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/DecoderResult.java +63 -0
  80. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/DefaultGridSampler.java +81 -0
  81. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/DetectorResult.java +46 -0
  82. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/ECI.java +52 -0
  83. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/GlobalHistogramBinarizer.java +196 -0
  84. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/GridSampler.java +171 -0
  85. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/HybridBinarizer.java +185 -0
  86. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/PerspectiveTransform.java +148 -0
  87. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/StringUtils.java +191 -0
  88. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/detector/MonochromeRectangleDetector.java +209 -0
  89. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/detector/WhiteRectangleDetector.java +316 -0
  90. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/reedsolomon/GF256.java +139 -0
  91. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/reedsolomon/GF256Poly.java +263 -0
  92. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/reedsolomon/ReedSolomonDecoder.java +194 -0
  93. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/reedsolomon/ReedSolomonEncoder.java +75 -0
  94. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/reedsolomon/ReedSolomonException.java +31 -0
  95. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/datamatrix/DataMatrixReader.java +161 -0
  96. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/datamatrix/decoder/BitMatrixParser.java +446 -0
  97. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/datamatrix/decoder/DataBlock.java +118 -0
  98. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/datamatrix/decoder/DecodedBitStreamParser.java +462 -0
  99. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/datamatrix/decoder/Decoder.java +134 -0
  100. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/datamatrix/decoder/Version.java +242 -0
  101. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/datamatrix/detector/Detector.java +348 -0
  102. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/multi/ByQuadrantReader.java +96 -0
  103. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/multi/GenericMultipleBarcodeReader.java +156 -0
  104. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/multi/MultipleBarcodeReader.java +37 -0
  105. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/multi/qrcode/QRCodeMultiReader.java +80 -0
  106. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/multi/qrcode/detector/MultiDetector.java +72 -0
  107. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder.java +324 -0
  108. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/CodaBarReader.java +263 -0
  109. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/Code128Reader.java +473 -0
  110. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/Code128Writer.java +73 -0
  111. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/Code39Reader.java +333 -0
  112. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/Code39Writer.java +82 -0
  113. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/Code93Reader.java +273 -0
  114. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/EAN13Reader.java +135 -0
  115. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/EAN13Writer.java +81 -0
  116. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/EAN8Reader.java +72 -0
  117. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/EAN8Writer.java +76 -0
  118. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/EANManufacturerOrgSupport.java +170 -0
  119. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/ITFReader.java +348 -0
  120. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/ITFWriter.java +68 -0
  121. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/MultiFormatOneDReader.java +109 -0
  122. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/MultiFormatUPCEANReader.java +113 -0
  123. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/OneDReader.java +297 -0
  124. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/UPCAReader.java +75 -0
  125. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/UPCEANExtensionSupport.java +186 -0
  126. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/UPCEANReader.java +355 -0
  127. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/UPCEANWriter.java +104 -0
  128. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/UPCEReader.java +153 -0
  129. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/AbstractRSSReader.java +110 -0
  130. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/DataCharacter.java +37 -0
  131. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/FinderPattern.java +48 -0
  132. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/Pair.java +41 -0
  133. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/RSS14Reader.java +494 -0
  134. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/RSSUtils.java +155 -0
  135. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/BitArrayBuilder.java +85 -0
  136. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/ExpandedPair.java +68 -0
  137. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/RSSExpandedReader.java +578 -0
  138. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI013103decoder.java +47 -0
  139. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI01320xDecoder.java +55 -0
  140. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI01392xDecoder.java +66 -0
  141. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI01393xDecoder.java +76 -0
  142. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI013x0x1xDecoder.java +106 -0
  143. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI013x0xDecoder.java +56 -0
  144. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI01AndOtherAIs.java +56 -0
  145. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI01decoder.java +81 -0
  146. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI01weightDecoder.java +58 -0
  147. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder.java +85 -0
  148. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AnyAIDecoder.java +48 -0
  149. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/BlockParsedResult.java +60 -0
  150. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/CurrentParsingState.java +69 -0
  151. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/DecodedChar.java +52 -0
  152. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/DecodedInformation.java +63 -0
  153. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/DecodedNumeric.java +79 -0
  154. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/DecodedObject.java +44 -0
  155. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/FieldParser.java +285 -0
  156. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder.java +414 -0
  157. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/pdf417/PDF417Reader.java +79 -0
  158. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/pdf417/decoder/BitMatrixParser.java +1163 -0
  159. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/pdf417/decoder/DecodedBitStreamParser.java +629 -0
  160. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/pdf417/decoder/Decoder.java +150 -0
  161. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/pdf417/detector/Detector.java +498 -0
  162. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/QRCodeReader.java +166 -0
  163. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/QRCodeWriter.java +108 -0
  164. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/BitMatrixParser.java +203 -0
  165. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/DataBlock.java +123 -0
  166. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/DataMask.java +155 -0
  167. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/DecodedBitStreamParser.java +261 -0
  168. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/Decoder.java +148 -0
  169. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/ErrorCorrectionLevel.java +86 -0
  170. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/FormatInformation.java +171 -0
  171. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/Mode.java +112 -0
  172. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/Version.java +586 -0
  173. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/detector/AlignmentPattern.java +48 -0
  174. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/detector/AlignmentPatternFinder.java +279 -0
  175. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/detector/Detector.java +400 -0
  176. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/detector/FinderPattern.java +63 -0
  177. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/detector/FinderPatternFinder.java +585 -0
  178. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/detector/FinderPatternInfo.java +49 -0
  179. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/encoder/BlockPair.java +37 -0
  180. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/encoder/ByteMatrix.java +97 -0
  181. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/encoder/Encoder.java +557 -0
  182. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/encoder/MaskUtil.java +217 -0
  183. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/encoder/MatrixUtil.java +524 -0
  184. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/encoder/QRCode.java +239 -0
  185. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/rhomobile/barcode/Barcode.java +63 -0
  186. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/rhomobile/barcode/RhoLuminanceSource.java +75 -0
  187. data/lib/extensions/barcode/ext/barcode/platform/iphone/Barcode.xcodeproj/project.pbxproj +74 -318
  188. data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/barcode.m +70 -0
  189. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/COPYING +27 -0
  190. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarCaptureReader.h +105 -0
  191. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarHelpController.h +60 -0
  192. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarImage.h +69 -0
  193. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarImageScanner.h +51 -0
  194. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarReaderController.h +142 -0
  195. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarReaderView.h +118 -0
  196. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarReaderViewController.h +100 -0
  197. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarSDK.h +33 -0
  198. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarSymbol.h +71 -0
  199. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar.h +1476 -0
  200. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Decoder.h +201 -0
  201. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Exception.h +187 -0
  202. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Image.h +321 -0
  203. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/ImageScanner.h +130 -0
  204. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Processor.h +223 -0
  205. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Scanner.h +162 -0
  206. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Symbol.h +529 -0
  207. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Video.h +170 -0
  208. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Window.h +136 -0
  209. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/LICENSE +504 -0
  210. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/README +59 -0
  211. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Resources/zbar-back.png +0 -0
  212. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Resources/zbar-help.html +88 -0
  213. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Resources/zbar-helpicons.png +0 -0
  214. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Resources/zbar-samples.png +0 -0
  215. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/libzbar.a +0 -0
  216. data/lib/extensions/debugger/debugger.rb +215 -67
  217. data/lib/extensions/nfc/ext/nfc/platform/android/AndroidManifest.xml +1 -1
  218. data/lib/extensions/nfc/ext/nfc/platform/android/src/com/nfc/Nfc.java +14 -2
  219. data/lib/extensions/timeout/timeout.rb +114 -0
  220. data/lib/framework/rho/render.rb +14 -16
  221. data/lib/framework/rho/rho.rb +38 -14
  222. data/lib/framework/rho/rhoapplication.rb +1 -1
  223. data/lib/framework/rho/rhocontroller.rb +3 -3
  224. data/lib/framework/rho/rhofsconnector.rb +18 -6
  225. data/lib/framework/rho/rhoviewhelpers.rb +1 -1
  226. data/lib/framework/rhoappmanifest.rb +44 -0
  227. data/lib/framework/rhodes.rb +1 -1
  228. data/lib/framework/rhoframework.rb +31 -11
  229. data/lib/framework/rholang/localization_simplified.rb +10 -6
  230. data/lib/framework/rhom/rhom_object_factory.rb +3 -3
  231. data/lib/framework/version.rb +1 -1
  232. data/lib/rhodes.rb +1 -1
  233. data/platform/android/Rhodes/AndroidManifest.xml +2 -2
  234. data/platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_RhodesApplication.h +32 -8
  235. data/platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_RhodesService.h +21 -21
  236. data/platform/android/Rhodes/jni/src/rhocryptimpl.cpp +1 -0
  237. data/platform/android/Rhodes/jni/src/rhodes.cpp +21 -9
  238. data/platform/android/Rhodes/jni/src/sslimpl.cpp +1 -0
  239. data/platform/android/Rhodes/src/com/rhomobile/rhodes/BaseActivity.java +7 -6
  240. data/platform/android/Rhodes/src/com/rhomobile/rhodes/PushReceiver.java +19 -1
  241. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoCryptImpl.java +2 -2
  242. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesActivity.java +24 -15
  243. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesApplication.java +39 -47
  244. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +113 -106
  245. data/platform/android/Rhodes/src/com/rhomobile/rhodes/alert/Alert.java +11 -0
  246. data/platform/android/Rhodes/src/com/rhomobile/rhodes/alert/StatusNotification.java +49 -0
  247. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +1 -1
  248. data/platform/android/Rhodes/src/com/rhomobile/rhodes/socket/SSLImpl.java +5 -1
  249. data/platform/android/build/RhodesSRC_build.files +1 -0
  250. data/platform/android/build/android.rake +93 -6
  251. data/platform/bb/RubyVM/src/com/rho/RhodesApp.java +5 -4
  252. data/platform/bb/RubyVM/src/com/rho/file/RhoFile.java +10 -0
  253. data/platform/bb/RubyVM/src/com/rho/sync/SyncEngine.java +16 -15
  254. data/platform/bb/RubyVM/src/com/rho/sync/SyncNotify.java +2 -2
  255. data/platform/bb/RubyVM/src/com/rho/sync/SyncSource.java +21 -19
  256. data/platform/bb/rhodes/src/com/rho/BrowserAdapter5.java +2 -2
  257. data/platform/bb/rhodes/src/com/rho/rubyext/System.java +6 -1
  258. data/platform/bb/rhodes/src/com/rho/rubyext/WebView.java +10 -3
  259. data/platform/bb/rhodes/src/rhomobile/RhodesApplication.java +21 -1
  260. data/platform/iphone/Classes/SimpleMainView.m +5 -5
  261. data/platform/iphone/Info.plist +1 -1
  262. data/platform/iphone/rbuild/iphone.rake +30 -1
  263. data/platform/iphone/rhorunner.xcodeproj/project.pbxproj +12 -0
  264. data/platform/shared/SyncClient/SyncClient.cpp +136 -20
  265. data/platform/shared/SyncClient/SyncClient.h +17 -0
  266. data/platform/shared/common/AppMenu.cpp +6 -1
  267. data/platform/shared/common/RhoConf.cpp +13 -1
  268. data/platform/shared/common/RhoConf.h +3 -1
  269. data/platform/shared/common/RhoDefs.h +10 -0
  270. data/platform/shared/common/RhoFile.cpp +15 -0
  271. data/platform/shared/common/RhoFile.h +1 -0
  272. data/platform/shared/common/RhodesApp.cpp +16 -3
  273. data/platform/shared/common/RhodesApp.h +1 -0
  274. data/platform/shared/common/RhodesAppBase.cpp +102 -62
  275. data/platform/shared/common/RhodesAppBase.h +7 -1
  276. data/platform/shared/curl/lib/rhossl.c +1 -0
  277. data/platform/shared/db/DBAdapter.cpp +14 -2
  278. data/platform/shared/logging/RhoLogConf.cpp +21 -0
  279. data/platform/shared/logging/RhoLogConf.h +11 -0
  280. data/platform/shared/logging/RhoLogSink.cpp +24 -0
  281. data/platform/shared/logging/RhoLogSink.h +20 -1
  282. data/platform/shared/net/HttpServer.cpp +8 -6
  283. data/platform/shared/net/RawSocket.cpp +130 -0
  284. data/platform/shared/net/RawSocket.h +74 -0
  285. data/platform/shared/ruby/ext/rho/rhoruby.c +37 -1
  286. data/platform/shared/ruby/ext/rho/rhosupport.c +74 -21
  287. data/platform/shared/ruby/ext/sqlite3_api/sqlite3_api_wrap.c +9 -1
  288. data/platform/shared/ruby/vm_eval.c +4 -3
  289. data/platform/shared/sync/SyncEngine.cpp +11 -12
  290. data/platform/shared/sync/SyncEngine.h +2 -2
  291. data/platform/shared/sync/SyncNotify.cpp +41 -13
  292. data/platform/shared/sync/SyncNotify.h +20 -3
  293. data/platform/shared/sync/SyncSource.cpp +21 -19
  294. data/platform/shared/sync/SyncThread.cpp +11 -1
  295. data/platform/shared/sync/SyncThread.h +3 -0
  296. data/platform/shared/test/test_helper.cpp +7 -0
  297. data/platform/win32/RhoSimulator/QtCore4.dll +0 -0
  298. data/platform/win32/RhoSimulator/QtGui4.dll +0 -0
  299. data/platform/win32/RhoSimulator/QtNetwork4.dll +0 -0
  300. data/platform/win32/RhoSimulator/QtWebKit4.dll +0 -0
  301. data/platform/win32/RhoSimulator/imageformats/qgif4.dll +0 -0
  302. data/platform/win32/RhoSimulator/imageformats/qjpeg4.dll +0 -0
  303. data/platform/win32/RhoSimulator/rhosimulator.exe +0 -0
  304. data/platform/wm/RhoLib/RhoLib.vcproj +762 -14
  305. data/platform/wm/build/wm.rake +87 -10
  306. data/platform/wm/rhodes.sln +155 -72
  307. data/platform/wm/rhodes/MainWindow.cpp +5 -2
  308. data/platform/wm/rhodes/MainWindow.h +9 -1
  309. data/platform/wm/rhodes/RhoNativeViewManager.cpp +4 -0
  310. data/platform/wm/rhodes/Rhodes.cpp +60 -6
  311. data/platform/wm/rhodes/emulator/ExternalWebView.cpp +20 -0
  312. data/platform/wm/rhodes/emulator/ExternalWebView.h +23 -0
  313. data/platform/wm/rhodes/emulator/ExternalWebView.ui +46 -0
  314. data/platform/wm/rhodes/emulator/MainWindowCallback.h +18 -0
  315. data/platform/wm/rhodes/emulator/MainWindowProxy.cpp +268 -0
  316. data/platform/wm/rhodes/emulator/MainWindowProxy.h +34 -0
  317. data/platform/wm/rhodes/emulator/MainWindowQt.cpp +345 -0
  318. data/platform/wm/rhodes/emulator/MainWindowQt.h +118 -0
  319. data/platform/wm/rhodes/emulator/NativeToolbarQt.cpp +57 -0
  320. data/platform/wm/rhodes/emulator/NativeToolbarQt.h +52 -0
  321. data/platform/wm/rhodes/emulator/QtMainWindow.cpp +219 -0
  322. data/platform/wm/rhodes/emulator/QtMainWindow.h +62 -0
  323. data/platform/wm/rhodes/emulator/QtMainWindow.ui +122 -0
  324. data/platform/wm/rhodes/{RhoCryptImpl.cpp → rho/common/RhoCryptImpl.cpp} +0 -0
  325. data/platform/wm/rhodes/{RhoCryptImpl.h → rho/common/RhoCryptImpl.h} +0 -0
  326. data/platform/wm/rhodes/rho/rubyext/NativeToolbar.cpp +2 -86
  327. data/platform/wm/rhodes/rho/rubyext/NativeToolbarExt.cpp +87 -0
  328. data/platform/wm/rhodes/rho/rubyext/NativeToolbarExt.h +6 -0
  329. data/platform/wm/rhodes/rho/rubyext/SystemImpl.cpp +60 -0
  330. data/platform/wm/rhodes/rhodes.vcproj +4025 -365
  331. data/platform/wm/rhodes/signature/Signature.cpp +29 -13
  332. data/platform/wm/rubylib/rubylib.vcproj +1167 -195
  333. data/platform/wm/shttpd/shttpd.vcproj +4 -4
  334. data/platform/wm/sqlite3/sqlite3.vcproj +441 -13
  335. data/platform/wm/syncengine/syncengine.vcproj +443 -15
  336. data/platform/wm/tcmalloc/tcmalloc.vcproj +0 -154
  337. data/platform/wm/tools/detool/LogServer.cpp +150 -0
  338. data/platform/wm/tools/detool/LogServer.h +23 -0
  339. data/platform/wm/tools/detool/detool.cpp +42 -4
  340. data/platform/wm/tools/detool/detool.vcproj +10 -1
  341. data/platform/wp7/IronRuby/Bin/Silverlight3Release/IronRuby.Libraries.dll +0 -0
  342. data/platform/wp7/IronRuby/Bin/Silverlight3Release/IronRuby.dll +0 -0
  343. data/platform/wp7/IronRuby/Bin/Silverlight3Release/Microsoft.Dynamic.dll +0 -0
  344. data/platform/wp7/IronRuby/Bin/Silverlight3Release/Microsoft.Scripting.Core.dll +0 -0
  345. data/platform/wp7/IronRuby/Bin/Silverlight3Release/Microsoft.Scripting.dll +0 -0
  346. data/platform/wp7/RhoAppRunner/Program.cs +20 -3
  347. data/platform/wp7/RhoLogServer/Program.cs +22 -0
  348. data/platform/wp7/RhoLogServer/Properties/AssemblyInfo.cs +36 -0
  349. data/platform/wp7/RhoLogServer/RhoLogServer.csproj +65 -0
  350. data/platform/wp7/RhoLogServer/SocketServer.cs +210 -0
  351. data/platform/wp7/RhoRubyExtGen/RhoAsyncHttp.cs +6 -0
  352. data/platform/wp7/RhoRubyLib/Initializers.Generated.cs +3 -2
  353. data/platform/wp7/RhoRubyLib/RhoRuby.cs +82 -0
  354. data/platform/wp7/RhoRubyLib/RhoRubyLib.csproj +7 -5
  355. data/platform/wp7/RhoRubyLib/WP_PlatformAdaptationLayer.cs +1 -1
  356. data/platform/wp7/RhoRubyLib/common/RhoParams.cs +1 -1
  357. data/platform/wp7/RhoRubyLib/common/ThreadQueue.cs +4 -1
  358. data/platform/wp7/RhoRubyLib/db/DBAdapter.cs +2 -2
  359. data/platform/wp7/RhoRubyLib/logging/IRhoLogSink.cs +1 -1
  360. data/platform/wp7/RhoRubyLib/logging/RhoEmptyLogger.cs +30 -0
  361. data/platform/wp7/RhoRubyLib/logging/RhoLogConf.cs +10 -0
  362. data/platform/wp7/RhoRubyLib/logging/RhoLogFileSink.cs +6 -1
  363. data/platform/wp7/RhoRubyLib/logging/RhoLogServerSink.cs +56 -0
  364. data/platform/wp7/RhoRubyLib/logging/RhoLogger.cs +24 -11
  365. data/platform/wp7/RhoRubyLib/net/AsyncHttp.cs +57 -14
  366. data/platform/wp7/RhoRubyLib/net/NetRequest.cs +32 -9
  367. data/platform/wp7/RhoRubyLib/rubyext/RhoAsyncHttp.cs +7 -0
  368. data/platform/wp7/RhoRubyLib/rubyext/RhoKernelOps.cs +6 -0
  369. data/platform/wp7/RhoRubyLib/sync/SyncEngine.cs +20 -16
  370. data/platform/wp7/RhoRubyLib/sync/SyncNotify.cs +2 -2
  371. data/platform/wp7/RhoRubyLib/sync/SyncSource.cs +138 -40
  372. data/platform/wp7/WPApplication/rho/apps/app/layout.erb +3 -1
  373. data/platform/wp7/build/wp.rake +151 -12
  374. data/platform/wp7/rhodes.sln +10 -0
  375. data/platform/wp7/rhodes/App.xaml.cs +6 -0
  376. data/platform/wp7/rhodes/MainPage.xaml +3 -0
  377. data/platform/wp7/rhodes/MainPage.xaml.cs +19 -0
  378. data/platform/wp7/rhodes/Rhodes.csproj +4 -2
  379. data/rakefile.rb +7 -36
  380. data/res/build-tools/RhoAppRunner.exe +0 -0
  381. data/res/build-tools/RhoLogServer.exe +0 -0
  382. data/res/build-tools/detool.exe +0 -0
  383. data/res/build-tools/wp7explorer.exe +0 -0
  384. data/res/generators/templates/application/app/layout.erb +3 -1
  385. data/res/generators/templates/application/public/jqtouch/jqtouch.js +1 -1
  386. data/rhodes.gemspec +1 -1
  387. data/spec/framework_spec/app/layout.erb +1 -1
  388. data/spec/framework_spec/build.yml +1 -0
  389. data/spec/perfomance_spec/app/layout.erb +3 -0
  390. data/spec/phone_spec/app/Account_s/account_s.rb +4 -1
  391. data/spec/phone_spec/app/spec/rhom_object_spec.rb +30 -1
  392. data/spec/phone_spec/app/spec_runner.rb +1 -1
  393. data/spec/phone_spec/build.yml +4 -1
  394. metadata +262 -10
  395. data/platform/wp7/IronRuby/Languages/Ruby/Ruby/Builtins/ConsoleStream.cs +0 -107
@@ -21,12 +21,16 @@ struct ILogSink{
21
21
  class LogSettings{
22
22
  LogSeverity m_nMinSeverity;
23
23
  bool m_bLogToOutput;
24
+ bool m_bLogToSocket;
24
25
 
25
26
  bool m_bLogToFile;
26
27
  String m_strLogFilePath;
27
28
  // String m_strLogConfFilePath;
28
29
  unsigned int m_nMaxLogFileSize;
29
30
 
31
+ String m_strLogHost;
32
+ String m_strLogPort;
33
+
30
34
  bool m_bLogPrefix;
31
35
 
32
36
  String m_strEnabledCategories, m_strDisabledCategories;
@@ -34,6 +38,7 @@ class LogSettings{
34
38
  ILogSink* m_pFileSink;
35
39
  ILogSink* m_pOutputSink;
36
40
  ILogSink* m_pLogViewSink;
41
+ ILogSink* m_pSocketSink;
37
42
 
38
43
  static common::CMutex m_FlushLock;
39
44
  static common::CMutex m_CatLock;
@@ -51,6 +56,9 @@ public:
51
56
  bool isLogToFile()const{ return m_bLogToFile;}
52
57
  void setLogToFile(bool bLogToFile){ m_bLogToFile = bLogToFile;}
53
58
 
59
+ bool isLogToSocket()const{ return m_bLogToSocket;}
60
+ void setLogToSocket(bool bLogToSocket){ m_bLogToSocket = bLogToSocket;}
61
+
54
62
  const String& getLogFilePath()const{ return m_strLogFilePath;}
55
63
  void setLogFilePath(const char* szLogFilePath);
56
64
 
@@ -63,6 +71,9 @@ public:
63
71
  bool isLogPrefix()const{ return m_bLogPrefix;}
64
72
  void setLogPrefix(bool bLogPrefix){ m_bLogPrefix = bLogPrefix;}
65
73
 
74
+ const String& getLogHost() const { return m_strLogHost; }
75
+ const String& getLogPort() const { return m_strLogPort; }
76
+
66
77
  void setEnabledCategories( const char* szCatList );
67
78
  void setDisabledCategories( const char* szCatList );
68
79
  const String& getEnabledCategories(){ return m_strEnabledCategories; }
@@ -2,6 +2,7 @@
2
2
 
3
3
  #include "common/RhoFile.h"
4
4
  #include "common/StringConverter.h"
5
+ #include "net/RawSocket.h"
5
6
 
6
7
  #if defined( OS_SYMBIAN )
7
8
  #include <e32debug.h>
@@ -132,4 +133,27 @@ void CLogOutputSink::writeLogMessage( String& strMsg )
132
133
  fflush(stdout);
133
134
  }
134
135
 
136
+ CLogSocketSink::CLogSocketSink(const LogSettings& oSettings)
137
+ : m_oLogConf(oSettings)
138
+ , m_logNetClient(0)
139
+ {
140
+ m_hostName = oSettings.getLogHost();
141
+ m_hostPort = oSettings.getLogPort();
142
+ }
143
+
144
+ void CLogSocketSink::writeLogMessage( String& strMsg )
145
+ {
146
+ if (!m_logNetClient)
147
+ {
148
+ m_logNetClient = new rho::net::RawSocket(m_hostName, m_hostPort);
149
+ }
150
+
151
+ if (!m_logNetClient->isInit())
152
+ {
153
+ m_logNetClient->init();
154
+ }
155
+
156
+ m_logNetClient->send(strMsg);
157
+ }
158
+
135
159
  }
@@ -2,6 +2,7 @@
2
2
  #define _RHOLOGSINK_H_
3
3
 
4
4
  #include "RhoLogConf.h"
5
+ #include "net/RawSocket.h"
5
6
 
6
7
  namespace rho {
7
8
  namespace common {
@@ -33,13 +34,31 @@ class CLogOutputSink : public ILogSink{
33
34
  const LogSettings& m_oLogConf;
34
35
 
35
36
  public:
36
- CLogOutputSink(const LogSettings& oSettings) : m_oLogConf(oSettings){}
37
+ CLogOutputSink(const LogSettings& oSettings) : m_oLogConf(oSettings){
38
+ }
37
39
 
38
40
  void writeLogMessage( String& strMsg );
39
41
  int getCurPos(){ return -1; }
40
42
  void clear(){}
41
43
  };
42
44
 
45
+
46
+ class CLogSocketSink : public ILogSink{
47
+ const LogSettings& m_oLogConf;
48
+
49
+ rho::net::RawSocket *m_logNetClient;
50
+
51
+ String m_hostName;
52
+ String m_hostPort;
53
+ public:
54
+ CLogSocketSink(const LogSettings& oSettings);
55
+ virtual ~CLogSocketSink() { delete m_logNetClient; }
56
+
57
+ void writeLogMessage( String& strMsg );
58
+ int getCurPos(){ return -1; }
59
+ void clear(){}
60
+ };
61
+
43
62
  }
44
63
 
45
64
  #endif //_RHOLOGSINK_H_
@@ -83,7 +83,7 @@ static bool isfile(String const &path)
83
83
  const char *s;
84
84
  size_t len;
85
85
  } index_files[] = {
86
- {"index_erb.iseq", 14},
86
+ {"index"RHO_ERB_EXT, strlen("index"RHO_ERB_EXT)},
87
87
  {"index.html", 10},
88
88
  {"index.htm", 9},
89
89
  {"index.php", 9},
@@ -376,7 +376,7 @@ bool CHttpServer::run()
376
376
  FD_ZERO(&readfds);
377
377
  FD_SET(m_listener, &readfds);
378
378
 
379
- timeval tv = {0};
379
+ timeval tv = {0,0};
380
380
  unsigned long nTimeout = RHODESAPP().getTimer().getNextTimeout();
381
381
  tv.tv_sec = nTimeout/1000;
382
382
  tv.tv_usec = (nTimeout - tv.tv_sec*1000)*1000;
@@ -647,7 +647,9 @@ bool CHttpServer::process(SOCKET sock)
647
647
  send_response(create_response("500 Internal Error"));
648
648
  return false;
649
649
  }
650
-
650
+
651
+ RAWLOG_INFO1("Process URI: '%s'", uri.c_str());
652
+
651
653
  return decide(method, uri, query, headers, body);
652
654
  }
653
655
 
@@ -863,8 +865,8 @@ bool CHttpServer::dispatch(String const &uri, Route &route)
863
865
  //check if there is controller.rb to run
864
866
  struct stat st;
865
867
 
866
- String newfilename = m_root + "/" + route.application + "/" + route.model + "/" + controllerName + "_controller.iseq";
867
- String filename = m_root + "/" + route.application + "/" + route.model + "/controller.iseq";
868
+ String newfilename = m_root + "/" + route.application + "/" + route.model + "/" + controllerName + "_controller"RHO_RB_EXT;
869
+ String filename = m_root + "/" + route.application + "/" + route.model + "/controller"RHO_RB_EXT;
868
870
 
869
871
  //look for controller.rb or model_name_controller.rb
870
872
  if ((stat(filename.c_str(), &st) != 0 || !S_ISREG(st.st_mode)) && (stat(newfilename.c_str(), &st) != 0 || !S_ISREG(st.st_mode)))
@@ -1074,7 +1076,7 @@ bool CHttpServer::decide(String const &method, String const &uri, String const &
1074
1076
  String q = query.empty() ? "" : "?" + query;
1075
1077
 
1076
1078
  HeaderList headers;
1077
- headers.push_back(Header("Location", CFilePath::join( uri, "index_erb.iseq") + q));
1079
+ headers.push_back(Header("Location", CFilePath::join( uri, "index"RHO_ERB_EXT) + q));
1078
1080
 
1079
1081
  send_response(create_response("301 Moved Permanently", headers));
1080
1082
  return false;
@@ -0,0 +1,130 @@
1
+ #include "net/RawSocket.h"
2
+ #include "common/RhodesApp.h"
3
+
4
+ #include <algorithm>
5
+
6
+ #if !defined(OS_WINDOWS) && !defined(OS_WINCE)
7
+ #include <arpa/inet.h>
8
+ #endif
9
+
10
+ #if !defined(OS_WINCE)
11
+ #include <common/stat.h>
12
+
13
+ #ifdef EAGAIN
14
+ #undef EAGAIN
15
+ #endif
16
+ #define EAGAIN EWOULDBLOCK
17
+
18
+ #else
19
+
20
+ #include "CompatWince.h"
21
+
22
+ #if defined(OS_WINDOWS) || defined(OS_WINCE)
23
+ typedef unsigned __int16 uint16_t;
24
+
25
+ # ifndef S_ISDIR
26
+ # define S_ISDIR(m) ((_S_IFDIR & m) == _S_IFDIR)
27
+ # endif
28
+
29
+ # ifndef S_ISREG
30
+ # define S_ISREG(m) ((_S_IFREG & m) == _S_IFREG)
31
+ # endif
32
+
33
+ # ifndef EAGAIN
34
+ # define EAGAIN WSAEWOULDBLOCK
35
+ # endif
36
+ #endif
37
+
38
+ #undef DEFAULT_LOGCATEGORY
39
+ #define DEFAULT_LOGCATEGORY "RawSocket"
40
+
41
+ namespace rho
42
+ {
43
+ namespace net
44
+ {
45
+
46
+ bool RawSocket::init()
47
+ {
48
+ RAWTRACE("Init raw socket");
49
+ m_isInit = create();
50
+ return m_isInit;
51
+ }
52
+
53
+ bool RawSocket::create()
54
+ {
55
+ RAWTRACE("Start create raw socket");
56
+ cleanup();
57
+
58
+ int iResult;
59
+ addrinfo *addrInfo = NULL, hints;
60
+
61
+ memset( &hints, 0, sizeof(hints) );
62
+ hints.ai_family = AF_UNSPEC;
63
+ hints.ai_socktype = SOCK_STREAM;
64
+ hints.ai_protocol = IPPROTO_TCP;
65
+
66
+ RAWTRACE("Get host adress");
67
+
68
+ // Resolve the server address and port
69
+ iResult = getaddrinfo(m_hostName.c_str(), m_hostPort.c_str(), &hints, &addrInfo);
70
+
71
+ if (iResult != 0) {
72
+ RAWTRACE2("Unable to get addres info for host %s, port %s", m_hostName.c_str(), m_hostPort.c_str());
73
+ return false;
74
+ }
75
+
76
+ RAWTRACE("Create socket");
77
+ // Create a SOCKET for connecting to server
78
+ m_clientSocket = socket(addrInfo->ai_family, addrInfo->ai_socktype, addrInfo->ai_protocol);
79
+
80
+ if (m_clientSocket == INVALID_SOCKET) {
81
+ RAWTRACE2("Socket can`t create for host %s, port %s", m_hostName.c_str(), m_hostPort.c_str());
82
+ freeaddrinfo(addrInfo);
83
+ return false;
84
+ }
85
+
86
+ // Connect to server.
87
+ RAWTRACE("Connect to server");
88
+ iResult = connect(m_clientSocket, addrInfo->ai_addr, (int)addrInfo->ai_addrlen);
89
+
90
+ if (iResult == SOCKET_ERROR) {
91
+ RAWTRACE2("Can`t connect to host %s, port %s ", m_hostName.c_str(), m_hostPort.c_str());
92
+ cleanup();
93
+ return false;
94
+ }
95
+
96
+ freeaddrinfo(addrInfo);
97
+
98
+ RAWTRACE("End of socket creating");
99
+
100
+ return true;
101
+ }
102
+
103
+ bool RawSocket::send(const String& sendData)
104
+ {
105
+ int iResult = 0;
106
+
107
+ // Send an initial buffer
108
+ iResult = ::send(m_clientSocket, sendData.c_str(), (int) sendData.size(), 0);
109
+
110
+ if (iResult == SOCKET_ERROR)
111
+ {
112
+ RAWTRACE2("Data not send for host %s, port %s", m_hostName.c_str(), m_hostPort.c_str());
113
+ cleanup();
114
+ return false;
115
+ }
116
+
117
+ return true;
118
+ }
119
+
120
+ void RawSocket::cleanup()
121
+ {
122
+ m_isInit = false;
123
+ closesocket(m_clientSocket);
124
+ m_clientSocket = INVALID_SOCKET;
125
+ }
126
+
127
+ } // namespace net
128
+ } // namespace rho
129
+
130
+ #endif
@@ -0,0 +1,74 @@
1
+ #ifndef RHO_RAW_SOCKET_F5FFD21AD3EE463E850C5E2C789397BD
2
+ #define RHO_RAW_SOCKET_F5FFD21AD3EE463E850C5E2C789397BD
3
+
4
+ #include "common/RhoStd.h"
5
+ #include "logging/RhoLog.h"
6
+
7
+ #if !defined(OS_WINDOWS) && !defined(OS_WINCE)
8
+ typedef int SOCKET;
9
+ # define INVALID_SOCKET -1
10
+ # define SOCKET_ERROR -1
11
+ # define RHO_NET_ERROR_CODE errno
12
+ # define closesocket close
13
+ #else
14
+ # if defined(OS_WINCE)
15
+ # include <winsock2.h>
16
+ # include <ws2tcpip.h>
17
+ # endif
18
+ # define RHO_NET_ERROR_CODE ::WSAGetLastError()
19
+ #endif
20
+
21
+ namespace rho
22
+ {
23
+ namespace net
24
+ {
25
+
26
+ #if !defined(OS_WINCE)
27
+
28
+ class RawSocket
29
+ {
30
+ public:
31
+ RawSocket(const String& host, const String& port) {}
32
+ virtual ~RawSocket() {}
33
+
34
+ bool init() { return false; }
35
+
36
+ bool send(const String& sendData) { return false; }
37
+
38
+ bool isInit() const { return false; }
39
+ };
40
+
41
+ #else
42
+
43
+ class RawSocket
44
+ {
45
+ private:
46
+ SOCKET m_clientSocket;
47
+
48
+ std::string m_hostName;
49
+ std::string m_hostPort;
50
+
51
+ bool m_isInit;
52
+ public:
53
+ RawSocket(const String& host, const String& port)
54
+ : m_hostName(host) , m_hostPort(port), m_isInit(false) {}
55
+ virtual ~RawSocket() { cleanup(); }
56
+
57
+ bool init();
58
+
59
+ bool send(const String& sendData);
60
+
61
+ bool isInit() const { return m_isInit; }
62
+
63
+ private:
64
+ bool create();
65
+
66
+ void cleanup();
67
+ };
68
+
69
+ #endif
70
+
71
+ } // end of net
72
+ } // end if rho
73
+
74
+ #endif
@@ -135,6 +135,7 @@ void rho_ruby_stop_threadidle()
135
135
 
136
136
  void RhoRubyStart()
137
137
  {
138
+ const char* szRoot = rho_native_rhopath();
138
139
  //VALUE moduleRhom;
139
140
  #ifdef HAVE_LOCALE_H
140
141
  setlocale(LC_CTYPE, "");
@@ -155,7 +156,26 @@ void RhoRubyStart()
155
156
  #endif
156
157
  //rb_funcall(rb_mGC, rb_intern("stress="), 1, Qtrue);
157
158
 
158
- ruby_init_loadpath(rho_native_rhopath());
159
+ ruby_init_loadpath(szRoot);
160
+ #ifdef RHODES_EMULATOR
161
+ {
162
+ VALUE load_path = GET_VM()->load_path;
163
+ char* app_path = malloc(strlen(szRoot)+100);
164
+
165
+ rb_ary_clear(load_path);
166
+
167
+ strcpy(app_path, szRoot);
168
+ strcat(app_path, "app");
169
+
170
+ rb_ary_push(load_path, rb_str_new2(app_path) );
171
+
172
+ strcpy(app_path, rho_rhodesapp_getrhodespath());
173
+ strcat(app_path, "\\lib\\framework");
174
+ rb_ary_push(load_path, rb_str_new2(app_path) );
175
+ }
176
+
177
+ #endif
178
+
159
179
  Init_strscan();
160
180
  Init_sqlite3_api();
161
181
  Init_GeoLocation();
@@ -189,7 +209,14 @@ void RhoRubyStart()
189
209
  gettimeofday (&start, NULL);
190
210
  #endif
191
211
 
212
+ #ifdef RHODES_EMULATOR
213
+ rb_const_set(rb_cObject, rb_intern("RHODES_EMULATOR"), Qtrue);
214
+ require_compiled(rb_str_new2("rhoframework"), &framework );
215
+ framework = rb_const_get(rb_cObject,rb_intern("RHO_FRAMEWORK"));
216
+ #else
192
217
  require_compiled(rb_str_new2("rhoframework"), &framework );
218
+ #endif //RHODES_EMULATOR
219
+
193
220
  if ( framework == 0 || framework == Qnil )
194
221
  {
195
222
  RAWLOG_FATAL("RHO framework creating failed. Application will exit.");
@@ -227,6 +254,15 @@ void RhoRubyStart()
227
254
 
228
255
  }
229
256
  }
257
+ int rho_ruby_is_enabled_eval()
258
+ {
259
+ #ifdef RHODES_EMULATOR
260
+ return 1;
261
+ #else
262
+ return 0;
263
+ #endif
264
+ }
265
+
230
266
  void RhoRubyInitApp()
231
267
  {
232
268
  rb_funcall(framework, initApp_mid, 0);
@@ -29,6 +29,13 @@ VALUE __rhoGetCurrentDir(void)
29
29
  return rb_str_new2(rho_native_rhopath());
30
30
  }
31
31
 
32
+ #ifdef RHODES_EMULATOR
33
+ VALUE __rhoGetRhodesDir(void)
34
+ {
35
+ return rb_str_new2(rho_rhodesapp_getrhodespath());
36
+ }
37
+ #endif// RHODES_EMULATOR
38
+
32
39
  VALUE
33
40
  rb_f_eval_compiled(int argc, VALUE *argv, VALUE self)
34
41
  {
@@ -120,11 +127,6 @@ rb_require_compiled(VALUE obj, VALUE fname)
120
127
 
121
128
  return result;
122
129
  }
123
-
124
- static const char *const loadable_ext[] = {
125
- ".iseq",
126
- 0
127
- };
128
130
  /*
129
131
  static char* g_curAppPath = 0;
130
132
  void RhoSetCurAppPath(char* path){
@@ -185,16 +187,38 @@ static VALUE checkRhoBundleInPath(VALUE fname)
185
187
  return rb_str_new2(slash1+1);
186
188
  }
187
189
 
190
+ static VALUE check_extension(VALUE res, VALUE fname)
191
+ {
192
+ char* szSlash = strchr(RSTRING_PTR(fname), '/');
193
+ if (!szSlash)
194
+ szSlash = strchr(RSTRING_PTR(fname), '\\');
195
+ if (!szSlash)
196
+ rb_str_append(res,fname);
197
+ else
198
+ rb_str_cat(res, RSTRING_PTR(fname), szSlash-RSTRING_PTR(fname));
199
+
200
+ rb_str_cat2(res,"\\");
201
+ rb_str_append(res,fname);
202
+ rb_str_cat2(res,RHO_RB_EXT);
203
+
204
+ return eaccess(RSTRING_PTR(res), R_OK) == 0 ? res : 0;
205
+ }
206
+
188
207
  static VALUE find_file(VALUE fname)
189
208
  {
190
209
  VALUE res;
191
210
  int nOK = 0;
192
211
 
193
212
  //RAWLOG_INFO1("find_file: fname: %s", RSTRING_PTR(fname));
213
+ #ifdef RHODES_EMULATOR
214
+ if ( strncmp(RSTRING_PTR(fname), rho_rhodesapp_getrhodespath(), strlen(rho_rhodesapp_getrhodespath())) == 0 )
215
+ res = fname;
216
+ else
217
+ #endif
194
218
 
195
219
  if ( strncmp(RSTRING_PTR(fname), rho_native_rhopath(), strlen(rho_native_rhopath())) == 0 ){
196
220
  res = rb_str_dup(fname);
197
- rb_str_cat(res,".iseq",5);
221
+ rb_str_cat(res,RHO_RB_EXT,strlen(RHO_RB_EXT));
198
222
  //RAWLOG_INFO1("find_file: res: %s", RSTRING_PTR(res));
199
223
  }else{
200
224
  int i = 0;
@@ -211,7 +235,7 @@ static VALUE find_file(VALUE fname)
211
235
  res = rb_str_dup(dir);
212
236
  rb_str_cat(res,"/",1);
213
237
  rb_str_cat(res,RSTRING_PTR(fname1),RSTRING_LEN(fname1));
214
- rb_str_cat(res,".iseq",5);
238
+ rb_str_cat(res,RHO_RB_EXT,strlen(RHO_RB_EXT));
215
239
  //RAWLOG_INFO1("find_file: check file: %s", RSTRING_PTR(res));
216
240
 
217
241
  if( eaccess(RSTRING_PTR(res), R_OK) == 0 ){
@@ -220,20 +244,43 @@ static VALUE find_file(VALUE fname)
220
244
  }
221
245
  }
222
246
  if ( !nOK )
247
+ {
248
+ #ifdef RHODES_EMULATOR
249
+ //check for extensions
250
+ res = rb_str_new2(rho_rhodesapp_getrhodespath() );
251
+ rb_str_cat2(res,"\\lib\\extensions\\");
252
+
253
+ res = check_extension(res, fname);
254
+ if ( !res )
255
+ {
256
+ res = rb_str_new2(rho_native_rhopath() );
257
+ rb_str_cat2(res,"\\extensions\\");
258
+
259
+ res = check_extension(res, fname);
260
+ }
261
+
262
+ if( res )
263
+ nOK = 1;
264
+ else
265
+ return 0;
266
+ #else
223
267
  return 0;
268
+ #endif
269
+
270
+ }
224
271
  } /*else {
225
272
  dir = RARRAY_PTR(load_path)[RARRAY_LEN(load_path)-1];
226
273
 
227
274
  res = rb_str_dup(dir);
228
275
  rb_str_cat(res,"/",1);
229
276
  rb_str_cat(res,RSTRING_PTR(fname),RSTRING_LEN(fname));
230
- rb_str_cat(res,".iseq",5);
277
+ rb_str_cat(res,RHO_RB_EXT,strlen(RHO_RB_EXT));
231
278
 
232
279
  if ( g_curAppPath != 0 && eaccess(RSTRING_PTR(res), R_OK) != 0 ){
233
280
  res = rb_str_new2(g_curAppPath);
234
281
  rb_str_cat(res,"/",1);
235
282
  rb_str_cat(res,RSTRING_PTR(fname),RSTRING_LEN(fname));
236
- rb_str_cat(res,".iseq",5);
283
+ rb_str_cat(res,RHO_RB_EXT,strlen(RHO_RB_EXT));
237
284
  }
238
285
  } */
239
286
  }
@@ -312,29 +359,35 @@ VALUE require_compiled(VALUE fname, VALUE* result)
312
359
  if ( isAlreadyLoaded(fname) == Qtrue )
313
360
  goto RCompExit;
314
361
 
315
- //RAWLOG_INFO1("find_file: %s", RSTRING_PTR(fname));
316
362
  path = find_file(fname);
317
363
 
318
364
  if ( path != 0 )
319
365
  {
320
366
  VALUE seq;
321
367
 
322
- // if ( isAlreadyLoaded(path) == Qtrue )
323
- // return Qtrue;
324
-
325
368
  RAWLOG_INFO1("require_compiled: %s", szName1);
326
369
 
327
370
  //optimize require
328
371
  //rb_ary_push(GET_VM()->loaded_features, path);
329
372
  rb_ary_push(GET_VM()->loaded_features, fname);
330
373
 
374
+ #ifdef RHODES_EMULATOR
375
+ if ( strstr( RSTRING_PTR(path), ".rb") == 0 )
376
+ rb_str_cat(path,".rb",3);
377
+
378
+ GET_VM()->src_encoding_index = rb_utf8_encindex();
379
+ rb_load(path, 0);
380
+
381
+ if ( strncmp( RSTRING_PTR(path), rho_native_rhopath(), strlen(rho_native_rhopath()) ) == 0 )
382
+ rb_ary_delete(GET_VM()->loaded_features, fname);
383
+ #else
331
384
  rb_gc_disable();
332
385
  seq = loadISeqFromFile(path);
333
386
  rb_gc_enable();
334
387
 
335
388
  //*result = rb_funcall(seq, rb_intern("eval"), 0 );
336
389
  *result = rb_iseq_eval(seq);
337
-
390
+ #endif
338
391
  goto RCompExit;
339
392
  }
340
393
 
@@ -386,7 +439,11 @@ rb_obj_rhom_init(VALUE obj, VALUE iv)
386
439
  void Init_RhoSupport()
387
440
  {
388
441
  rb_define_global_function("require", rb_require_compiled, 1);
442
+ #ifndef RHODES_EMULATOR
389
443
  rb_define_global_function("eval_compiled_file", rb_f_eval_compiled, -1);
444
+ #else
445
+ rb_define_global_function("__rhoGetRhodesDir", __rhoGetRhodesDir, 0);
446
+ #endif
390
447
  rb_define_global_function("__rhoGetCurrentDir", __rhoGetCurrentDir, 0);
391
448
  rb_define_global_function("load", rb_require_compiled, 1);
392
449
  rb_define_global_function("__rhoGetCallbackObject", __rhoGetCallbackObject, 1);
@@ -400,14 +457,10 @@ void Init_RhoSupport()
400
457
 
401
458
  static void Init_RhoBlobs()
402
459
  {
403
- VALUE path = rb_str_new2(rho_rhodesapp_getblobsdirpath());
404
-
405
- RAWLOG_INFO1("Init_RhoBlobs: %s", RSTRING_PTR(path) );
406
-
407
- if ( rb_funcall(rb_cDir, rb_intern("exist?"), 1, path)==Qfalse )
408
- rb_funcall(rb_cDir, rb_intern("mkdir"), 1, path);
460
+ const char* szBlobPath = rho_rhodesapp_getblobsdirpath();
461
+ RAWLOG_INFO1("Init_RhoBlobs: %s", szBlobPath );
409
462
 
410
- RAWLOG_INFO("Init_RhoBlobs: done");
463
+ rho_file_recursive_createdir(szBlobPath, rho_native_rhopath());
411
464
  }
412
465
 
413
466
  void rhoRubyLogWithSeverity(int severity, VALUE category, VALUE str) {