rhodes 2.4.1 → 3.0.0.beta.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 (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) {