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.
- data/CHANGELOG +7 -0
- data/Rakefile +7 -36
- data/doc/build.txt +48 -22
- data/doc/device-caps.txt +130 -1
- data/doc/rhom.txt +9 -3
- data/doc/test-log-debug.txt +5 -2
- data/lib/extensions/barcode/ext/barcode/platform/android/Rakefile +40 -20
- data/lib/extensions/barcode/ext/barcode/platform/android/ZXing_Info/AUTHORS +58 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/ZXing_Info/CHANGES +266 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/ZXing_Info/COPYING +201 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/ZXing_Info/README +11 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/ext_build.files +173 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/jni/src/barcode.cpp +34 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/BarcodeFormat.java +103 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/Binarizer.java +80 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/BinaryBitmap.java +128 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/ChecksumException.java +37 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/DecodeHintType.java +79 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/EncodeHintType.java +39 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/FormatException.java +38 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/LuminanceSource.java +113 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/MultiFormatReader.java +166 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/MultiFormatWriter.java +65 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/NotFoundException.java +37 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/Reader.java +64 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/ReaderException.java +98 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/Result.java +143 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/ResultMetadataType.java +109 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/ResultPoint.java +127 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/ResultPointCallback.java +29 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/Writer.java +54 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/WriterException.java +35 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/AbstractDoCoMoResultParser.java +39 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/AddressBookAUResultParser.java +73 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/AddressBookDoCoMoResultParser.java +85 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/AddressBookParsedResult.java +122 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/BizcardResultParser.java +94 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/BookmarkDoCoMoResultParser.java +46 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/CalendarParsedResult.java +134 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/EmailAddressParsedResult.java +61 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/EmailAddressResultParser.java +64 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/EmailDoCoMoResultParser.java +87 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ExpandedProductParsedResult.java +195 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ExpandedProductResultParser.java +199 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/GeoParsedResult.java +132 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/GeoResultParser.java +77 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ISBNParsedResult.java +39 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ISBNResultParser.java +54 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ParsedResult.java +73 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ParsedResultType.java +53 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ProductParsedResult.java +49 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ProductResultParser.java +66 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ResultParser.java +319 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/SMSMMSResultParser.java +107 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/SMSParsedResult.java +104 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/SMSTOMMSTOResultParser.java +57 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/TelParsedResult.java +54 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/TelResultParser.java +44 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/TextParsedResult.java +48 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/URIParsedResult.java +113 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/URIResultParser.java +87 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/URLTOResultParser.java +47 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/VCardResultParser.java +346 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/VEventResultParser.java +54 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/WifiParsedResult.java +53 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/WifiResultParser.java +50 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/optional/AbstractNDEFResultParser.java +45 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/optional/NDEFRecord.java +87 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/optional/NDEFSmartPosterParsedResult.java +63 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/optional/NDEFSmartPosterResultParser.java +81 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/optional/NDEFTextResultParser.java +57 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/optional/NDEFURIResultParser.java +95 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/BitArray.java +247 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/BitMatrix.java +226 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/BitSource.java +97 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/CharacterSetECI.java +110 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/Collections.java +53 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/Comparator.java +27 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/DecoderResult.java +63 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/DefaultGridSampler.java +81 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/DetectorResult.java +46 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/ECI.java +52 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/GlobalHistogramBinarizer.java +196 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/GridSampler.java +171 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/HybridBinarizer.java +185 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/PerspectiveTransform.java +148 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/StringUtils.java +191 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/detector/MonochromeRectangleDetector.java +209 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/detector/WhiteRectangleDetector.java +316 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/reedsolomon/GF256.java +139 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/reedsolomon/GF256Poly.java +263 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/reedsolomon/ReedSolomonDecoder.java +194 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/reedsolomon/ReedSolomonEncoder.java +75 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/reedsolomon/ReedSolomonException.java +31 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/datamatrix/DataMatrixReader.java +161 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/datamatrix/decoder/BitMatrixParser.java +446 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/datamatrix/decoder/DataBlock.java +118 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/datamatrix/decoder/DecodedBitStreamParser.java +462 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/datamatrix/decoder/Decoder.java +134 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/datamatrix/decoder/Version.java +242 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/datamatrix/detector/Detector.java +348 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/multi/ByQuadrantReader.java +96 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/multi/GenericMultipleBarcodeReader.java +156 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/multi/MultipleBarcodeReader.java +37 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/multi/qrcode/QRCodeMultiReader.java +80 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/multi/qrcode/detector/MultiDetector.java +72 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder.java +324 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/CodaBarReader.java +263 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/Code128Reader.java +473 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/Code128Writer.java +73 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/Code39Reader.java +333 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/Code39Writer.java +82 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/Code93Reader.java +273 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/EAN13Reader.java +135 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/EAN13Writer.java +81 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/EAN8Reader.java +72 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/EAN8Writer.java +76 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/EANManufacturerOrgSupport.java +170 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/ITFReader.java +348 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/ITFWriter.java +68 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/MultiFormatOneDReader.java +109 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/MultiFormatUPCEANReader.java +113 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/OneDReader.java +297 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/UPCAReader.java +75 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/UPCEANExtensionSupport.java +186 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/UPCEANReader.java +355 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/UPCEANWriter.java +104 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/UPCEReader.java +153 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/AbstractRSSReader.java +110 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/DataCharacter.java +37 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/FinderPattern.java +48 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/Pair.java +41 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/RSS14Reader.java +494 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/RSSUtils.java +155 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/BitArrayBuilder.java +85 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/ExpandedPair.java +68 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/RSSExpandedReader.java +578 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI013103decoder.java +47 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI01320xDecoder.java +55 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI01392xDecoder.java +66 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI01393xDecoder.java +76 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI013x0x1xDecoder.java +106 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI013x0xDecoder.java +56 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI01AndOtherAIs.java +56 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI01decoder.java +81 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI01weightDecoder.java +58 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder.java +85 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AnyAIDecoder.java +48 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/BlockParsedResult.java +60 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/CurrentParsingState.java +69 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/DecodedChar.java +52 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/DecodedInformation.java +63 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/DecodedNumeric.java +79 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/DecodedObject.java +44 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/FieldParser.java +285 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder.java +414 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/pdf417/PDF417Reader.java +79 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/pdf417/decoder/BitMatrixParser.java +1163 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/pdf417/decoder/DecodedBitStreamParser.java +629 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/pdf417/decoder/Decoder.java +150 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/pdf417/detector/Detector.java +498 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/QRCodeReader.java +166 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/QRCodeWriter.java +108 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/BitMatrixParser.java +203 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/DataBlock.java +123 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/DataMask.java +155 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/DecodedBitStreamParser.java +261 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/Decoder.java +148 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/ErrorCorrectionLevel.java +86 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/FormatInformation.java +171 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/Mode.java +112 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/Version.java +586 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/detector/AlignmentPattern.java +48 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/detector/AlignmentPatternFinder.java +279 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/detector/Detector.java +400 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/detector/FinderPattern.java +63 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/detector/FinderPatternFinder.java +585 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/detector/FinderPatternInfo.java +49 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/encoder/BlockPair.java +37 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/encoder/ByteMatrix.java +97 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/encoder/Encoder.java +557 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/encoder/MaskUtil.java +217 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/encoder/MatrixUtil.java +524 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/encoder/QRCode.java +239 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/rhomobile/barcode/Barcode.java +63 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/rhomobile/barcode/RhoLuminanceSource.java +75 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/Barcode.xcodeproj/project.pbxproj +74 -318
- data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/barcode.m +70 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/COPYING +27 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarCaptureReader.h +105 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarHelpController.h +60 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarImage.h +69 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarImageScanner.h +51 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarReaderController.h +142 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarReaderView.h +118 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarReaderViewController.h +100 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarSDK.h +33 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarSymbol.h +71 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar.h +1476 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Decoder.h +201 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Exception.h +187 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Image.h +321 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/ImageScanner.h +130 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Processor.h +223 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Scanner.h +162 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Symbol.h +529 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Video.h +170 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Window.h +136 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/LICENSE +504 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/README +59 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Resources/zbar-back.png +0 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Resources/zbar-help.html +88 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Resources/zbar-helpicons.png +0 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Resources/zbar-samples.png +0 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/libzbar.a +0 -0
- data/lib/extensions/debugger/debugger.rb +215 -67
- data/lib/extensions/nfc/ext/nfc/platform/android/AndroidManifest.xml +1 -1
- data/lib/extensions/nfc/ext/nfc/platform/android/src/com/nfc/Nfc.java +14 -2
- data/lib/extensions/timeout/timeout.rb +114 -0
- data/lib/framework/rho/render.rb +14 -16
- data/lib/framework/rho/rho.rb +38 -14
- data/lib/framework/rho/rhoapplication.rb +1 -1
- data/lib/framework/rho/rhocontroller.rb +3 -3
- data/lib/framework/rho/rhofsconnector.rb +18 -6
- data/lib/framework/rho/rhoviewhelpers.rb +1 -1
- data/lib/framework/rhoappmanifest.rb +44 -0
- data/lib/framework/rhodes.rb +1 -1
- data/lib/framework/rhoframework.rb +31 -11
- data/lib/framework/rholang/localization_simplified.rb +10 -6
- data/lib/framework/rhom/rhom_object_factory.rb +3 -3
- data/lib/framework/version.rb +1 -1
- data/lib/rhodes.rb +1 -1
- data/platform/android/Rhodes/AndroidManifest.xml +2 -2
- data/platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_RhodesApplication.h +32 -8
- data/platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_RhodesService.h +21 -21
- data/platform/android/Rhodes/jni/src/rhocryptimpl.cpp +1 -0
- data/platform/android/Rhodes/jni/src/rhodes.cpp +21 -9
- data/platform/android/Rhodes/jni/src/sslimpl.cpp +1 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/BaseActivity.java +7 -6
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/PushReceiver.java +19 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoCryptImpl.java +2 -2
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesActivity.java +24 -15
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesApplication.java +39 -47
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +113 -106
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/alert/Alert.java +11 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/alert/StatusNotification.java +49 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +1 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/socket/SSLImpl.java +5 -1
- data/platform/android/build/RhodesSRC_build.files +1 -0
- data/platform/android/build/android.rake +93 -6
- data/platform/bb/RubyVM/src/com/rho/RhodesApp.java +5 -4
- data/platform/bb/RubyVM/src/com/rho/file/RhoFile.java +10 -0
- data/platform/bb/RubyVM/src/com/rho/sync/SyncEngine.java +16 -15
- data/platform/bb/RubyVM/src/com/rho/sync/SyncNotify.java +2 -2
- data/platform/bb/RubyVM/src/com/rho/sync/SyncSource.java +21 -19
- data/platform/bb/rhodes/src/com/rho/BrowserAdapter5.java +2 -2
- data/platform/bb/rhodes/src/com/rho/rubyext/System.java +6 -1
- data/platform/bb/rhodes/src/com/rho/rubyext/WebView.java +10 -3
- data/platform/bb/rhodes/src/rhomobile/RhodesApplication.java +21 -1
- data/platform/iphone/Classes/SimpleMainView.m +5 -5
- data/platform/iphone/Info.plist +1 -1
- data/platform/iphone/rbuild/iphone.rake +30 -1
- data/platform/iphone/rhorunner.xcodeproj/project.pbxproj +12 -0
- data/platform/shared/SyncClient/SyncClient.cpp +136 -20
- data/platform/shared/SyncClient/SyncClient.h +17 -0
- data/platform/shared/common/AppMenu.cpp +6 -1
- data/platform/shared/common/RhoConf.cpp +13 -1
- data/platform/shared/common/RhoConf.h +3 -1
- data/platform/shared/common/RhoDefs.h +10 -0
- data/platform/shared/common/RhoFile.cpp +15 -0
- data/platform/shared/common/RhoFile.h +1 -0
- data/platform/shared/common/RhodesApp.cpp +16 -3
- data/platform/shared/common/RhodesApp.h +1 -0
- data/platform/shared/common/RhodesAppBase.cpp +102 -62
- data/platform/shared/common/RhodesAppBase.h +7 -1
- data/platform/shared/curl/lib/rhossl.c +1 -0
- data/platform/shared/db/DBAdapter.cpp +14 -2
- data/platform/shared/logging/RhoLogConf.cpp +21 -0
- data/platform/shared/logging/RhoLogConf.h +11 -0
- data/platform/shared/logging/RhoLogSink.cpp +24 -0
- data/platform/shared/logging/RhoLogSink.h +20 -1
- data/platform/shared/net/HttpServer.cpp +8 -6
- data/platform/shared/net/RawSocket.cpp +130 -0
- data/platform/shared/net/RawSocket.h +74 -0
- data/platform/shared/ruby/ext/rho/rhoruby.c +37 -1
- data/platform/shared/ruby/ext/rho/rhosupport.c +74 -21
- data/platform/shared/ruby/ext/sqlite3_api/sqlite3_api_wrap.c +9 -1
- data/platform/shared/ruby/vm_eval.c +4 -3
- data/platform/shared/sync/SyncEngine.cpp +11 -12
- data/platform/shared/sync/SyncEngine.h +2 -2
- data/platform/shared/sync/SyncNotify.cpp +41 -13
- data/platform/shared/sync/SyncNotify.h +20 -3
- data/platform/shared/sync/SyncSource.cpp +21 -19
- data/platform/shared/sync/SyncThread.cpp +11 -1
- data/platform/shared/sync/SyncThread.h +3 -0
- data/platform/shared/test/test_helper.cpp +7 -0
- data/platform/win32/RhoSimulator/QtCore4.dll +0 -0
- data/platform/win32/RhoSimulator/QtGui4.dll +0 -0
- data/platform/win32/RhoSimulator/QtNetwork4.dll +0 -0
- data/platform/win32/RhoSimulator/QtWebKit4.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qgif4.dll +0 -0
- data/platform/win32/RhoSimulator/imageformats/qjpeg4.dll +0 -0
- data/platform/win32/RhoSimulator/rhosimulator.exe +0 -0
- data/platform/wm/RhoLib/RhoLib.vcproj +762 -14
- data/platform/wm/build/wm.rake +87 -10
- data/platform/wm/rhodes.sln +155 -72
- data/platform/wm/rhodes/MainWindow.cpp +5 -2
- data/platform/wm/rhodes/MainWindow.h +9 -1
- data/platform/wm/rhodes/RhoNativeViewManager.cpp +4 -0
- data/platform/wm/rhodes/Rhodes.cpp +60 -6
- data/platform/wm/rhodes/emulator/ExternalWebView.cpp +20 -0
- data/platform/wm/rhodes/emulator/ExternalWebView.h +23 -0
- data/platform/wm/rhodes/emulator/ExternalWebView.ui +46 -0
- data/platform/wm/rhodes/emulator/MainWindowCallback.h +18 -0
- data/platform/wm/rhodes/emulator/MainWindowProxy.cpp +268 -0
- data/platform/wm/rhodes/emulator/MainWindowProxy.h +34 -0
- data/platform/wm/rhodes/emulator/MainWindowQt.cpp +345 -0
- data/platform/wm/rhodes/emulator/MainWindowQt.h +118 -0
- data/platform/wm/rhodes/emulator/NativeToolbarQt.cpp +57 -0
- data/platform/wm/rhodes/emulator/NativeToolbarQt.h +52 -0
- data/platform/wm/rhodes/emulator/QtMainWindow.cpp +219 -0
- data/platform/wm/rhodes/emulator/QtMainWindow.h +62 -0
- data/platform/wm/rhodes/emulator/QtMainWindow.ui +122 -0
- data/platform/wm/rhodes/{RhoCryptImpl.cpp → rho/common/RhoCryptImpl.cpp} +0 -0
- data/platform/wm/rhodes/{RhoCryptImpl.h → rho/common/RhoCryptImpl.h} +0 -0
- data/platform/wm/rhodes/rho/rubyext/NativeToolbar.cpp +2 -86
- data/platform/wm/rhodes/rho/rubyext/NativeToolbarExt.cpp +87 -0
- data/platform/wm/rhodes/rho/rubyext/NativeToolbarExt.h +6 -0
- data/platform/wm/rhodes/rho/rubyext/SystemImpl.cpp +60 -0
- data/platform/wm/rhodes/rhodes.vcproj +4025 -365
- data/platform/wm/rhodes/signature/Signature.cpp +29 -13
- data/platform/wm/rubylib/rubylib.vcproj +1167 -195
- data/platform/wm/shttpd/shttpd.vcproj +4 -4
- data/platform/wm/sqlite3/sqlite3.vcproj +441 -13
- data/platform/wm/syncengine/syncengine.vcproj +443 -15
- data/platform/wm/tcmalloc/tcmalloc.vcproj +0 -154
- data/platform/wm/tools/detool/LogServer.cpp +150 -0
- data/platform/wm/tools/detool/LogServer.h +23 -0
- data/platform/wm/tools/detool/detool.cpp +42 -4
- data/platform/wm/tools/detool/detool.vcproj +10 -1
- data/platform/wp7/IronRuby/Bin/Silverlight3Release/IronRuby.Libraries.dll +0 -0
- data/platform/wp7/IronRuby/Bin/Silverlight3Release/IronRuby.dll +0 -0
- data/platform/wp7/IronRuby/Bin/Silverlight3Release/Microsoft.Dynamic.dll +0 -0
- data/platform/wp7/IronRuby/Bin/Silverlight3Release/Microsoft.Scripting.Core.dll +0 -0
- data/platform/wp7/IronRuby/Bin/Silverlight3Release/Microsoft.Scripting.dll +0 -0
- data/platform/wp7/RhoAppRunner/Program.cs +20 -3
- data/platform/wp7/RhoLogServer/Program.cs +22 -0
- data/platform/wp7/RhoLogServer/Properties/AssemblyInfo.cs +36 -0
- data/platform/wp7/RhoLogServer/RhoLogServer.csproj +65 -0
- data/platform/wp7/RhoLogServer/SocketServer.cs +210 -0
- data/platform/wp7/RhoRubyExtGen/RhoAsyncHttp.cs +6 -0
- data/platform/wp7/RhoRubyLib/Initializers.Generated.cs +3 -2
- data/platform/wp7/RhoRubyLib/RhoRuby.cs +82 -0
- data/platform/wp7/RhoRubyLib/RhoRubyLib.csproj +7 -5
- data/platform/wp7/RhoRubyLib/WP_PlatformAdaptationLayer.cs +1 -1
- data/platform/wp7/RhoRubyLib/common/RhoParams.cs +1 -1
- data/platform/wp7/RhoRubyLib/common/ThreadQueue.cs +4 -1
- data/platform/wp7/RhoRubyLib/db/DBAdapter.cs +2 -2
- data/platform/wp7/RhoRubyLib/logging/IRhoLogSink.cs +1 -1
- data/platform/wp7/RhoRubyLib/logging/RhoEmptyLogger.cs +30 -0
- data/platform/wp7/RhoRubyLib/logging/RhoLogConf.cs +10 -0
- data/platform/wp7/RhoRubyLib/logging/RhoLogFileSink.cs +6 -1
- data/platform/wp7/RhoRubyLib/logging/RhoLogServerSink.cs +56 -0
- data/platform/wp7/RhoRubyLib/logging/RhoLogger.cs +24 -11
- data/platform/wp7/RhoRubyLib/net/AsyncHttp.cs +57 -14
- data/platform/wp7/RhoRubyLib/net/NetRequest.cs +32 -9
- data/platform/wp7/RhoRubyLib/rubyext/RhoAsyncHttp.cs +7 -0
- data/platform/wp7/RhoRubyLib/rubyext/RhoKernelOps.cs +6 -0
- data/platform/wp7/RhoRubyLib/sync/SyncEngine.cs +20 -16
- data/platform/wp7/RhoRubyLib/sync/SyncNotify.cs +2 -2
- data/platform/wp7/RhoRubyLib/sync/SyncSource.cs +138 -40
- data/platform/wp7/WPApplication/rho/apps/app/layout.erb +3 -1
- data/platform/wp7/build/wp.rake +151 -12
- data/platform/wp7/rhodes.sln +10 -0
- data/platform/wp7/rhodes/App.xaml.cs +6 -0
- data/platform/wp7/rhodes/MainPage.xaml +3 -0
- data/platform/wp7/rhodes/MainPage.xaml.cs +19 -0
- data/platform/wp7/rhodes/Rhodes.csproj +4 -2
- data/rakefile.rb +7 -36
- data/res/build-tools/RhoAppRunner.exe +0 -0
- data/res/build-tools/RhoLogServer.exe +0 -0
- data/res/build-tools/detool.exe +0 -0
- data/res/build-tools/wp7explorer.exe +0 -0
- data/res/generators/templates/application/app/layout.erb +3 -1
- data/res/generators/templates/application/public/jqtouch/jqtouch.js +1 -1
- data/rhodes.gemspec +1 -1
- data/spec/framework_spec/app/layout.erb +1 -1
- data/spec/framework_spec/build.yml +1 -0
- data/spec/perfomance_spec/app/layout.erb +3 -0
- data/spec/phone_spec/app/Account_s/account_s.rb +4 -1
- data/spec/phone_spec/app/spec/rhom_object_spec.rb +30 -1
- data/spec/phone_spec/app/spec_runner.rb +1 -1
- data/spec/phone_spec/build.yml +4 -1
- metadata +262 -10
- 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
|
-
{"
|
|
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
|
|
867
|
-
String filename = m_root + "/" + route.application + "/" + route.model + "/controller
|
|
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, "
|
|
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(
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
463
|
+
rho_file_recursive_createdir(szBlobPath, rho_native_rhopath());
|
|
411
464
|
}
|
|
412
465
|
|
|
413
466
|
void rhoRubyLogWithSeverity(int severity, VALUE category, VALUE str) {
|