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
@@ -2,7 +2,11 @@
2
2
  #include "RhoFile.h"
3
3
  #include "RhoFilePath.h"
4
4
  #include "StringConverter.h"
5
+ #ifdef RHODES_EMULATOR
6
+ static const char* CONF_FILENAME = "rhoconfig.txt";
7
+ #else
5
8
  static const char* CONF_FILENAME = "apps/rhoconfig.txt";
9
+ #endif
6
10
  static const char* CONF_CHANGES = ".changes";
7
11
  static const char* CONF_TIMESTAMP = ".timestamp";
8
12
  static const char* CONF_TIMESTAMP_PROP = "rho_conf_timestamp";
@@ -90,7 +94,7 @@ void RhoSettings::loadFromFile()
90
94
  m_mapChangedValues.clear();
91
95
 
92
96
  String strSettings;
93
- CRhoFile::readStringFromFile(getConfFilePath().c_str(), strSettings);
97
+ CRhoFile::readStringFromFile(getAppConfFilePath().c_str(), strSettings);
94
98
  loadFromString( strSettings.c_str(), m_mapValues );
95
99
 
96
100
  readChanges();
@@ -231,7 +235,15 @@ extern "C" {
231
235
  void rho_conf_Init(const char* szRootPath){
232
236
  rho::common::CFilePath oRhoPath( szRootPath );
233
237
 
238
+ RHOCONF().setAppConfFilePath(oRhoPath.makeFullPath(CONF_FILENAME).c_str());
239
+ #ifdef RHODES_EMULATOR
240
+ rho::String strPath = rho::common::CFilePath::join( szRootPath, RHO_EMULATOR_DIR);
241
+ strPath = rho::common::CFilePath::join( strPath, CONF_FILENAME);
242
+ RHOCONF().setConfFilePath(strPath.c_str());
243
+ #else
234
244
  RHOCONF().setConfFilePath(oRhoPath.makeFullPath(CONF_FILENAME).c_str());
245
+ #endif
246
+
235
247
  RHOCONF().loadFromFile();
236
248
  }
237
249
 
@@ -12,7 +12,7 @@ namespace common{
12
12
  #define RHODBVERSION "DBVersion"
13
13
 
14
14
  class RhoSettings{
15
- String m_strConfFilePath;
15
+ String m_strConfFilePath, m_strAppConfFilePath;
16
16
  Hashtable<String,String> m_mapValues;
17
17
  Hashtable<String,String> m_mapChangedValues;
18
18
  HashtablePtr<String,Vector<String>* > m_mapConflictedValues;
@@ -31,6 +31,8 @@ public:
31
31
 
32
32
  const String& getConfFilePath()const{ return m_strConfFilePath;}
33
33
  void setConfFilePath(const char* szConfFilePath){ m_strConfFilePath = szConfFilePath; }
34
+ const String& getAppConfFilePath()const{ return m_strAppConfFilePath;}
35
+ void setAppConfFilePath(const char* szConfFilePath){ m_strAppConfFilePath = szConfFilePath; }
34
36
 
35
37
  void loadFromFile();
36
38
 
@@ -88,5 +88,15 @@ typedef int LogSeverity;
88
88
  #include "tcmalloc/rhomem.h"
89
89
  #endif
90
90
 
91
+ #ifdef RHODES_EMULATOR
92
+ #define RHO_RB_EXT ".rb"
93
+ #define RHO_ERB_EXT ".erb"
94
+ #define RHO_EMULATOR_DIR "rhosimulator"
95
+ #else
96
+ #define RHO_RB_EXT ".iseq"
97
+ #define RHO_ERB_EXT "_erb.iseq"
98
+ #define RHO_EMULATOR_DIR ""
99
+ #endif
100
+
91
101
  #endif //_RHODEFS_H_
92
102
 
@@ -1,5 +1,7 @@
1
1
  #include "RhoFile.h"
2
2
  #include "common/StringConverter.h"
3
+ #include "common/Tokenizer.h"
4
+ #include "common/RhoFilePath.h"
3
5
 
4
6
  namespace rho{
5
7
  namespace common{
@@ -221,6 +223,19 @@ void CRhoFile::deleteFilesInFolder(const char* szFolderPath)
221
223
  #endif
222
224
  }
223
225
 
226
+ /*static*/ void CRhoFile::recursiveCreateDir(const char* szFolderPath, const char* szBasePath)
227
+ {
228
+ String strRelPath = String(szFolderPath).substr(strlen(szBasePath), strlen(szFolderPath) );
229
+ String strPath = szBasePath;
230
+ CTokenizer oTokenizer( strRelPath, "/\\" );
231
+ while (oTokenizer.hasMoreTokens())
232
+ {
233
+ String tok = oTokenizer.nextToken();
234
+ strPath = CFilePath::join(strPath, tok);
235
+ createFolder(strPath.c_str());
236
+ }
237
+ }
238
+
224
239
  /*static*/ void CRhoFile::renameFile( const char* szOldFilePath, const char* szNewFilePath )
225
240
  {
226
241
  #if defined(OS_WINDOWS) || defined(OS_WINCE)
@@ -42,6 +42,7 @@ public:
42
42
  static void deleteFilesInFolder(const char* szFolderPath);
43
43
  static void loadTextFile(const char* szFilePath, String& strFile);
44
44
  static void createFolder(const char* szDirPath);
45
+ static void recursiveCreateDir(const char* szFolderPath, const char* szBasePath);
45
46
  static void readStringFromFile( const char* szFilePath, String& strData );
46
47
  static void writeStringToFile( const char* szFilePath, String& strData );
47
48
  private:
@@ -218,6 +218,11 @@ void CAppCallbacksQueue::processCommand(IQueueCommand* pCmd)
218
218
  return (CRhodesApp*)m_pInstance;
219
219
 
220
220
  m_pInstance = new CRhodesApp(strRootPath);
221
+
222
+ String push_pin = RHOCONF().getString("push_pin");
223
+ if(!push_pin.empty())
224
+ rho::sync::CClientRegister::Create(push_pin.c_str());
225
+
221
226
  return (CRhodesApp*)m_pInstance;
222
227
  }
223
228
 
@@ -653,8 +658,11 @@ const String& CRhodesApp::getRhoMessage(int nError, const char* szName)
653
658
 
654
659
  void CRhodesApp::initHttpServer()
655
660
  {
656
- String strAppRootPath = getRhoRootPath() + "apps";
657
-
661
+ String strAppRootPath = getRhoRootPath();
662
+ #ifndef RHODES_EMULATOR
663
+ strAppRootPath += "apps";
664
+ #endif
665
+
658
666
  m_httpServer = new net::CHttpServer(atoi(getFreeListeningPort()), strAppRootPath);
659
667
  m_httpServer->register_uri("/system/geolocation", rubyext::CGeoLocation::callback_geolocation);
660
668
  m_httpServer->register_uri("/system/syncdb", callback_syncdb);
@@ -788,7 +796,7 @@ void CRhodesApp::initAppUrls()
788
796
  CRhodesAppBase::initAppUrls();
789
797
  m_currentTabIndex = 0;
790
798
 
791
- #if defined( OS_WINCE ) || defined( OS_WINDOWS )
799
+ #if defined( OS_WINCE )
792
800
  m_strHomeUrl = "http://localhost:";
793
801
  #else
794
802
  m_strHomeUrl = "http://127.0.0.1:";
@@ -1269,6 +1277,11 @@ const char* rho_rhodesapp_getblobsdirpath()
1269
1277
  return RHODESAPP().getBlobsDirPath().c_str();
1270
1278
  }
1271
1279
 
1280
+ const char* rho_rhodesapp_getdbdirpath()
1281
+ {
1282
+ return RHODESAPP().getDBDirPath().c_str();
1283
+ }
1284
+
1272
1285
  const char* rho_rhodesapp_getapprootpath() {
1273
1286
  return RHODESAPP().getAppRootPath().c_str();
1274
1287
  }
@@ -158,6 +158,7 @@ const char* rho_rhodesapp_getcurrenturl(int tabindex);
158
158
 
159
159
  const char* rho_rhodesapp_getloadingpagepath();
160
160
  const char* rho_rhodesapp_getblobsdirpath();
161
+ const char* rho_rhodesapp_getdbdirpath();
161
162
  const char* rho_rhodesapp_getapprootpath();
162
163
 
163
164
  void rho_http_redirect(void* httpContext, const char* szUrl);
@@ -1,5 +1,6 @@
1
1
  #include "RhodesAppBase.h"
2
2
  #include "common/RhoFilePath.h"
3
+ #include "common/RhoFile.h"
3
4
  #include "unzip/unzip.h"
4
5
 
5
6
  namespace rho {
@@ -34,17 +35,46 @@ CRhodesAppBase::CRhodesAppBase(const String& strRootPath) : CRhoThread()
34
35
 
35
36
  void CRhodesAppBase::initAppUrls()
36
37
  {
38
+ #ifndef RHODES_EMULATOR
37
39
  m_strBlobsDirPath = getRhoRootPath() + "db/db-files";
38
40
  m_strDBDirPath = getRhoRootPath() + "db";
41
+
39
42
  m_strAppRootPath = getRhoRootPath() + "apps";
43
+ m_strRhodesPath = "";
44
+ #else
45
+ m_strBlobsDirPath = getRhoRootPath() + RHO_EMULATOR_DIR"/db/db-files";
46
+ m_strDBDirPath = getRhoRootPath() + RHO_EMULATOR_DIR"/db";
47
+
48
+ m_strAppRootPath += getRhoRootPath();
49
+ #endif
50
+ }
51
+
52
+ String CRhodesAppBase::getRelativeDBFilesPath(const String& strFilePath)
53
+ {
54
+ #ifndef RHODES_EMULATOR
55
+ String strDbFileRoot = getRhoRootPath();
56
+ #else
57
+ String strDbFileRoot = getRhoRootPath() + RHO_EMULATOR_DIR;
58
+ #endif
59
+
60
+ if ( !String_startsWith(strFilePath, strDbFileRoot) )
61
+ return strFilePath;
62
+
63
+ return strFilePath.substr(strDbFileRoot.length());
40
64
  }
41
65
 
42
66
  String CRhodesAppBase::resolveDBFilesPath(const String& strFilePath)
43
67
  {
44
- if ( String_startsWith(strFilePath, getRhoRootPath()) )
68
+ #ifndef RHODES_EMULATOR
69
+ String strDbFileRoot = getRhoRootPath();
70
+ #else
71
+ String strDbFileRoot = getRhoRootPath() + RHO_EMULATOR_DIR;
72
+ #endif
73
+
74
+ if ( String_startsWith(strFilePath, strDbFileRoot) )
45
75
  return strFilePath;
46
76
 
47
- return CFilePath::join(getRhoRootPath(), strFilePath);
77
+ return CFilePath::join(strDbFileRoot, strFilePath);
48
78
  }
49
79
 
50
80
  String CRhodesAppBase::canonicalizeRhoUrl(const String& strUrl)
@@ -122,75 +152,85 @@ const char* rho_rhodesapp_getplatform()
122
152
  #endif
123
153
  }
124
154
 
125
- static const char table64[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
155
+ const char* rho_rhodesapp_getrhodespath()
156
+ {
157
+ return RHODESAPPBASE().getRhodesPath().c_str();
158
+ }
159
+
160
+ void rho_file_recursive_createdir(const char* szPath, const char* szBasePath)
161
+ {
162
+ rho::common::CRhoFile::recursiveCreateDir(szPath, szBasePath);
163
+ }
164
+
165
+ static const char table64[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
166
+
167
+ int rho_base64_encode(const char *src, int srclen, char *dst)
168
+ {
169
+ if (srclen < 0)
170
+ srclen = strlen(src);
171
+ if (!dst)
172
+ return (srclen/3)*4 + (srclen%3 ? 4 : 0) + 1;
126
173
 
127
- int rho_base64_encode(const char *src, int srclen, char *dst)
128
- {
129
- if (srclen < 0)
130
- srclen = strlen(src);
131
- if (!dst)
132
- return (srclen/3)*4 + (srclen%3 ? 4 : 0) + 1;
174
+ int out = 0;
175
+ for(int in = 0; in < srclen; in += 3, out += 4) {
133
176
 
134
- int out = 0;
135
- for(int in = 0; in < srclen; in += 3, out += 4) {
136
-
137
- unsigned x = 0;
138
- int actual = 0;
139
- for (int i = 0; i < 3; ++i) {
140
- char c;
141
- if (in + i >= srclen)
142
- c = 0;
143
- else {
144
- c = src[in + i];
145
- actual += 8;
146
- }
147
- x = (x << 8) + (unsigned char)c;
148
- }
149
-
150
- for (int i = 0; i < 4; ++i) {
151
- if (actual <= 0) {
152
- dst[out + i] = '=';
153
- }
154
- else {
155
- dst[out + i] = table64[(x >> 18) & 0x3F];
156
- x <<= 6;
157
- actual -= 6;
158
- }
177
+ unsigned x = 0;
178
+ int actual = 0;
179
+ for (int i = 0; i < 3; ++i) {
180
+ char c;
181
+ if (in + i >= srclen)
182
+ c = 0;
183
+ else {
184
+ c = src[in + i];
185
+ actual += 8;
159
186
  }
187
+ x = (x << 8) + (unsigned char)c;
160
188
  }
161
189
 
162
- dst[out++] = '\0';
163
- return out;
190
+ for (int i = 0; i < 4; ++i) {
191
+ if (actual <= 0) {
192
+ dst[out + i] = '=';
193
+ }
194
+ else {
195
+ dst[out + i] = table64[(x >> 18) & 0x3F];
196
+ x <<= 6;
197
+ actual -= 6;
198
+ }
199
+ }
164
200
  }
165
201
 
166
- int rho_base64_decode(const char *src, int srclen, char *dst)
167
- {
168
- if (srclen < 0)
169
- srclen = strlen(src);
170
- // Do not decode in case if srclen can not be divided by 4
171
- if (srclen%4)
172
- return 0;
173
- if (!dst)
174
- return srclen*3/4 + 1;
202
+ dst[out++] = '\0';
203
+ return out;
204
+ }
205
+
206
+ int rho_base64_decode(const char *src, int srclen, char *dst)
207
+ {
208
+ if (srclen < 0)
209
+ srclen = strlen(src);
210
+ // Do not decode in case if srclen can not be divided by 4
211
+ if (srclen%4)
212
+ return 0;
213
+ if (!dst)
214
+ return srclen*3/4 + 1;
215
+
216
+ char *found;
217
+ int out = 0;
218
+ for (int in = 0; in < srclen; in += 4, out += 3) {
219
+ unsigned x = 0;
220
+ for (int i = 0; i < 4; ++i) {
221
+ if ((found = strchr(const_cast<char*>(table64), src[in + i])) != NULL)
222
+ x = (x << 6) + (unsigned int)(found - table64);
223
+ else if (src[in + i] == '=')
224
+ x <<= 6;
225
+ }
175
226
 
176
- char *found;
177
- int out = 0;
178
- for (int in = 0; in < srclen; in += 4, out += 3) {
179
- unsigned x = 0;
180
- for (int i = 0; i < 4; ++i) {
181
- if ((found = strchr(const_cast<char*>(table64), src[in + i])) != NULL)
182
- x = (x << 6) + (unsigned int)(found - table64);
183
- else if (src[in + i] == '=')
184
- x <<= 6;
185
- }
186
-
187
- for (int i = 0; i < 3; ++i) {
188
- dst[out + i] = (unsigned char)((x >> 16) & 0xFF);
189
- x <<= 8;
190
- }
227
+ for (int i = 0; i < 3; ++i) {
228
+ dst[out + i] = (unsigned char)((x >> 16) & 0xFF);
229
+ x <<= 8;
191
230
  }
192
- dst[out++] = '\0';
193
- return out;
194
231
  }
232
+ dst[out++] = '\0';
233
+ return out;
234
+ }
195
235
 
196
236
  } //extern "C"
@@ -21,7 +21,7 @@ protected:
21
21
 
22
22
  static CRhodesAppBase* m_pInstance;
23
23
 
24
- String m_strRhoRootPath, m_strBlobsDirPath, m_strDBDirPath, m_strAppRootPath;
24
+ String m_strRhoRootPath, m_strBlobsDirPath, m_strDBDirPath, m_strAppRootPath, m_strRhodesPath;
25
25
  String m_strHomeUrl;
26
26
 
27
27
  CRhodesAppBase(const String& strRootPath);
@@ -31,7 +31,10 @@ public:
31
31
  static CRhodesAppBase* getInstance(){ return m_pInstance; }
32
32
 
33
33
  String resolveDBFilesPath(const String& strFilePath);
34
+ String getRelativeDBFilesPath(const String& strFilePath);
34
35
  const String& getRhoRootPath(){return m_strRhoRootPath;}
36
+ const String& getRhodesPath(){return m_strRhodesPath;}
37
+ void setRhodesPath(const String& path){m_strRhodesPath = path;}
35
38
  const String& getAppRootPath(){return m_strAppRootPath;}
36
39
  const String& getBlobsDirPath(){return m_strBlobsDirPath; }
37
40
  const String& getDBDirPath(){return m_strDBDirPath; }
@@ -58,6 +61,9 @@ extern "C" {
58
61
 
59
62
  const char* rho_native_rhopath();
60
63
  const char* rho_rhodesapp_getplatform();
64
+ const char* rho_rhodesapp_getrhodespath();
65
+ void rho_file_recursive_createdir(const char* szPath, const char* szBasePath);
66
+
61
67
  int rho_unzip_file(const char* szZipPath);
62
68
 
63
69
  void rho_free_callbackdata(void* pData);
@@ -143,6 +143,7 @@ int Curl_rhossl_shutdown(struct connectdata *conn, int sockindex)
143
143
  {
144
144
  struct ssl_connect_data *connssl = &conn->ssl[sockindex];
145
145
  rho_ssl_shutdown(connssl->storage);
146
+ rho_ssl_free_storage(connssl->storage);
146
147
  return 0;
147
148
  }
148
149
 
@@ -430,9 +430,11 @@ static boolean destroyTableName(String tableName, const rho::Vector<rho::String>
430
430
  boolean CDBAdapter::isTableExist(String strTableName)
431
431
  {
432
432
  Vector<String> vecTables;
433
-
433
+ Lock();
434
434
  IDBResult res = executeSQL( "SELECT name FROM sqlite_master WHERE type='table' AND name=?", strTableName.c_str() );
435
- return !res.isEnd();
435
+ boolean bRes = !res.isEnd();
436
+ Unlock();
437
+ return bRes;
436
438
  }
437
439
 
438
440
  void CDBAdapter::destroy_tables(const rho::Vector<rho::String>& arIncludeTables, const rho::Vector<rho::String>& arExcludeTables)
@@ -646,7 +648,12 @@ void CDBAdapter::executeBatch(const char* szSql, CDBError& error)
646
648
 
647
649
  void CDBAdapter::createSchema()
648
650
  {
651
+ #ifdef RHODES_EMULATOR
652
+ String strPath = CFilePath::join( RHODESAPP().getRhodesPath(), "platform/shared/db/res/db/syncdb.schema" );
653
+ CFilePath oPath(strPath);
654
+ #else
649
655
  CFilePath oPath(m_strDbPath);
656
+ #endif
650
657
 
651
658
  String strSqlScript;
652
659
  CRhoFile::loadTextFile(oPath.changeBaseName("syncdb.schema").c_str(), strSqlScript);
@@ -667,7 +674,12 @@ void CDBAdapter::createSchema()
667
674
  void CDBAdapter::createTriggers()
668
675
  {
669
676
  char* errmsg = 0;
677
+ #ifdef RHODES_EMULATOR
678
+ String strPath = CFilePath::join( RHODESAPP().getRhodesPath(), "platform/shared/db/res/db/syncdb.triggers" );
679
+ CFilePath oPath(strPath);
680
+ #else
670
681
  CFilePath oPath(m_strDbPath);
682
+ #endif
671
683
 
672
684
  String strSqlTriggers;
673
685
  CRhoFile::loadTextFile(oPath.changeBaseName("syncdb.triggers").c_str(), strSqlTriggers);
@@ -18,18 +18,24 @@ LogSettings::LogSettings(){
18
18
  m_nMinSeverity = 0;
19
19
  m_bLogToOutput = true;
20
20
  m_bLogToFile = false;
21
+ m_bLogToSocket = true;
21
22
 
22
23
  m_nMaxLogFileSize = 0;
23
24
  m_bLogPrefix = true;
24
25
 
26
+ m_strLogHost = "PPP_PEER";
27
+ m_strLogPort = "11000";
28
+
25
29
  m_pFileSink = new CLogFileSink(*this);
26
30
  m_pOutputSink = new CLogOutputSink(*this);
31
+ m_pSocketSink = new CLogSocketSink(*this);
27
32
  m_pLogViewSink = NULL;
28
33
  }
29
34
 
30
35
  LogSettings::~LogSettings(){
31
36
  delete m_pFileSink;
32
37
  delete m_pOutputSink;
38
+ delete m_pSocketSink;
33
39
  }
34
40
 
35
41
  void LogSettings::getLogTextW(StringW& strTextW)
@@ -88,6 +94,12 @@ void LogSettings::loadFromConf(rho::common::RhoSettings& oRhoConf){
88
94
  setEnabledCategories( oRhoConf.getString("LogCategories").c_str() );
89
95
  if (oRhoConf.isExist( "ExcludeLogCategories") )
90
96
  setDisabledCategories( oRhoConf.getString("ExcludeLogCategories").c_str() );
97
+ if ( oRhoConf.isExist( "LogToSocket") )
98
+ setLogToSocket( oRhoConf.getBool("LogToSocket") );
99
+ if ( oRhoConf.isExist( "LogSocketHost") )
100
+ m_strLogHost = oRhoConf.getString("LogSocketHost");
101
+ if ( oRhoConf.isExist( "LogSocketPort") )
102
+ m_strLogPort = oRhoConf.getString("LogSocketPort");
91
103
  }
92
104
 
93
105
  void LogSettings::setLogFilePath(const char* szLogFilePath){
@@ -124,6 +136,9 @@ void LogSettings::sinkLogMessage( String& strMsg ){
124
136
  //Should be at the end
125
137
  if ( isLogToOutput() )
126
138
  m_pOutputSink->writeLogMessage(strMsg);
139
+
140
+ if ( isLogToSocket() )
141
+ m_pSocketSink->writeLogMessage(strMsg);
127
142
  }
128
143
 
129
144
  bool LogSettings::isCategoryEnabled(const LogCategory& cat)const{
@@ -165,7 +180,13 @@ using namespace rho::common;
165
180
 
166
181
  void rho_logconf_Init(const char* szRootPath){
167
182
 
183
+ #ifdef RHODES_EMULATOR
184
+ String strRootPath = szRootPath;
185
+ strRootPath += RHO_EMULATOR_DIR"/";
186
+ rho::common::CFilePath oLogPath( strRootPath );
187
+ #else
168
188
  rho::common::CFilePath oLogPath( szRootPath );
189
+ #endif
169
190
 
170
191
  //Set defaults
171
192
  #ifdef RHO_DEBUG