rhodes 2.4.1 → 3.0.0.beta.1
Sign up to get free protection for your applications and to get access to all the features.
- 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) {
|