From 72edf4d3a8452af3055839e74b08b5e2b3805848 Mon Sep 17 00:00:00 2001 From: Tomas Martykan Date: Wed, 13 Apr 2016 19:16:54 +0200 Subject: [PATCH] Remove BB10 src, it messess up F-Droid builds --- .../src/blackberry10/LICENSE | 703 ------- .../src/blackberry10/index.js | 147 -- .../src/blackberry10/native/.cproject | 220 --- .../.settings/com.qnx.tools.ide.core.prefs | 2 - .../src/blackberry10/native/device/.gitignore | 2 - .../native/device/libBarcodeScanner.so | Bin 270830 -> 0 bytes .../native/public/json/autolink.h | 19 - .../blackberry10/native/public/json/config.h | 43 - .../native/public/json/features.h | 42 - .../native/public/json/forwards.h | 39 - .../blackberry10/native/public/json/json.h | 10 - .../blackberry10/native/public/json/reader.h | 196 -- .../blackberry10/native/public/json/value.h | 1069 ---------- .../blackberry10/native/public/json/writer.h | 174 -- .../native/public/json_batchallocator.h | 125 -- .../native/public/json_internalarray.inl | 448 ----- .../native/public/json_internalmap.inl | 607 ------ .../native/public/json_reader.cpp | 892 --------- .../blackberry10/native/public/json_value.cpp | 1726 ----------------- .../native/public/json_valueiterator.inl | 292 --- .../native/public/json_writer.cpp | 829 -------- .../src/blackberry10/native/public/plugin.cpp | 320 --- .../src/blackberry10/native/public/plugin.h | 70 - .../blackberry10/native/public/tokenizer.cpp | 222 --- .../blackberry10/native/public/tokenizer.h | 55 - .../blackberry10/native/simulator/.gitignore | 2 - .../native/simulator/libBarcodeScanner.so | Bin 1553593 -> 0 bytes .../src/blackberry10/native/src/Logger.cpp | 104 - .../src/blackberry10/native/src/Logger.hpp | 49 - .../native/src/barcodescanner_js.cpp | 105 - .../native/src/barcodescanner_js.hpp | 41 - .../native/src/barcodescanner_ndk.cpp | 709 ------- .../native/src/barcodescanner_ndk.hpp | 55 - 33 files changed, 9317 deletions(-) delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/LICENSE delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/index.js delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/.cproject delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/.settings/com.qnx.tools.ide.core.prefs delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/device/.gitignore delete mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/device/libBarcodeScanner.so delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/autolink.h delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/config.h delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/features.h delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/forwards.h delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/json.h delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/reader.h delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/value.h delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/writer.h delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_batchallocator.h delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_internalarray.inl delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_internalmap.inl delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_reader.cpp delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_value.cpp delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_valueiterator.inl delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_writer.cpp delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/plugin.cpp delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/plugin.h delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/tokenizer.cpp delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/tokenizer.h delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/simulator/.gitignore delete mode 100755 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/simulator/libBarcodeScanner.so delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/src/Logger.cpp delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/src/Logger.hpp delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/src/barcodescanner_js.cpp delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/src/barcodescanner_js.hpp delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/src/barcodescanner_ndk.cpp delete mode 100644 plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/src/barcodescanner_ndk.hpp diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/LICENSE b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/LICENSE deleted file mode 100644 index 680566f..0000000 --- a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/LICENSE +++ /dev/null @@ -1,703 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -------------------------------------------------------- -*JNEXT (v1.0.8.3) - - MOZILLA PUBLIC LICENSE - Version 1.1 - - --------------- - -1. Definitions. - - 1.0.1. "Commercial Use" means distribution or otherwise making the - Covered Code available to a third party. - - 1.1. "Contributor" means each entity that creates or contributes to - the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the Original - Code, prior Modifications used by a Contributor, and the Modifications - made by that particular Contributor. - - 1.3. "Covered Code" means the Original Code or Modifications or the - combination of the Original Code and Modifications, in each case - including portions thereof. - - 1.4. "Electronic Distribution Mechanism" means a mechanism generally - accepted in the software development community for the electronic - transfer of data. - - 1.5. "Executable" means Covered Code in any form other than Source - Code. - - 1.6. "Initial Developer" means the individual or entity identified - as the Initial Developer in the Source Code notice required by Exhibit - A. - - 1.7. "Larger Work" means a work which combines Covered Code or - portions thereof with code not governed by the terms of this License. - - 1.8. "License" means this document. - - 1.8.1. "Licensable" means having the right to grant, to the maximum - extent possible, whether at the time of the initial grant or - subsequently acquired, any and all of the rights conveyed herein. - - 1.9. "Modifications" means any addition to or deletion from the - substance or structure of either the Original Code or any previous - Modifications. When Covered Code is released as a series of files, a - Modification is: - A. Any addition to or deletion from the contents of a file - containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or - previous Modifications. - - 1.10. "Original Code" means Source Code of computer software code - which is described in the Source Code notice required by Exhibit A as - Original Code, and which, at the time of its release under this - License is not already Covered Code governed by this License. - - 1.10.1. "Patent Claims" means any patent claim(s), now owned or - hereafter acquired, including without limitation, method, process, - and apparatus claims, in any patent Licensable by grantor. - - 1.11. "Source Code" means the preferred form of the Covered Code for - making modifications to it, including all modules it contains, plus - any associated interface definition files, scripts used to control - compilation and installation of an Executable, or source code - differential comparisons against either the Original Code or another - well known, available Covered Code of the Contributor's choice. The - Source Code can be in a compressed or archival form, provided the - appropriate decompression or de-archiving software is widely available - for no charge. - - 1.12. "You" (or "Your") means an individual or a legal entity - exercising rights under, and complying with all of the terms of, this - License or a future version of this License issued under Section 6.1. - For legal entities, "You" includes any entity which controls, is - controlled by, or is under common control with You. For purposes of - this definition, "control" means (a) the power, direct or indirect, - to cause the direction or management of such entity, whether by - contract or otherwise, or (b) ownership of more than fifty percent - (50%) of the outstanding shares or beneficial ownership of such - entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, - non-exclusive license, subject to third party intellectual property - claims: - (a) under intellectual property rights (other than patent or - trademark) Licensable by Initial Developer to use, reproduce, - modify, display, perform, sublicense and distribute the Original - Code (or portions thereof) with or without Modifications, and/or - as part of a Larger Work; and - - (b) under Patents Claims infringed by the making, using or - selling of Original Code, to make, have made, use, practice, - sell, and offer for sale, and/or otherwise dispose of the - Original Code (or portions thereof). - - (c) the licenses granted in this Section 2.1(a) and (b) are - effective on the date Initial Developer first distributes - Original Code under the terms of this License. - - (d) Notwithstanding Section 2.1(b) above, no patent license is - granted: 1) for code that You delete from the Original Code; 2) - separate from the Original Code; or 3) for infringements caused - by: i) the modification of the Original Code or ii) the - combination of the Original Code with other software or devices. - - 2.2. Contributor Grant. - Subject to third party intellectual property claims, each Contributor - hereby grants You a world-wide, royalty-free, non-exclusive license - - (a) under intellectual property rights (other than patent or - trademark) Licensable by Contributor, to use, reproduce, modify, - display, perform, sublicense and distribute the Modifications - created by such Contributor (or portions thereof) either on an - unmodified basis, with other Modifications, as Covered Code - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, using, or - selling of Modifications made by that Contributor either alone - and/or in combination with its Contributor Version (or portions - of such combination), to make, use, sell, offer for sale, have - made, and/or otherwise dispose of: 1) Modifications made by that - Contributor (or portions thereof); and 2) the combination of - Modifications made by that Contributor with its Contributor - Version (or portions of such combination). - - (c) the licenses granted in Sections 2.2(a) and 2.2(b) are - effective on the date Contributor first makes Commercial Use of - the Covered Code. - - (d) Notwithstanding Section 2.2(b) above, no patent license is - granted: 1) for any code that Contributor has deleted from the - Contributor Version; 2) separate from the Contributor Version; - 3) for infringements caused by: i) third party modifications of - Contributor Version or ii) the combination of Modifications made - by that Contributor with other software (except as part of the - Contributor Version) or other devices; or 4) under Patent Claims - infringed by Covered Code in the absence of Modifications made by - that Contributor. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are - governed by the terms of this License, including without limitation - Section 2.2. The Source Code version of Covered Code may be - distributed only under the terms of this License or a future version - of this License released under Section 6.1, and You must include a - copy of this License with every copy of the Source Code You - distribute. You may not offer or impose any terms on any Source Code - version that alters or restricts the applicable version of this - License or the recipients' rights hereunder. However, You may include - an additional document offering the additional rights described in - Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be - made available in Source Code form under the terms of this License - either on the same media as an Executable version or via an accepted - Electronic Distribution Mechanism to anyone to whom you made an - Executable version available; and if made available via Electronic - Distribution Mechanism, must remain available for at least twelve (12) - months after the date it initially became available, or at least six - (6) months after a subsequent version of that particular Modification - has been made available to such recipients. You are responsible for - ensuring that the Source Code version remains available even if the - Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which You contribute to contain a - file documenting the changes You made to create that Covered Code and - the date of any change. You must include a prominent statement that - the Modification is derived, directly or indirectly, from Original - Code provided by the Initial Developer and including the name of the - Initial Developer in (a) the Source Code, and (b) in any notice in an - Executable version or related documentation in which You describe the - origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - (a) Third Party Claims. - If Contributor has knowledge that a license under a third party's - intellectual property rights is required to exercise the rights - granted by such Contributor under Sections 2.1 or 2.2, - Contributor must include a text file with the Source Code - distribution titled "LEGAL" which describes the claim and the - party making the claim in sufficient detail that a recipient will - know whom to contact. If Contributor obtains such knowledge after - the Modification is made available as described in Section 3.2, - Contributor shall promptly modify the LEGAL file in all copies - Contributor makes available thereafter and shall take other steps - (such as notifying appropriate mailing lists or newsgroups) - reasonably calculated to inform those who received the Covered - Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Contributor's Modifications include an application programming - interface and Contributor has knowledge of patent licenses which - are reasonably necessary to implement that API, Contributor must - also include this information in the LEGAL file. - - (c) Representations. - Contributor represents that, except as disclosed pursuant to - Section 3.4(a) above, Contributor believes that Contributor's - Modifications are Contributor's original creation(s) and/or - Contributor has sufficient rights to grant the rights conveyed by - this License. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source - Code. If it is not possible to put such notice in a particular Source - Code file due to its structure, then You must include such notice in a - location (such as a relevant directory) where a user would be likely - to look for such a notice. If You created one or more Modification(s) - You may add your name as a Contributor to the notice described in - Exhibit A. You must also duplicate this License in any documentation - for the Source Code where You describe recipients' rights or ownership - rights relating to Covered Code. You may choose to offer, and to - charge a fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Code. However, You - may do so only on Your own behalf, and not on behalf of the Initial - Developer or any Contributor. You must make it absolutely clear than - any such warranty, support, indemnity or liability obligation is - offered by You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred by the - Initial Developer or such Contributor as a result of warranty, - support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the - requirements of Section 3.1-3.5 have been met for that Covered Code, - and if You include a notice stating that the Source Code version of - the Covered Code is available under the terms of this License, - including a description of how and where You have fulfilled the - obligations of Section 3.2. The notice must be conspicuously included - in any notice in an Executable version, related documentation or - collateral in which You describe recipients' rights relating to the - Covered Code. You may distribute the Executable version of Covered - Code or ownership rights under a license of Your choice, which may - contain terms different from this License, provided that You are in - compliance with the terms of this License and that the license for the - Executable version does not attempt to limit or alter the recipient's - rights in the Source Code version from the rights set forth in this - License. If You distribute the Executable version under a different - license You must make it absolutely clear that any terms which differ - from this License are offered by You alone, not by the Initial - Developer or any Contributor. You hereby agree to indemnify the - Initial Developer and every Contributor for any liability incurred by - the Initial Developer or such Contributor as a result of any such - terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code - not governed by the terms of this License and distribute the Larger - Work as a single product. In such a case, You must make sure the - requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this - License with respect to some or all of the Covered Code due to - statute, judicial order, or regulation then You must: (a) comply with - the terms of this License to the maximum extent possible; and (b) - describe the limitations and the code they affect. Such description - must be included in the LEGAL file described in Section 3.4 and must - be included with all distributions of the Source Code. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has - attached the notice in Exhibit A and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation ("Netscape") may publish revised - and/or new versions of the License from time to time. Each version - will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the - License, You may always continue to use it under the terms of that - version. You may also choose to use such Covered Code under the terms - of any subsequent version of the License published by Netscape. No one - other than Netscape has the right to modify the terms applicable to - Covered Code created under this License. - - 6.3. Derivative Works. - If You create or use a modified version of this License (which you may - only do in order to apply it to code which is not already Covered Code - governed by this License), You must (a) rename Your license so that - the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", - "MPL", "NPL" or any confusingly similar phrase do not appear in your - license (except to note that your license differs from this License) - and (b) otherwise make it clear that Your version of the license - contains terms which differ from the Mozilla Public License and - Netscape Public License. (Filling in the name of the Initial - Developer, Original Code or Contributor in the notice described in - Exhibit A shall not of themselves be deemed to be modifications of - this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF - DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. - THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE - IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, - YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE - COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER - OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - 8.1. This License and the rights granted hereunder will terminate - automatically if You fail to comply with terms herein and fail to cure - such breach within 30 days of becoming aware of the breach. All - sublicenses to the Covered Code which are properly granted shall - survive any termination of this License. Provisions which, by their - nature, must remain in effect beyond the termination of this License - shall survive. - - 8.2. If You initiate litigation by asserting a patent infringement - claim (excluding declatory judgment actions) against Initial Developer - or a Contributor (the Initial Developer or Contributor against whom - You file such action is referred to as "Participant") alleging that: - - (a) such Participant's Contributor Version directly or indirectly - infringes any patent, then any and all rights granted by such - Participant to You under Sections 2.1 and/or 2.2 of this License - shall, upon 60 days notice from Participant terminate prospectively, - unless if within 60 days after receipt of notice You either: (i) - agree in writing to pay Participant a mutually agreeable reasonable - royalty for Your past and future use of Modifications made by such - Participant, or (ii) withdraw Your litigation claim with respect to - the Contributor Version against such Participant. If within 60 days - of notice, a reasonable royalty and payment arrangement are not - mutually agreed upon in writing by the parties or the litigation claim - is not withdrawn, the rights granted by Participant to You under - Sections 2.1 and/or 2.2 automatically terminate at the expiration of - the 60 day notice period specified above. - - (b) any software, hardware, or device, other than such Participant's - Contributor Version, directly or indirectly infringes any patent, then - any rights granted to You by such Participant under Sections 2.1(b) - and 2.2(b) are revoked effective as of the date You first made, used, - sold, distributed, or had made, Modifications made by that - Participant. - - 8.3. If You assert a patent infringement claim against Participant - alleging that such Participant's Contributor Version directly or - indirectly infringes any patent where such claim is resolved (such as - by license or settlement) prior to the initiation of patent - infringement litigation, then the reasonable value of the licenses - granted by such Participant under Sections 2.1 or 2.2 shall be taken - into account in determining the amount or value of any payment or - license. - - 8.4. In the event of termination under Sections 8.1 or 8.2 above, - all end user license agreements (excluding distributors and resellers) - which have been validly granted by You or any distributor hereunder - prior to termination shall survive termination. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL - DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, - OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR - ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY - CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, - WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY - RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW - PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE - EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO - THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a "commercial item," as that term is defined in - 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer - software" and "commercial computer software documentation," as such - terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 - C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), - all U.S. Government End Users acquire Covered Code with only those - rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the extent - necessary to make it enforceable. This License shall be governed by - California law provisions (except to the extent applicable law, if - any, provides otherwise), excluding its conflict-of-law provisions. - With respect to disputes in which at least one party is a citizen of, - or an entity chartered or registered to do business in the United - States of America, any litigation relating to this License shall be - subject to the jurisdiction of the Federal Courts of the Northern - District of California, with venue lying in Santa Clara County, - California, with the losing party responsible for costs, including - without limitation, court costs and reasonable attorneys' fees and - expenses. The application of the United Nations Convention on - Contracts for the International Sale of Goods is expressly excluded. - Any law or regulation which provides that the language of a contract - shall be construed against the drafter shall not apply to this - License. - -12. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or indirectly, - out of its utilization of rights under this License and You agree to - work with Initial Developer and Contributors to distribute such - responsibility on an equitable basis. Nothing herein is intended or - shall be deemed to constitute any admission of liability. - -13. MULTIPLE-LICENSED CODE. - - Initial Developer may designate portions of the Covered Code as - "Multiple-Licensed". "Multiple-Licensed" means that the Initial - Developer permits you to utilize portions of the Covered Code under - Your choice of the NPL or the alternative licenses, if any, specified - by the Initial Developer in the file described in Exhibit A. - -EXHIBIT A -Mozilla Public License. - - ``The contents of this file are subject to the Mozilla Public License - Version 1.1 (the "License"); you may not use this file except in - compliance with the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the - License for the specific language governing rights and limitations - under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. - Portions created by ______________________ are Copyright (C) ______ - _______________________. All Rights Reserved. - - Contributor(s): ______________________________________. - - Alternatively, the contents of this file may be used under the terms - of the _____ license (the "[___] License"), in which case the - provisions of [______] License are applicable instead of those - above. If you wish to allow use of your version of this file only - under the terms of the [____] License and not to allow others to use - your version of this file under the MPL, indicate your decision by - deleting the provisions above and replace them with the notice and - other provisions required by the [___] License. If you do not delete - the provisions above, a recipient may use your version of this file - under either the MPL or the [___] License." - - [NOTE: The text of this Exhibit A may differ slightly from the text of - the notices in the Source Code files of the Original Code. You should - use the text of this Exhibit A rather than the text found in the - Original Code Source Code for Your Modifications.] - -------------------------------------------------------- - -* Tokenizer -/************************************************************************ -The zlib/libpng License - -Copyright (c) 2006 Joerg Wiedenmann - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising from -the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; - you must not claim that you wrote the original software. - If you use this software in a product, an acknowledgment - in the product documentation would be appreciated but is - not required. - -2. Altered source versions must be plainly marked as such, - and must not be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source distribution. - -***********************************************************************/ \ No newline at end of file diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/index.js b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/index.js deleted file mode 100644 index 0696e7b..0000000 --- a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/index.js +++ /dev/null @@ -1,147 +0,0 @@ -/* -* Copyright 2013-2015 BlackBerry Limited. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ -var barcodescanner, - resultObjs = {}, - readCallback, - _utils = require("../../lib/utils"); - -module.exports = { - - // methods to start and stop scanning - scan: function (success, fail, args, env) { - var result = new PluginResult(args, env); - resultObjs[result.callbackId] = result; - readCallback = result.callbackId; - var views = qnx.webplatform.getWebViews(); - var handle = null; - var group = null; - var z = -1; - for (var i = 0; i < views.length; i++) { - if (views[i].visible && views[i].zOrder > z){ - z = views[i].zOrder; - group = views[i].windowGroup; - handle = views[i].jsScreenWindowHandle; - } - } - if (handle !== null) { - var values = { group: group, handle: handle }; - barcodescanner.getInstance().startRead(result.callbackId, values); - // result.noResult(true); // calls the error handler for some reason - } else { - result.error("Failed to find window handle", false); - } - }, - - encode: function (success, fail, args, env) { - - } -}; - - -JNEXT.BarcodeScanner = function () { - var self = this, - hasInstance = false; - - self.getId = function () { - return self.m_id; - }; - - self.init = function () { - if (!JNEXT.require("libBarcodeScanner")) { - return false; - } - - self.m_id = JNEXT.createObject("libBarcodeScanner.BarcodeScannerJS"); - - if (self.m_id === "") { - return false; - } - - JNEXT.registerEvents(self); - }; - - // ************************ - // Enter your methods here - // ************************ - - // Fired by the Event framework (used by asynchronous callbacks) - - self.onEvent = function (strData) { - var arData = strData.split(" "), - callbackId = arData[0], - receivedEvent = arData[1], - data = arData[2], - result = resultObjs[callbackId], - events = ["community.barcodescanner.codefound.native", - "community.barcodescanner.errorfound.native", - "community.barcodescanner.started.native", - "community.barcodescanner.ended.native"]; - - // Restructures results when codefound has spaces - if(arData.length > 3){ - var i; - for(i=3; i - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/.settings/com.qnx.tools.ide.core.prefs b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/.settings/com.qnx.tools.ide.core.prefs deleted file mode 100644 index 5227f00..0000000 --- a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/.settings/com.qnx.tools.ide.core.prefs +++ /dev/null @@ -1,2 +0,0 @@ -QNX_CURRENT_INSTALL=BlackBerry Native SDK 10.2 -eclipse.preferences.version=1 diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/device/.gitignore b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/device/.gitignore deleted file mode 100644 index 1209638..0000000 --- a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/device/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/src -/public diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/device/libBarcodeScanner.so b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/device/libBarcodeScanner.so deleted file mode 100755 index bd8a3af65001351df23dd0755b000da0610bdcc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 270830 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%0AZRi+JW9#yBSl>nMlM_<+5t$`kV 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�IbA30 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 diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/autolink.h b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/autolink.h deleted file mode 100644 index 37c9258..0000000 --- a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/autolink.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef JSON_AUTOLINK_H_INCLUDED -# define JSON_AUTOLINK_H_INCLUDED - -# include "config.h" - -# ifdef JSON_IN_CPPTL -# include -# endif - -# if !defined(JSON_NO_AUTOLINK) && !defined(JSON_DLL_BUILD) && !defined(JSON_IN_CPPTL) -# define CPPTL_AUTOLINK_NAME "json" -# undef CPPTL_AUTOLINK_DLL -# ifdef JSON_DLL -# define CPPTL_AUTOLINK_DLL -# endif -# include "autolink.h" -# endif - -#endif // JSON_AUTOLINK_H_INCLUDED diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/config.h b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/config.h deleted file mode 100644 index 5d334cb..0000000 --- a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/config.h +++ /dev/null @@ -1,43 +0,0 @@ -#ifndef JSON_CONFIG_H_INCLUDED -# define JSON_CONFIG_H_INCLUDED - -/// If defined, indicates that json library is embedded in CppTL library. -//# define JSON_IN_CPPTL 1 - -/// If defined, indicates that json may leverage CppTL library -//# define JSON_USE_CPPTL 1 -/// If defined, indicates that cpptl vector based map should be used instead of std::map -/// as Value container. -//# define JSON_USE_CPPTL_SMALLMAP 1 -/// If defined, indicates that Json specific container should be used -/// (hash table & simple deque container with customizable allocator). -/// THIS FEATURE IS STILL EXPERIMENTAL! -//# define JSON_VALUE_USE_INTERNAL_MAP 1 -/// Force usage of standard new/malloc based allocator instead of memory pool based allocator. -/// The memory pools allocator used optimization (initializing Value and ValueInternalLink -/// as if it was a POD) that may cause some validation tool to report errors. -/// Only has effects if JSON_VALUE_USE_INTERNAL_MAP is defined. -//# define JSON_USE_SIMPLE_INTERNAL_ALLOCATOR 1 - -/// If defined, indicates that Json use exception to report invalid type manipulation -/// instead of C assert macro. -# define JSON_USE_EXCEPTION 1 - -# ifdef JSON_IN_CPPTL -# include -# ifndef JSON_USE_CPPTL -# define JSON_USE_CPPTL 1 -# endif -# endif - -# ifdef JSON_IN_CPPTL -# define JSON_API CPPTL_API -# elif defined(JSON_DLL_BUILD) -# define JSON_API __declspec(dllexport) -# elif defined(JSON_DLL) -# define JSON_API __declspec(dllimport) -# else -# define JSON_API -# endif - -#endif // JSON_CONFIG_H_INCLUDED diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/features.h b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/features.h deleted file mode 100644 index 5a9adec..0000000 --- a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/features.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef CPPTL_JSON_FEATURES_H_INCLUDED -# define CPPTL_JSON_FEATURES_H_INCLUDED - -# include "forwards.h" - -namespace Json { - - /** \brief Configuration passed to reader and writer. - * This configuration object can be used to force the Reader or Writer - * to behave in a standard conforming way. - */ - class JSON_API Features - { - public: - /** \brief A configuration that allows all features and assumes all strings are UTF-8. - * - C & C++ comments are allowed - * - Root object can be any JSON value - * - Assumes Value strings are encoded in UTF-8 - */ - static Features all(); - - /** \brief A configuration that is strictly compatible with the JSON specification. - * - Comments are forbidden. - * - Root object must be either an array or an object value. - * - Assumes Value strings are encoded in UTF-8 - */ - static Features strictMode(); - - /** \brief Initialize the configuration like JsonConfig::allFeatures; - */ - Features(); - - /// \c true if comments are allowed. Default: \c true. - bool allowComments_; - - /// \c true if root must be either an array or an object value. Default: \c false. - bool strictRoot_; - }; - -} // namespace Json - -#endif // CPPTL_JSON_FEATURES_H_INCLUDED diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/forwards.h b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/forwards.h deleted file mode 100644 index d0ce830..0000000 --- a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/forwards.h +++ /dev/null @@ -1,39 +0,0 @@ -#ifndef JSON_FORWARDS_H_INCLUDED -# define JSON_FORWARDS_H_INCLUDED - -# include "config.h" - -namespace Json { - - // writer.h - class FastWriter; - class StyledWriter; - - // reader.h - class Reader; - - // features.h - class Features; - - // value.h - typedef int Int; - typedef unsigned int UInt; - class StaticString; - class Path; - class PathArgument; - class Value; - class ValueIteratorBase; - class ValueIterator; - class ValueConstIterator; -#ifdef JSON_VALUE_USE_INTERNAL_MAP - class ValueAllocator; - class ValueMapAllocator; - class ValueInternalLink; - class ValueInternalArray; - class ValueInternalMap; -#endif // #ifdef JSON_VALUE_USE_INTERNAL_MAP - -} // namespace Json - - -#endif // JSON_FORWARDS_H_INCLUDED diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/json.h b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/json.h deleted file mode 100644 index c71ed65..0000000 --- a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/json.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef JSON_JSON_H_INCLUDED -# define JSON_JSON_H_INCLUDED - -# include "autolink.h" -# include "value.h" -# include "reader.h" -# include "writer.h" -# include "features.h" - -#endif // JSON_JSON_H_INCLUDED diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/reader.h b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/reader.h deleted file mode 100644 index ee1d6a2..0000000 --- a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/reader.h +++ /dev/null @@ -1,196 +0,0 @@ -#ifndef CPPTL_JSON_READER_H_INCLUDED -# define CPPTL_JSON_READER_H_INCLUDED - -# include "features.h" -# include "value.h" -# include -# include -# include -# include - -namespace Json { - - /** \brief Unserialize a JSON document into a Value. - * - */ - class JSON_API Reader - { - public: - typedef char Char; - typedef const Char *Location; - - /** \brief Constructs a Reader allowing all features - * for parsing. - */ - Reader(); - - /** \brief Constructs a Reader allowing the specified feature set - * for parsing. - */ - Reader( const Features &features ); - - /** \brief Read a Value from a JSON document. - * \param document UTF-8 encoded string containing the document to read. - * \param root [out] Contains the root value of the document if it was - * successfully parsed. - * \param collectComments \c true to collect comment and allow writing them back during - * serialization, \c false to discard comments. - * This parameter is ignored if Features::allowComments_ - * is \c false. - * \return \c true if the document was successfully parsed, \c false if an error occurred. - */ - bool parse( const std::string &document, - Value &root, - bool collectComments = true ); - - /** \brief Read a Value from a JSON document. - * \param document UTF-8 encoded string containing the document to read. - * \param root [out] Contains the root value of the document if it was - * successfully parsed. - * \param collectComments \c true to collect comment and allow writing them back during - * serialization, \c false to discard comments. - * This parameter is ignored if Features::allowComments_ - * is \c false. - * \return \c true if the document was successfully parsed, \c false if an error occurred. - */ - bool parse( const char *beginDoc, const char *endDoc, - Value &root, - bool collectComments = true ); - - /// \brief Parse from input stream. - /// \see Json::operator>>(std::istream&, Json::Value&). - bool parse( std::istream &is, - Value &root, - bool collectComments = true ); - - /** \brief Returns a user friendly string that list errors in the parsed document. - * \return Formatted error message with the list of errors with their location in - * the parsed document. An empty string is returned if no error occurred - * during parsing. - */ - std::string getFormatedErrorMessages() const; - - private: - enum TokenType - { - tokenEndOfStream = 0, - tokenObjectBegin, - tokenObjectEnd, - tokenArrayBegin, - tokenArrayEnd, - tokenString, - tokenNumber, - tokenTrue, - tokenFalse, - tokenNull, - tokenArraySeparator, - tokenMemberSeparator, - tokenComment, - tokenError - }; - - class Token - { - public: - TokenType type_; - Location start_; - Location end_; - }; - - class ErrorInfo - { - public: - Token token_; - std::string message_; - Location extra_; - }; - - typedef std::deque Errors; - - bool expectToken( TokenType type, Token &token, const char *message ); - bool readToken( Token &token ); - void skipSpaces(); - bool match( Location pattern, - int patternLength ); - bool readComment(); - bool readCStyleComment(); - bool readCppStyleComment(); - bool readString(); - void readNumber(); - bool readValue(); - bool readObject( Token &token ); - bool readArray( Token &token ); - bool decodeNumber( Token &token ); - bool decodeString( Token &token ); - bool decodeString( Token &token, std::string &decoded ); - bool decodeDouble( Token &token ); - bool decodeUnicodeCodePoint( Token &token, - Location ¤t, - Location end, - unsigned int &unicode ); - bool decodeUnicodeEscapeSequence( Token &token, - Location ¤t, - Location end, - unsigned int &unicode ); - bool addError( const std::string &message, - Token &token, - Location extra = 0 ); - bool recoverFromError( TokenType skipUntilToken ); - bool addErrorAndRecover( const std::string &message, - Token &token, - TokenType skipUntilToken ); - void skipUntilSpace(); - Value ¤tValue(); - Char getNextChar(); - void getLocationLineAndColumn( Location location, - int &line, - int &column ) const; - std::string getLocationLineAndColumn( Location location ) const; - void addComment( Location begin, - Location end, - CommentPlacement placement ); - void skipCommentTokens( Token &token ); - - typedef std::stack Nodes; - Nodes nodes_; - Errors errors_; - std::string document_; - Location begin_; - Location end_; - Location current_; - Location lastValueEnd_; - Value *lastValue_; - std::string commentsBefore_; - Features features_; - bool collectComments_; - }; - - /** \brief Read from 'sin' into 'root'. - - Always keep comments from the input JSON. - - This can be used to read a file into a particular sub-object. - For example: - \code - Json::Value root; - cin >> root["dir"]["file"]; - cout << root; - \endcode - Result: - \verbatim - { - "dir": { - "file": { - // The input stream JSON would be nested here. - } - } - } - \endverbatim - \throw std::exception on parse error. - \see Json::operator<<() - */ - std::istream& operator>>( std::istream&, Value& ); - -} // namespace Json - -#endif // CPPTL_JSON_READER_H_INCLUDED diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/value.h b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/value.h deleted file mode 100644 index 58bfd88..0000000 --- a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/value.h +++ /dev/null @@ -1,1069 +0,0 @@ -#ifndef CPPTL_JSON_H_INCLUDED -# define CPPTL_JSON_H_INCLUDED - -# include "forwards.h" -# include -# include - -# ifndef JSON_USE_CPPTL_SMALLMAP -# include -# else -# include -# endif -# ifdef JSON_USE_CPPTL -# include -# endif - -/** \brief JSON (JavaScript Object Notation). - */ -namespace Json { - - /** \brief Type of the value held by a Value object. - */ - enum ValueType - { - nullValue = 0, ///< 'null' value - intValue, ///< signed integer value - uintValue, ///< unsigned integer value - realValue, ///< double value - stringValue, ///< UTF-8 string value - booleanValue, ///< bool value - arrayValue, ///< array value (ordered list) - objectValue ///< object value (collection of name/value pairs). - }; - - enum CommentPlacement - { - commentBefore = 0, ///< a comment placed on the line before a value - commentAfterOnSameLine, ///< a comment just after a value on the same line - commentAfter, ///< a comment on the line after a value (only make sense for root value) - numberOfCommentPlacement - }; - -//# ifdef JSON_USE_CPPTL -// typedef CppTL::AnyEnumerator EnumMemberNames; -// typedef CppTL::AnyEnumerator EnumValues; -//# endif - - /** \brief Lightweight wrapper to tag static string. - * - * Value constructor and objectValue member assignement takes advantage of the - * StaticString and avoid the cost of string duplication when storing the - * string or the member name. - * - * Example of usage: - * \code - * Json::Value aValue( StaticString("some text") ); - * Json::Value object; - * static const StaticString code("code"); - * object[code] = 1234; - * \endcode - */ - class JSON_API StaticString - { - public: - explicit StaticString( const char *czstring ) - : str_( czstring ) - { - } - - operator const char *() const - { - return str_; - } - - const char *c_str() const - { - return str_; - } - - private: - const char *str_; - }; - - /** \brief Represents a JSON value. - * - * This class is a discriminated union wrapper that can represents a: - * - signed integer [range: Value::minInt - Value::maxInt] - * - unsigned integer (range: 0 - Value::maxUInt) - * - double - * - UTF-8 string - * - boolean - * - 'null' - * - an ordered list of Value - * - collection of name/value pairs (javascript object) - * - * The type of the held value is represented by a #ValueType and - * can be obtained using type(). - * - * values of an #objectValue or #arrayValue can be accessed using operator[]() methods. - * Non const methods will automatically create the a #nullValue element - * if it does not exist. - * The sequence of an #arrayValue will be automatically resize and initialized - * with #nullValue. resize() can be used to enlarge or truncate an #arrayValue. - * - * The get() methods can be used to obtanis default value in the case the required element - * does not exist. - * - * It is possible to iterate over the list of a #objectValue values using - * the getMemberNames() method. - */ - class JSON_API Value - { - friend class ValueIteratorBase; -# ifdef JSON_VALUE_USE_INTERNAL_MAP - friend class ValueInternalLink; - friend class ValueInternalMap; -# endif - public: - typedef std::vector Members; - typedef ValueIterator iterator; - typedef ValueConstIterator const_iterator; - typedef Json::UInt UInt; - typedef Json::Int Int; - typedef UInt ArrayIndex; - - static const Value null; - static const Int minInt; - static const Int maxInt; - static const UInt maxUInt; - - private: -#ifndef JSONCPP_DOC_EXCLUDE_IMPLEMENTATION -# ifndef JSON_VALUE_USE_INTERNAL_MAP - class CZString - { - public: - enum DuplicationPolicy - { - noDuplication = 0, - duplicate, - duplicateOnCopy - }; - CZString( int index ); - CZString( const char *cstr, DuplicationPolicy allocate ); - CZString( const CZString &other ); - ~CZString(); - CZString &operator =( const CZString &other ); - bool operator<( const CZString &other ) const; - bool operator==( const CZString &other ) const; - int index() const; - const char *c_str() const; - bool isStaticString() const; - private: - void swap( CZString &other ); - const char *cstr_; - int index_; - }; - - public: -# ifndef JSON_USE_CPPTL_SMALLMAP - typedef std::map ObjectValues; -# else - typedef CppTL::SmallMap ObjectValues; -# endif // ifndef JSON_USE_CPPTL_SMALLMAP -# endif // ifndef JSON_VALUE_USE_INTERNAL_MAP -#endif // ifndef JSONCPP_DOC_EXCLUDE_IMPLEMENTATION - - public: - /** \brief Create a default Value of the given type. - - This is a very useful constructor. - To create an empty array, pass arrayValue. - To create an empty object, pass objectValue. - Another Value can then be set to this one by assignment. - This is useful since clear() and resize() will not alter types. - - Examples: - \code - Json::Value null_value; // null - Json::Value arr_value(Json::arrayValue); // [] - Json::Value obj_value(Json::objectValue); // {} - \endcode - */ - Value( ValueType type = nullValue ); - Value( Int value ); - Value( UInt value ); - Value( double value ); - Value( const char *value ); - Value( const char *beginValue, const char *endValue ); - /** \brief Constructs a value from a static string. - - * Like other value string constructor but do not duplicate the string for - * internal storage. The given string must remain alive after the call to this - * constructor. - * Example of usage: - * \code - * Json::Value aValue( StaticString("some text") ); - * \endcode - */ - Value( const StaticString &value ); - Value( const std::string &value ); -# ifdef JSON_USE_CPPTL - Value( const CppTL::ConstString &value ); -# endif - Value( bool value ); - Value( const Value &other ); - ~Value(); - - Value &operator=( const Value &other ); - /// Swap values. - /// \note Currently, comments are intentionally not swapped, for - /// both logic and efficiency. - void swap( Value &other ); - - ValueType type() const; - - bool operator <( const Value &other ) const; - bool operator <=( const Value &other ) const; - bool operator >=( const Value &other ) const; - bool operator >( const Value &other ) const; - - bool operator ==( const Value &other ) const; - bool operator !=( const Value &other ) const; - - int compare( const Value &other ); - - const char *asCString() const; - std::string asString() const; -# ifdef JSON_USE_CPPTL - CppTL::ConstString asConstString() const; -# endif - Int asInt() const; - UInt asUInt() const; - double asDouble() const; - bool asBool() const; - - bool isNull() const; - bool isBool() const; - bool isInt() const; - bool isUInt() const; - bool isIntegral() const; - bool isDouble() const; - bool isNumeric() const; - bool isString() const; - bool isArray() const; - bool isObject() const; - - bool isConvertibleTo( ValueType other ) const; - - /// Number of values in array or object - UInt size() const; - - /// \brief Return true if empty array, empty object, or null; - /// otherwise, false. - bool empty() const; - - /// Return isNull() - bool operator!() const; - - /// Remove all object members and array elements. - /// \pre type() is arrayValue, objectValue, or nullValue - /// \post type() is unchanged - void clear(); - - /// Resize the array to size elements. - /// New elements are initialized to null. - /// May only be called on nullValue or arrayValue. - /// \pre type() is arrayValue or nullValue - /// \post type() is arrayValue - void resize( UInt size ); - - /// Access an array element (zero based index ). - /// If the array contains less than index element, then null value are inserted - /// in the array so that its size is index+1. - /// (You may need to say 'value[0u]' to get your compiler to distinguish - /// this from the operator[] which takes a string.) - Value &operator[]( UInt index ); - /// Access an array element (zero based index ) - /// (You may need to say 'value[0u]' to get your compiler to distinguish - /// this from the operator[] which takes a string.) - const Value &operator[]( UInt index ) const; - /// If the array contains at least index+1 elements, returns the element value, - /// otherwise returns defaultValue. - Value get( UInt index, - const Value &defaultValue ) const; - /// Return true if index < size(). - bool isValidIndex( UInt index ) const; - /// \brief Append value to array at the end. - /// - /// Equivalent to jsonvalue[jsonvalue.size()] = value; - Value &append( const Value &value ); - - /// Access an object value by name, create a null member if it does not exist. - Value &operator[]( const char *key ); - /// Access an object value by name, returns null if there is no member with that name. - const Value &operator[]( const char *key ) const; - /// Access an object value by name, create a null member if it does not exist. - Value &operator[]( const std::string &key ); - /// Access an object value by name, returns null if there is no member with that name. - const Value &operator[]( const std::string &key ) const; - /** \brief Access an object value by name, create a null member if it does not exist. - - * If the object as no entry for that name, then the member name used to store - * the new entry is not duplicated. - * Example of use: - * \code - * Json::Value object; - * static const StaticString code("code"); - * object[code] = 1234; - * \endcode - */ - Value &operator[]( const StaticString &key ); -# ifdef JSON_USE_CPPTL - /// Access an object value by name, create a null member if it does not exist. - Value &operator[]( const CppTL::ConstString &key ); - /// Access an object value by name, returns null if there is no member with that name. - const Value &operator[]( const CppTL::ConstString &key ) const; -# endif - /// Return the member named key if it exist, defaultValue otherwise. - Value get( const char *key, - const Value &defaultValue ) const; - /// Return the member named key if it exist, defaultValue otherwise. - Value get( const std::string &key, - const Value &defaultValue ) const; -# ifdef JSON_USE_CPPTL - /// Return the member named key if it exist, defaultValue otherwise. - Value get( const CppTL::ConstString &key, - const Value &defaultValue ) const; -# endif - /// \brief Remove and return the named member. - /// - /// Do nothing if it did not exist. - /// \return the removed Value, or null. - /// \pre type() is objectValue or nullValue - /// \post type() is unchanged - Value removeMember( const char* key ); - /// Same as removeMember(const char*) - Value removeMember( const std::string &key ); - - /// Return true if the object has a member named key. - bool isMember( const char *key ) const; - /// Return true if the object has a member named key. - bool isMember( const std::string &key ) const; -# ifdef JSON_USE_CPPTL - /// Return true if the object has a member named key. - bool isMember( const CppTL::ConstString &key ) const; -# endif - - /// \brief Return a list of the member names. - /// - /// If null, return an empty list. - /// \pre type() is objectValue or nullValue - /// \post if type() was nullValue, it remains nullValue - Members getMemberNames() const; - -//# ifdef JSON_USE_CPPTL -// EnumMemberNames enumMemberNames() const; -// EnumValues enumValues() const; -//# endif - - /// Comments must be //... or /* ... */ - void setComment( const char *comment, - CommentPlacement placement ); - /// Comments must be //... or /* ... */ - void setComment( const std::string &comment, - CommentPlacement placement ); - bool hasComment( CommentPlacement placement ) const; - /// Include delimiters and embedded newlines. - std::string getComment( CommentPlacement placement ) const; - - std::string toStyledString() const; - - const_iterator begin() const; - const_iterator end() const; - - iterator begin(); - iterator end(); - - private: - Value &resolveReference( const char *key, - bool isStatic ); - -# ifdef JSON_VALUE_USE_INTERNAL_MAP - inline bool isItemAvailable() const - { - return itemIsUsed_ == 0; - } - - inline void setItemUsed( bool isUsed = true ) - { - itemIsUsed_ = isUsed ? 1 : 0; - } - - inline bool isMemberNameStatic() const - { - return memberNameIsStatic_ == 0; - } - - inline void setMemberNameIsStatic( bool isStatic ) - { - memberNameIsStatic_ = isStatic ? 1 : 0; - } -# endif // # ifdef JSON_VALUE_USE_INTERNAL_MAP - - private: - struct CommentInfo - { - CommentInfo(); - ~CommentInfo(); - - void setComment( const char *text ); - - char *comment_; - }; - - //struct MemberNamesTransform - //{ - // typedef const char *result_type; - // const char *operator()( const CZString &name ) const - // { - // return name.c_str(); - // } - //}; - - union ValueHolder - { - Int int_; - UInt uint_; - double real_; - bool bool_; - char *string_; -# ifdef JSON_VALUE_USE_INTERNAL_MAP - ValueInternalArray *array_; - ValueInternalMap *map_; -#else - ObjectValues *map_; -# endif - } value_; - ValueType type_ : 8; - int allocated_ : 1; // Notes: if declared as bool, bitfield is useless. -# ifdef JSON_VALUE_USE_INTERNAL_MAP - unsigned int itemIsUsed_ : 1; // used by the ValueInternalMap container. - int memberNameIsStatic_ : 1; // used by the ValueInternalMap container. -# endif - CommentInfo *comments_; - }; - - - /** \brief Experimental and untested: represents an element of the "path" to access a node. - */ - class PathArgument - { - public: - friend class Path; - - PathArgument(); - PathArgument( UInt index ); - PathArgument( const char *key ); - PathArgument( const std::string &key ); - - private: - enum Kind - { - kindNone = 0, - kindIndex, - kindKey - }; - std::string key_; - UInt index_; - Kind kind_; - }; - - /** \brief Experimental and untested: represents a "path" to access a node. - * - * Syntax: - * - "." => root node - * - ".[n]" => elements at index 'n' of root node (an array value) - * - ".name" => member named 'name' of root node (an object value) - * - ".name1.name2.name3" - * - ".[0][1][2].name1[3]" - * - ".%" => member name is provided as parameter - * - ".[%]" => index is provied as parameter - */ - class Path - { - public: - Path( const std::string &path, - const PathArgument &a1 = PathArgument(), - const PathArgument &a2 = PathArgument(), - const PathArgument &a3 = PathArgument(), - const PathArgument &a4 = PathArgument(), - const PathArgument &a5 = PathArgument() ); - - const Value &resolve( const Value &root ) const; - Value resolve( const Value &root, - const Value &defaultValue ) const; - /// Creates the "path" to access the specified node and returns a reference on the node. - Value &make( Value &root ) const; - - private: - typedef std::vector InArgs; - typedef std::vector Args; - - void makePath( const std::string &path, - const InArgs &in ); - void addPathInArg( const std::string &path, - const InArgs &in, - InArgs::const_iterator &itInArg, - PathArgument::Kind kind ); - void invalidPath( const std::string &path, - int location ); - - Args args_; - }; - - /** \brief Experimental do not use: Allocator to customize member name and string value memory management done by Value. - * - * - makeMemberName() and releaseMemberName() are called to respectively duplicate and - * free an Json::objectValue member name. - * - duplicateStringValue() and releaseStringValue() are called similarly to - * duplicate and free a Json::stringValue value. - */ - class ValueAllocator - { - public: - enum { unknown = (unsigned)-1 }; - - virtual ~ValueAllocator(); - - virtual char *makeMemberName( const char *memberName ) = 0; - virtual void releaseMemberName( char *memberName ) = 0; - virtual char *duplicateStringValue( const char *value, - unsigned int length = unknown ) = 0; - virtual void releaseStringValue( char *value ) = 0; - }; - -#ifdef JSON_VALUE_USE_INTERNAL_MAP - /** \brief Allocator to customize Value internal map. - * Below is an example of a simple implementation (default implementation actually - * use memory pool for speed). - * \code - class DefaultValueMapAllocator : public ValueMapAllocator - { - public: // overridden from ValueMapAllocator - virtual ValueInternalMap *newMap() - { - return new ValueInternalMap(); - } - - virtual ValueInternalMap *newMapCopy( const ValueInternalMap &other ) - { - return new ValueInternalMap( other ); - } - - virtual void destructMap( ValueInternalMap *map ) - { - delete map; - } - - virtual ValueInternalLink *allocateMapBuckets( unsigned int size ) - { - return new ValueInternalLink[size]; - } - - virtual void releaseMapBuckets( ValueInternalLink *links ) - { - delete [] links; - } - - virtual ValueInternalLink *allocateMapLink() - { - return new ValueInternalLink(); - } - - virtual void releaseMapLink( ValueInternalLink *link ) - { - delete link; - } - }; - * \endcode - */ - class JSON_API ValueMapAllocator - { - public: - virtual ~ValueMapAllocator(); - virtual ValueInternalMap *newMap() = 0; - virtual ValueInternalMap *newMapCopy( const ValueInternalMap &other ) = 0; - virtual void destructMap( ValueInternalMap *map ) = 0; - virtual ValueInternalLink *allocateMapBuckets( unsigned int size ) = 0; - virtual void releaseMapBuckets( ValueInternalLink *links ) = 0; - virtual ValueInternalLink *allocateMapLink() = 0; - virtual void releaseMapLink( ValueInternalLink *link ) = 0; - }; - - /** \brief ValueInternalMap hash-map bucket chain link (for internal use only). - * \internal previous_ & next_ allows for bidirectional traversal. - */ - class JSON_API ValueInternalLink - { - public: - enum { itemPerLink = 6 }; // sizeof(ValueInternalLink) = 128 on 32 bits architecture. - enum InternalFlags { - flagAvailable = 0, - flagUsed = 1 - }; - - ValueInternalLink(); - - ~ValueInternalLink(); - - Value items_[itemPerLink]; - char *keys_[itemPerLink]; - ValueInternalLink *previous_; - ValueInternalLink *next_; - }; - - - /** \brief A linked page based hash-table implementation used internally by Value. - * \internal ValueInternalMap is a tradional bucket based hash-table, with a linked - * list in each bucket to handle collision. There is an addional twist in that - * each node of the collision linked list is a page containing a fixed amount of - * value. This provides a better compromise between memory usage and speed. - * - * Each bucket is made up of a chained list of ValueInternalLink. The last - * link of a given bucket can be found in the 'previous_' field of the following bucket. - * The last link of the last bucket is stored in tailLink_ as it has no following bucket. - * Only the last link of a bucket may contains 'available' item. The last link always - * contains at least one element unless is it the bucket one very first link. - */ - class JSON_API ValueInternalMap - { - friend class ValueIteratorBase; - friend class Value; - public: - typedef unsigned int HashKey; - typedef unsigned int BucketIndex; - -# ifndef JSONCPP_DOC_EXCLUDE_IMPLEMENTATION - struct IteratorState - { - IteratorState() - : map_(0) - , link_(0) - , itemIndex_(0) - , bucketIndex_(0) - { - } - ValueInternalMap *map_; - ValueInternalLink *link_; - BucketIndex itemIndex_; - BucketIndex bucketIndex_; - }; -# endif // ifndef JSONCPP_DOC_EXCLUDE_IMPLEMENTATION - - ValueInternalMap(); - ValueInternalMap( const ValueInternalMap &other ); - ValueInternalMap &operator =( const ValueInternalMap &other ); - ~ValueInternalMap(); - - void swap( ValueInternalMap &other ); - - BucketIndex size() const; - - void clear(); - - bool reserveDelta( BucketIndex growth ); - - bool reserve( BucketIndex newItemCount ); - - const Value *find( const char *key ) const; - - Value *find( const char *key ); - - Value &resolveReference( const char *key, - bool isStatic ); - - void remove( const char *key ); - - void doActualRemove( ValueInternalLink *link, - BucketIndex index, - BucketIndex bucketIndex ); - - ValueInternalLink *&getLastLinkInBucket( BucketIndex bucketIndex ); - - Value &setNewItem( const char *key, - bool isStatic, - ValueInternalLink *link, - BucketIndex index ); - - Value &unsafeAdd( const char *key, - bool isStatic, - HashKey hashedKey ); - - HashKey hash( const char *key ) const; - - int compare( const ValueInternalMap &other ) const; - - private: - void makeBeginIterator( IteratorState &it ) const; - void makeEndIterator( IteratorState &it ) const; - static bool equals( const IteratorState &x, const IteratorState &other ); - static void increment( IteratorState &iterator ); - static void incrementBucket( IteratorState &iterator ); - static void decrement( IteratorState &iterator ); - static const char *key( const IteratorState &iterator ); - static const char *key( const IteratorState &iterator, bool &isStatic ); - static Value &value( const IteratorState &iterator ); - static int distance( const IteratorState &x, const IteratorState &y ); - - private: - ValueInternalLink *buckets_; - ValueInternalLink *tailLink_; - BucketIndex bucketsSize_; - BucketIndex itemCount_; - }; - - /** \brief A simplified deque implementation used internally by Value. - * \internal - * It is based on a list of fixed "page", each page contains a fixed number of items. - * Instead of using a linked-list, a array of pointer is used for fast item look-up. - * Look-up for an element is as follow: - * - compute page index: pageIndex = itemIndex / itemsPerPage - * - look-up item in page: pages_[pageIndex][itemIndex % itemsPerPage] - * - * Insertion is amortized constant time (only the array containing the index of pointers - * need to be reallocated when items are appended). - */ - class JSON_API ValueInternalArray - { - friend class Value; - friend class ValueIteratorBase; - public: - enum { itemsPerPage = 8 }; // should be a power of 2 for fast divide and modulo. - typedef Value::ArrayIndex ArrayIndex; - typedef unsigned int PageIndex; - -# ifndef JSONCPP_DOC_EXCLUDE_IMPLEMENTATION - struct IteratorState // Must be a POD - { - IteratorState() - : array_(0) - , currentPageIndex_(0) - , currentItemIndex_(0) - { - } - ValueInternalArray *array_; - Value **currentPageIndex_; - unsigned int currentItemIndex_; - }; -# endif // ifndef JSONCPP_DOC_EXCLUDE_IMPLEMENTATION - - ValueInternalArray(); - ValueInternalArray( const ValueInternalArray &other ); - ValueInternalArray &operator =( const ValueInternalArray &other ); - ~ValueInternalArray(); - void swap( ValueInternalArray &other ); - - void clear(); - void resize( ArrayIndex newSize ); - - Value &resolveReference( ArrayIndex index ); - - Value *find( ArrayIndex index ) const; - - ArrayIndex size() const; - - int compare( const ValueInternalArray &other ) const; - - private: - static bool equals( const IteratorState &x, const IteratorState &other ); - static void increment( IteratorState &iterator ); - static void decrement( IteratorState &iterator ); - static Value &dereference( const IteratorState &iterator ); - static Value &unsafeDereference( const IteratorState &iterator ); - static int distance( const IteratorState &x, const IteratorState &y ); - static ArrayIndex indexOf( const IteratorState &iterator ); - void makeBeginIterator( IteratorState &it ) const; - void makeEndIterator( IteratorState &it ) const; - void makeIterator( IteratorState &it, ArrayIndex index ) const; - - void makeIndexValid( ArrayIndex index ); - - Value **pages_; - ArrayIndex size_; - PageIndex pageCount_; - }; - - /** \brief Experimental: do not use. Allocator to customize Value internal array. - * Below is an example of a simple implementation (actual implementation use - * memory pool). - \code -class DefaultValueArrayAllocator : public ValueArrayAllocator -{ -public: // overridden from ValueArrayAllocator - virtual ~DefaultValueArrayAllocator() - { - } - - virtual ValueInternalArray *newArray() - { - return new ValueInternalArray(); - } - - virtual ValueInternalArray *newArrayCopy( const ValueInternalArray &other ) - { - return new ValueInternalArray( other ); - } - - virtual void destruct( ValueInternalArray *array ) - { - delete array; - } - - virtual void reallocateArrayPageIndex( Value **&indexes, - ValueInternalArray::PageIndex &indexCount, - ValueInternalArray::PageIndex minNewIndexCount ) - { - ValueInternalArray::PageIndex newIndexCount = (indexCount*3)/2 + 1; - if ( minNewIndexCount > newIndexCount ) - newIndexCount = minNewIndexCount; - void *newIndexes = realloc( indexes, sizeof(Value*) * newIndexCount ); - if ( !newIndexes ) - throw std::bad_alloc(); - indexCount = newIndexCount; - indexes = static_cast( newIndexes ); - } - virtual void releaseArrayPageIndex( Value **indexes, - ValueInternalArray::PageIndex indexCount ) - { - if ( indexes ) - free( indexes ); - } - - virtual Value *allocateArrayPage() - { - return static_cast( malloc( sizeof(Value) * ValueInternalArray::itemsPerPage ) ); - } - - virtual void releaseArrayPage( Value *value ) - { - if ( value ) - free( value ); - } -}; - \endcode - */ - class JSON_API ValueArrayAllocator - { - public: - virtual ~ValueArrayAllocator(); - virtual ValueInternalArray *newArray() = 0; - virtual ValueInternalArray *newArrayCopy( const ValueInternalArray &other ) = 0; - virtual void destructArray( ValueInternalArray *array ) = 0; - /** \brief Reallocate array page index. - * Reallocates an array of pointer on each page. - * \param indexes [input] pointer on the current index. May be \c NULL. - * [output] pointer on the new index of at least - * \a minNewIndexCount pages. - * \param indexCount [input] current number of pages in the index. - * [output] number of page the reallocated index can handle. - * \b MUST be >= \a minNewIndexCount. - * \param minNewIndexCount Minimum number of page the new index must be able to - * handle. - */ - virtual void reallocateArrayPageIndex( Value **&indexes, - ValueInternalArray::PageIndex &indexCount, - ValueInternalArray::PageIndex minNewIndexCount ) = 0; - virtual void releaseArrayPageIndex( Value **indexes, - ValueInternalArray::PageIndex indexCount ) = 0; - virtual Value *allocateArrayPage() = 0; - virtual void releaseArrayPage( Value *value ) = 0; - }; -#endif // #ifdef JSON_VALUE_USE_INTERNAL_MAP - - - /** \brief base class for Value iterators. - * - */ - class ValueIteratorBase - { - public: - typedef unsigned int size_t; - typedef int difference_type; - typedef ValueIteratorBase SelfType; - - ValueIteratorBase(); -#ifndef JSON_VALUE_USE_INTERNAL_MAP - explicit ValueIteratorBase( const Value::ObjectValues::iterator ¤t ); -#else - ValueIteratorBase( const ValueInternalArray::IteratorState &state ); - ValueIteratorBase( const ValueInternalMap::IteratorState &state ); -#endif - - bool operator ==( const SelfType &other ) const - { - return isEqual( other ); - } - - bool operator !=( const SelfType &other ) const - { - return !isEqual( other ); - } - - difference_type operator -( const SelfType &other ) const - { - return computeDistance( other ); - } - - /// Return either the index or the member name of the referenced value as a Value. - Value key() const; - - /// Return the index of the referenced Value. -1 if it is not an arrayValue. - UInt index() const; - - /// Return the member name of the referenced Value. "" if it is not an objectValue. - const char *memberName() const; - - protected: - Value &deref() const; - - void increment(); - - void decrement(); - - difference_type computeDistance( const SelfType &other ) const; - - bool isEqual( const SelfType &other ) const; - - void copy( const SelfType &other ); - - private: -#ifndef JSON_VALUE_USE_INTERNAL_MAP - Value::ObjectValues::iterator current_; - // Indicates that iterator is for a null value. - bool isNull_; -#else - union - { - ValueInternalArray::IteratorState array_; - ValueInternalMap::IteratorState map_; - } iterator_; - bool isArray_; -#endif - }; - - /** \brief const iterator for object and array value. - * - */ - class ValueConstIterator : public ValueIteratorBase - { - friend class Value; - public: - typedef unsigned int size_t; - typedef int difference_type; - typedef const Value &reference; - typedef const Value *pointer; - typedef ValueConstIterator SelfType; - - ValueConstIterator(); - private: - /*! \internal Use by Value to create an iterator. - */ -#ifndef JSON_VALUE_USE_INTERNAL_MAP - explicit ValueConstIterator( const Value::ObjectValues::iterator ¤t ); -#else - ValueConstIterator( const ValueInternalArray::IteratorState &state ); - ValueConstIterator( const ValueInternalMap::IteratorState &state ); -#endif - public: - SelfType &operator =( const ValueIteratorBase &other ); - - SelfType operator++( int ) - { - SelfType temp( *this ); - ++*this; - return temp; - } - - SelfType operator--( int ) - { - SelfType temp( *this ); - --*this; - return temp; - } - - SelfType &operator--() - { - decrement(); - return *this; - } - - SelfType &operator++() - { - increment(); - return *this; - } - - reference operator *() const - { - return deref(); - } - }; - - - /** \brief Iterator for object and array value. - */ - class ValueIterator : public ValueIteratorBase - { - friend class Value; - public: - typedef unsigned int size_t; - typedef int difference_type; - typedef Value &reference; - typedef Value *pointer; - typedef ValueIterator SelfType; - - ValueIterator(); - ValueIterator( const ValueConstIterator &other ); - ValueIterator( const ValueIterator &other ); - private: - /*! \internal Use by Value to create an iterator. - */ -#ifndef JSON_VALUE_USE_INTERNAL_MAP - explicit ValueIterator( const Value::ObjectValues::iterator ¤t ); -#else - ValueIterator( const ValueInternalArray::IteratorState &state ); - ValueIterator( const ValueInternalMap::IteratorState &state ); -#endif - public: - - SelfType &operator =( const SelfType &other ); - - SelfType operator++( int ) - { - SelfType temp( *this ); - ++*this; - return temp; - } - - SelfType operator--( int ) - { - SelfType temp( *this ); - --*this; - return temp; - } - - SelfType &operator--() - { - decrement(); - return *this; - } - - SelfType &operator++() - { - increment(); - return *this; - } - - reference operator *() const - { - return deref(); - } - }; - - -} // namespace Json - - -#endif // CPPTL_JSON_H_INCLUDED diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/writer.h b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/writer.h deleted file mode 100644 index 5f4b83b..0000000 --- a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json/writer.h +++ /dev/null @@ -1,174 +0,0 @@ -#ifndef JSON_WRITER_H_INCLUDED -# define JSON_WRITER_H_INCLUDED - -# include "value.h" -# include -# include -# include - -namespace Json { - - class Value; - - /** \brief Abstract class for writers. - */ - class JSON_API Writer - { - public: - virtual ~Writer(); - - virtual std::string write( const Value &root ) = 0; - }; - - /** \brief Outputs a Value in JSON format without formatting (not human friendly). - * - * The JSON document is written in a single line. It is not intended for 'human' consumption, - * but may be usefull to support feature such as RPC where bandwith is limited. - * \sa Reader, Value - */ - class JSON_API FastWriter : public Writer - { - public: - FastWriter(); - virtual ~FastWriter(){} - - void enableYAMLCompatibility(); - - public: // overridden from Writer - virtual std::string write( const Value &root ); - - private: - void writeValue( const Value &value ); - - std::string document_; - bool yamlCompatiblityEnabled_; - }; - - /** \brief Writes a Value in JSON format in a human friendly way. - * - * The rules for line break and indent are as follow: - * - Object value: - * - if empty then print {} without indent and line break - * - if not empty the print '{', line break & indent, print one value per line - * and then unindent and line break and print '}'. - * - Array value: - * - if empty then print [] without indent and line break - * - if the array contains no object value, empty array or some other value types, - * and all the values fit on one lines, then print the array on a single line. - * - otherwise, it the values do not fit on one line, or the array contains - * object or non empty array, then print one value per line. - * - * If the Value have comments then they are outputed according to their #CommentPlacement. - * - * \sa Reader, Value, Value::setComment() - */ - class JSON_API StyledWriter: public Writer - { - public: - StyledWriter(); - virtual ~StyledWriter(){} - - public: // overridden from Writer - /** \brief Serialize a Value in JSON format. - * \param root Value to serialize. - * \return String containing the JSON document that represents the root value. - */ - virtual std::string write( const Value &root ); - - private: - void writeValue( const Value &value ); - void writeArrayValue( const Value &value ); - bool isMultineArray( const Value &value ); - void pushValue( const std::string &value ); - void writeIndent(); - void writeWithIndent( const std::string &value ); - void indent(); - void unindent(); - void writeCommentBeforeValue( const Value &root ); - void writeCommentAfterValueOnSameLine( const Value &root ); - bool hasCommentForValue( const Value &value ); - static std::string normalizeEOL( const std::string &text ); - - typedef std::vector ChildValues; - - ChildValues childValues_; - std::string document_; - std::string indentString_; - int rightMargin_; - int indentSize_; - bool addChildValues_; - }; - - /** \brief Writes a Value in JSON format in a human friendly way, - to a stream rather than to a string. - * - * The rules for line break and indent are as follow: - * - Object value: - * - if empty then print {} without indent and line break - * - if not empty the print '{', line break & indent, print one value per line - * and then unindent and line break and print '}'. - * - Array value: - * - if empty then print [] without indent and line break - * - if the array contains no object value, empty array or some other value types, - * and all the values fit on one lines, then print the array on a single line. - * - otherwise, it the values do not fit on one line, or the array contains - * object or non empty array, then print one value per line. - * - * If the Value have comments then they are outputed according to their #CommentPlacement. - * - * \param indentation Each level will be indented by this amount extra. - * \sa Reader, Value, Value::setComment() - */ - class JSON_API StyledStreamWriter - { - public: - StyledStreamWriter( std::string indentation="\t" ); - ~StyledStreamWriter(){} - - public: - /** \brief Serialize a Value in JSON format. - * \param out Stream to write to. (Can be ostringstream, e.g.) - * \param root Value to serialize. - * \note There is no point in deriving from Writer, since write() should not return a value. - */ - void write( std::ostream &out, const Value &root ); - - private: - void writeValue( const Value &value ); - void writeArrayValue( const Value &value ); - bool isMultineArray( const Value &value ); - void pushValue( const std::string &value ); - void writeIndent(); - void writeWithIndent( const std::string &value ); - void indent(); - void unindent(); - void writeCommentBeforeValue( const Value &root ); - void writeCommentAfterValueOnSameLine( const Value &root ); - bool hasCommentForValue( const Value &value ); - static std::string normalizeEOL( const std::string &text ); - - typedef std::vector ChildValues; - - ChildValues childValues_; - std::ostream* document_; - std::string indentString_; - int rightMargin_; - std::string indentation_; - bool addChildValues_; - }; - - std::string JSON_API valueToString( Int value ); - std::string JSON_API valueToString( UInt value ); - std::string JSON_API valueToString( double value ); - std::string JSON_API valueToString( bool value ); - std::string JSON_API valueToQuotedString( const char *value ); - - /// \brief Output using the StyledStreamWriter. - /// \see Json::operator>>() - std::ostream& operator<<( std::ostream&, const Value &root ); - -} // namespace Json - - - -#endif // JSON_WRITER_H_INCLUDED diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_batchallocator.h b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_batchallocator.h deleted file mode 100644 index 87ea5ed..0000000 --- a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_batchallocator.h +++ /dev/null @@ -1,125 +0,0 @@ -#ifndef JSONCPP_BATCHALLOCATOR_H_INCLUDED -# define JSONCPP_BATCHALLOCATOR_H_INCLUDED - -# include -# include - -# ifndef JSONCPP_DOC_EXCLUDE_IMPLEMENTATION - -namespace Json { - -/* Fast memory allocator. - * - * This memory allocator allocates memory for a batch of object (specified by - * the page size, the number of object in each page). - * - * It does not allow the destruction of a single object. All the allocated objects - * can be destroyed at once. The memory can be either released or reused for future - * allocation. - * - * The in-place new operator must be used to construct the object using the pointer - * returned by allocate. - */ -template -class BatchAllocator -{ -public: - typedef AllocatedType Type; - - BatchAllocator( unsigned int objectsPerPage = 255 ) - : freeHead_( 0 ) - , objectsPerPage_( objectsPerPage ) - { -// printf( "Size: %d => %s\n", sizeof(AllocatedType), typeid(AllocatedType).name() ); - assert( sizeof(AllocatedType) * objectPerAllocation >= sizeof(AllocatedType *) ); // We must be able to store a slist in the object free space. - assert( objectsPerPage >= 16 ); - batches_ = allocateBatch( 0 ); // allocated a dummy page - currentBatch_ = batches_; - } - - ~BatchAllocator() - { - for ( BatchInfo *batch = batches_; batch; ) - { - BatchInfo *nextBatch = batch->next_; - free( batch ); - batch = nextBatch; - } - } - - /// allocate space for an array of objectPerAllocation object. - /// @warning it is the responsability of the caller to call objects constructors. - AllocatedType *allocate() - { - if ( freeHead_ ) // returns node from free list. - { - AllocatedType *object = freeHead_; - freeHead_ = *(AllocatedType **)object; - return object; - } - if ( currentBatch_->used_ == currentBatch_->end_ ) - { - currentBatch_ = currentBatch_->next_; - while ( currentBatch_ && currentBatch_->used_ == currentBatch_->end_ ) - currentBatch_ = currentBatch_->next_; - - if ( !currentBatch_ ) // no free batch found, allocate a new one - { - currentBatch_ = allocateBatch( objectsPerPage_ ); - currentBatch_->next_ = batches_; // insert at the head of the list - batches_ = currentBatch_; - } - } - AllocatedType *allocated = currentBatch_->used_; - currentBatch_->used_ += objectPerAllocation; - return allocated; - } - - /// Release the object. - /// @warning it is the responsability of the caller to actually destruct the object. - void release( AllocatedType *object ) - { - assert( object != 0 ); - *(AllocatedType **)object = freeHead_; - freeHead_ = object; - } - -private: - struct BatchInfo - { - BatchInfo *next_; - AllocatedType *used_; - AllocatedType *end_; - AllocatedType buffer_[objectPerAllocation]; - }; - - // disabled copy constructor and assignement operator. - BatchAllocator( const BatchAllocator & ); - void operator =( const BatchAllocator &); - - static BatchInfo *allocateBatch( unsigned int objectsPerPage ) - { - const unsigned int mallocSize = sizeof(BatchInfo) - sizeof(AllocatedType)* objectPerAllocation - + sizeof(AllocatedType) * objectPerAllocation * objectsPerPage; - BatchInfo *batch = static_cast( malloc( mallocSize ) ); - batch->next_ = 0; - batch->used_ = batch->buffer_; - batch->end_ = batch->buffer_ + objectsPerPage; - return batch; - } - - BatchInfo *batches_; - BatchInfo *currentBatch_; - /// Head of a single linked list within the allocated space of freeed object - AllocatedType *freeHead_; - unsigned int objectsPerPage_; -}; - - -} // namespace Json - -# endif // ifndef JSONCPP_DOC_INCLUDE_IMPLEMENTATION - -#endif // JSONCPP_BATCHALLOCATOR_H_INCLUDED - diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_internalarray.inl b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_internalarray.inl deleted file mode 100644 index 9b985d2..0000000 --- a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_internalarray.inl +++ /dev/null @@ -1,448 +0,0 @@ -// included by json_value.cpp -// everything is within Json namespace - -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// -// class ValueInternalArray -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// - -ValueArrayAllocator::~ValueArrayAllocator() -{ -} - -// ////////////////////////////////////////////////////////////////// -// class DefaultValueArrayAllocator -// ////////////////////////////////////////////////////////////////// -#ifdef JSON_USE_SIMPLE_INTERNAL_ALLOCATOR -class DefaultValueArrayAllocator : public ValueArrayAllocator -{ -public: // overridden from ValueArrayAllocator - virtual ~DefaultValueArrayAllocator() - { - } - - virtual ValueInternalArray *newArray() - { - return new ValueInternalArray(); - } - - virtual ValueInternalArray *newArrayCopy( const ValueInternalArray &other ) - { - return new ValueInternalArray( other ); - } - - virtual void destructArray( ValueInternalArray *array ) - { - delete array; - } - - virtual void reallocateArrayPageIndex( Value **&indexes, - ValueInternalArray::PageIndex &indexCount, - ValueInternalArray::PageIndex minNewIndexCount ) - { - ValueInternalArray::PageIndex newIndexCount = (indexCount*3)/2 + 1; - if ( minNewIndexCount > newIndexCount ) - newIndexCount = minNewIndexCount; - void *newIndexes = realloc( indexes, sizeof(Value*) * newIndexCount ); - if ( !newIndexes ) - throw std::bad_alloc(); - indexCount = newIndexCount; - indexes = static_cast( newIndexes ); - } - virtual void releaseArrayPageIndex( Value **indexes, - ValueInternalArray::PageIndex indexCount ) - { - if ( indexes ) - free( indexes ); - } - - virtual Value *allocateArrayPage() - { - return static_cast( malloc( sizeof(Value) * ValueInternalArray::itemsPerPage ) ); - } - - virtual void releaseArrayPage( Value *value ) - { - if ( value ) - free( value ); - } -}; - -#else // #ifdef JSON_USE_SIMPLE_INTERNAL_ALLOCATOR -/// @todo make this thread-safe (lock when accessign batch allocator) -class DefaultValueArrayAllocator : public ValueArrayAllocator -{ -public: // overridden from ValueArrayAllocator - virtual ~DefaultValueArrayAllocator() - { - } - - virtual ValueInternalArray *newArray() - { - ValueInternalArray *array = arraysAllocator_.allocate(); - new (array) ValueInternalArray(); // placement new - return array; - } - - virtual ValueInternalArray *newArrayCopy( const ValueInternalArray &other ) - { - ValueInternalArray *array = arraysAllocator_.allocate(); - new (array) ValueInternalArray( other ); // placement new - return array; - } - - virtual void destructArray( ValueInternalArray *array ) - { - if ( array ) - { - array->~ValueInternalArray(); - arraysAllocator_.release( array ); - } - } - - virtual void reallocateArrayPageIndex( Value **&indexes, - ValueInternalArray::PageIndex &indexCount, - ValueInternalArray::PageIndex minNewIndexCount ) - { - ValueInternalArray::PageIndex newIndexCount = (indexCount*3)/2 + 1; - if ( minNewIndexCount > newIndexCount ) - newIndexCount = minNewIndexCount; - void *newIndexes = realloc( indexes, sizeof(Value*) * newIndexCount ); - if ( !newIndexes ) - throw std::bad_alloc(); - indexCount = newIndexCount; - indexes = static_cast( newIndexes ); - } - virtual void releaseArrayPageIndex( Value **indexes, - ValueInternalArray::PageIndex indexCount ) - { - if ( indexes ) - free( indexes ); - } - - virtual Value *allocateArrayPage() - { - return static_cast( pagesAllocator_.allocate() ); - } - - virtual void releaseArrayPage( Value *value ) - { - if ( value ) - pagesAllocator_.release( value ); - } -private: - BatchAllocator arraysAllocator_; - BatchAllocator pagesAllocator_; -}; -#endif // #ifdef JSON_USE_SIMPLE_INTERNAL_ALLOCATOR - -static ValueArrayAllocator *&arrayAllocator() -{ - static DefaultValueArrayAllocator defaultAllocator; - static ValueArrayAllocator *arrayAllocator = &defaultAllocator; - return arrayAllocator; -} - -static struct DummyArrayAllocatorInitializer { - DummyArrayAllocatorInitializer() - { - arrayAllocator(); // ensure arrayAllocator() statics are initialized before main(). - } -} dummyArrayAllocatorInitializer; - -// ////////////////////////////////////////////////////////////////// -// class ValueInternalArray -// ////////////////////////////////////////////////////////////////// -bool -ValueInternalArray::equals( const IteratorState &x, - const IteratorState &other ) -{ - return x.array_ == other.array_ - && x.currentItemIndex_ == other.currentItemIndex_ - && x.currentPageIndex_ == other.currentPageIndex_; -} - - -void -ValueInternalArray::increment( IteratorState &it ) -{ - JSON_ASSERT_MESSAGE( it.array_ && - (it.currentPageIndex_ - it.array_->pages_)*itemsPerPage + it.currentItemIndex_ - != it.array_->size_, - "ValueInternalArray::increment(): moving iterator beyond end" ); - ++(it.currentItemIndex_); - if ( it.currentItemIndex_ == itemsPerPage ) - { - it.currentItemIndex_ = 0; - ++(it.currentPageIndex_); - } -} - - -void -ValueInternalArray::decrement( IteratorState &it ) -{ - JSON_ASSERT_MESSAGE( it.array_ && it.currentPageIndex_ == it.array_->pages_ - && it.currentItemIndex_ == 0, - "ValueInternalArray::decrement(): moving iterator beyond end" ); - if ( it.currentItemIndex_ == 0 ) - { - it.currentItemIndex_ = itemsPerPage-1; - --(it.currentPageIndex_); - } - else - { - --(it.currentItemIndex_); - } -} - - -Value & -ValueInternalArray::unsafeDereference( const IteratorState &it ) -{ - return (*(it.currentPageIndex_))[it.currentItemIndex_]; -} - - -Value & -ValueInternalArray::dereference( const IteratorState &it ) -{ - JSON_ASSERT_MESSAGE( it.array_ && - (it.currentPageIndex_ - it.array_->pages_)*itemsPerPage + it.currentItemIndex_ - < it.array_->size_, - "ValueInternalArray::dereference(): dereferencing invalid iterator" ); - return unsafeDereference( it ); -} - -void -ValueInternalArray::makeBeginIterator( IteratorState &it ) const -{ - it.array_ = const_cast( this ); - it.currentItemIndex_ = 0; - it.currentPageIndex_ = pages_; -} - - -void -ValueInternalArray::makeIterator( IteratorState &it, ArrayIndex index ) const -{ - it.array_ = const_cast( this ); - it.currentItemIndex_ = index % itemsPerPage; - it.currentPageIndex_ = pages_ + index / itemsPerPage; -} - - -void -ValueInternalArray::makeEndIterator( IteratorState &it ) const -{ - makeIterator( it, size_ ); -} - - -ValueInternalArray::ValueInternalArray() - : pages_( 0 ) - , size_( 0 ) - , pageCount_( 0 ) -{ -} - - -ValueInternalArray::ValueInternalArray( const ValueInternalArray &other ) - : pages_( 0 ) - , pageCount_( 0 ) - , size_( other.size_ ) -{ - PageIndex minNewPages = other.size_ / itemsPerPage; - arrayAllocator()->reallocateArrayPageIndex( pages_, pageCount_, minNewPages ); - JSON_ASSERT_MESSAGE( pageCount_ >= minNewPages, - "ValueInternalArray::reserve(): bad reallocation" ); - IteratorState itOther; - other.makeBeginIterator( itOther ); - Value *value; - for ( ArrayIndex index = 0; index < size_; ++index, increment(itOther) ) - { - if ( index % itemsPerPage == 0 ) - { - PageIndex pageIndex = index / itemsPerPage; - value = arrayAllocator()->allocateArrayPage(); - pages_[pageIndex] = value; - } - new (value) Value( dereference( itOther ) ); - } -} - - -ValueInternalArray & -ValueInternalArray::operator =( const ValueInternalArray &other ) -{ - ValueInternalArray temp( other ); - swap( temp ); - return *this; -} - - -ValueInternalArray::~ValueInternalArray() -{ - // destroy all constructed items - IteratorState it; - IteratorState itEnd; - makeBeginIterator( it); - makeEndIterator( itEnd ); - for ( ; !equals(it,itEnd); increment(it) ) - { - Value *value = &dereference(it); - value->~Value(); - } - // release all pages - PageIndex lastPageIndex = size_ / itemsPerPage; - for ( PageIndex pageIndex = 0; pageIndex < lastPageIndex; ++pageIndex ) - arrayAllocator()->releaseArrayPage( pages_[pageIndex] ); - // release pages index - arrayAllocator()->releaseArrayPageIndex( pages_, pageCount_ ); -} - - -void -ValueInternalArray::swap( ValueInternalArray &other ) -{ - Value **tempPages = pages_; - pages_ = other.pages_; - other.pages_ = tempPages; - ArrayIndex tempSize = size_; - size_ = other.size_; - other.size_ = tempSize; - PageIndex tempPageCount = pageCount_; - pageCount_ = other.pageCount_; - other.pageCount_ = tempPageCount; -} - -void -ValueInternalArray::clear() -{ - ValueInternalArray dummy; - swap( dummy ); -} - - -void -ValueInternalArray::resize( ArrayIndex newSize ) -{ - if ( newSize == 0 ) - clear(); - else if ( newSize < size_ ) - { - IteratorState it; - IteratorState itEnd; - makeIterator( it, newSize ); - makeIterator( itEnd, size_ ); - for ( ; !equals(it,itEnd); increment(it) ) - { - Value *value = &dereference(it); - value->~Value(); - } - PageIndex pageIndex = (newSize + itemsPerPage - 1) / itemsPerPage; - PageIndex lastPageIndex = size_ / itemsPerPage; - for ( ; pageIndex < lastPageIndex; ++pageIndex ) - arrayAllocator()->releaseArrayPage( pages_[pageIndex] ); - size_ = newSize; - } - else if ( newSize > size_ ) - resolveReference( newSize ); -} - - -void -ValueInternalArray::makeIndexValid( ArrayIndex index ) -{ - // Need to enlarge page index ? - if ( index >= pageCount_ * itemsPerPage ) - { - PageIndex minNewPages = (index + 1) / itemsPerPage; - arrayAllocator()->reallocateArrayPageIndex( pages_, pageCount_, minNewPages ); - JSON_ASSERT_MESSAGE( pageCount_ >= minNewPages, "ValueInternalArray::reserve(): bad reallocation" ); - } - - // Need to allocate new pages ? - ArrayIndex nextPageIndex = - (size_ % itemsPerPage) != 0 ? size_ - (size_%itemsPerPage) + itemsPerPage - : size_; - if ( nextPageIndex <= index ) - { - PageIndex pageIndex = nextPageIndex / itemsPerPage; - PageIndex pageToAllocate = (index - nextPageIndex) / itemsPerPage + 1; - for ( ; pageToAllocate-- > 0; ++pageIndex ) - pages_[pageIndex] = arrayAllocator()->allocateArrayPage(); - } - - // Initialize all new entries - IteratorState it; - IteratorState itEnd; - makeIterator( it, size_ ); - size_ = index + 1; - makeIterator( itEnd, size_ ); - for ( ; !equals(it,itEnd); increment(it) ) - { - Value *value = &dereference(it); - new (value) Value(); // Construct a default value using placement new - } -} - -Value & -ValueInternalArray::resolveReference( ArrayIndex index ) -{ - if ( index >= size_ ) - makeIndexValid( index ); - return pages_[index/itemsPerPage][index%itemsPerPage]; -} - -Value * -ValueInternalArray::find( ArrayIndex index ) const -{ - if ( index >= size_ ) - return 0; - return &(pages_[index/itemsPerPage][index%itemsPerPage]); -} - -ValueInternalArray::ArrayIndex -ValueInternalArray::size() const -{ - return size_; -} - -int -ValueInternalArray::distance( const IteratorState &x, const IteratorState &y ) -{ - return indexOf(y) - indexOf(x); -} - - -ValueInternalArray::ArrayIndex -ValueInternalArray::indexOf( const IteratorState &iterator ) -{ - if ( !iterator.array_ ) - return ArrayIndex(-1); - return ArrayIndex( - (iterator.currentPageIndex_ - iterator.array_->pages_) * itemsPerPage - + iterator.currentItemIndex_ ); -} - - -int -ValueInternalArray::compare( const ValueInternalArray &other ) const -{ - int sizeDiff( size_ - other.size_ ); - if ( sizeDiff != 0 ) - return sizeDiff; - - for ( ArrayIndex index =0; index < size_; ++index ) - { - int diff = pages_[index/itemsPerPage][index%itemsPerPage].compare( - other.pages_[index/itemsPerPage][index%itemsPerPage] ); - if ( diff != 0 ) - return diff; - } - return 0; -} diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_internalmap.inl b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_internalmap.inl deleted file mode 100644 index 1977148..0000000 --- a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_internalmap.inl +++ /dev/null @@ -1,607 +0,0 @@ -// included by json_value.cpp -// everything is within Json namespace - -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// -// class ValueInternalMap -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// - -/** \internal MUST be safely initialized using memset( this, 0, sizeof(ValueInternalLink) ); - * This optimization is used by the fast allocator. - */ -ValueInternalLink::ValueInternalLink() - : previous_( 0 ) - , next_( 0 ) -{ -} - -ValueInternalLink::~ValueInternalLink() -{ - for ( int index =0; index < itemPerLink; ++index ) - { - if ( !items_[index].isItemAvailable() ) - { - if ( !items_[index].isMemberNameStatic() ) - free( keys_[index] ); - } - else - break; - } -} - - - -ValueMapAllocator::~ValueMapAllocator() -{ -} - -#ifdef JSON_USE_SIMPLE_INTERNAL_ALLOCATOR -class DefaultValueMapAllocator : public ValueMapAllocator -{ -public: // overridden from ValueMapAllocator - virtual ValueInternalMap *newMap() - { - return new ValueInternalMap(); - } - - virtual ValueInternalMap *newMapCopy( const ValueInternalMap &other ) - { - return new ValueInternalMap( other ); - } - - virtual void destructMap( ValueInternalMap *map ) - { - delete map; - } - - virtual ValueInternalLink *allocateMapBuckets( unsigned int size ) - { - return new ValueInternalLink[size]; - } - - virtual void releaseMapBuckets( ValueInternalLink *links ) - { - delete [] links; - } - - virtual ValueInternalLink *allocateMapLink() - { - return new ValueInternalLink(); - } - - virtual void releaseMapLink( ValueInternalLink *link ) - { - delete link; - } -}; -#else -/// @todo make this thread-safe (lock when accessign batch allocator) -class DefaultValueMapAllocator : public ValueMapAllocator -{ -public: // overridden from ValueMapAllocator - virtual ValueInternalMap *newMap() - { - ValueInternalMap *map = mapsAllocator_.allocate(); - new (map) ValueInternalMap(); // placement new - return map; - } - - virtual ValueInternalMap *newMapCopy( const ValueInternalMap &other ) - { - ValueInternalMap *map = mapsAllocator_.allocate(); - new (map) ValueInternalMap( other ); // placement new - return map; - } - - virtual void destructMap( ValueInternalMap *map ) - { - if ( map ) - { - map->~ValueInternalMap(); - mapsAllocator_.release( map ); - } - } - - virtual ValueInternalLink *allocateMapBuckets( unsigned int size ) - { - return new ValueInternalLink[size]; - } - - virtual void releaseMapBuckets( ValueInternalLink *links ) - { - delete [] links; - } - - virtual ValueInternalLink *allocateMapLink() - { - ValueInternalLink *link = linksAllocator_.allocate(); - memset( link, 0, sizeof(ValueInternalLink) ); - return link; - } - - virtual void releaseMapLink( ValueInternalLink *link ) - { - link->~ValueInternalLink(); - linksAllocator_.release( link ); - } -private: - BatchAllocator mapsAllocator_; - BatchAllocator linksAllocator_; -}; -#endif - -static ValueMapAllocator *&mapAllocator() -{ - static DefaultValueMapAllocator defaultAllocator; - static ValueMapAllocator *mapAllocator = &defaultAllocator; - return mapAllocator; -} - -static struct DummyMapAllocatorInitializer { - DummyMapAllocatorInitializer() - { - mapAllocator(); // ensure mapAllocator() statics are initialized before main(). - } -} dummyMapAllocatorInitializer; - - - -// h(K) = value * K >> w ; with w = 32 & K prime w.r.t. 2^32. - -/* -use linked list hash map. -buckets array is a container. -linked list element contains 6 key/values. (memory = (16+4) * 6 + 4 = 124) -value have extra state: valid, available, deleted -*/ - - -ValueInternalMap::ValueInternalMap() - : buckets_( 0 ) - , tailLink_( 0 ) - , bucketsSize_( 0 ) - , itemCount_( 0 ) -{ -} - - -ValueInternalMap::ValueInternalMap( const ValueInternalMap &other ) - : buckets_( 0 ) - , tailLink_( 0 ) - , bucketsSize_( 0 ) - , itemCount_( 0 ) -{ - reserve( other.itemCount_ ); - IteratorState it; - IteratorState itEnd; - other.makeBeginIterator( it ); - other.makeEndIterator( itEnd ); - for ( ; !equals(it,itEnd); increment(it) ) - { - bool isStatic; - const char *memberName = key( it, isStatic ); - const Value &aValue = value( it ); - resolveReference(memberName, isStatic) = aValue; - } -} - - -ValueInternalMap & -ValueInternalMap::operator =( const ValueInternalMap &other ) -{ - ValueInternalMap dummy( other ); - swap( dummy ); - return *this; -} - - -ValueInternalMap::~ValueInternalMap() -{ - if ( buckets_ ) - { - for ( BucketIndex bucketIndex =0; bucketIndex < bucketsSize_; ++bucketIndex ) - { - ValueInternalLink *link = buckets_[bucketIndex].next_; - while ( link ) - { - ValueInternalLink *linkToRelease = link; - link = link->next_; - mapAllocator()->releaseMapLink( linkToRelease ); - } - } - mapAllocator()->releaseMapBuckets( buckets_ ); - } -} - - -void -ValueInternalMap::swap( ValueInternalMap &other ) -{ - ValueInternalLink *tempBuckets = buckets_; - buckets_ = other.buckets_; - other.buckets_ = tempBuckets; - ValueInternalLink *tempTailLink = tailLink_; - tailLink_ = other.tailLink_; - other.tailLink_ = tempTailLink; - BucketIndex tempBucketsSize = bucketsSize_; - bucketsSize_ = other.bucketsSize_; - other.bucketsSize_ = tempBucketsSize; - BucketIndex tempItemCount = itemCount_; - itemCount_ = other.itemCount_; - other.itemCount_ = tempItemCount; -} - - -void -ValueInternalMap::clear() -{ - ValueInternalMap dummy; - swap( dummy ); -} - - -ValueInternalMap::BucketIndex -ValueInternalMap::size() const -{ - return itemCount_; -} - -bool -ValueInternalMap::reserveDelta( BucketIndex growth ) -{ - return reserve( itemCount_ + growth ); -} - -bool -ValueInternalMap::reserve( BucketIndex newItemCount ) -{ - if ( !buckets_ && newItemCount > 0 ) - { - buckets_ = mapAllocator()->allocateMapBuckets( 1 ); - bucketsSize_ = 1; - tailLink_ = &buckets_[0]; - } -// BucketIndex idealBucketCount = (newItemCount + ValueInternalLink::itemPerLink) / ValueInternalLink::itemPerLink; - return true; -} - - -const Value * -ValueInternalMap::find( const char *key ) const -{ - if ( !bucketsSize_ ) - return 0; - HashKey hashedKey = hash( key ); - BucketIndex bucketIndex = hashedKey % bucketsSize_; - for ( const ValueInternalLink *current = &buckets_[bucketIndex]; - current != 0; - current = current->next_ ) - { - for ( BucketIndex index=0; index < ValueInternalLink::itemPerLink; ++index ) - { - if ( current->items_[index].isItemAvailable() ) - return 0; - if ( strcmp( key, current->keys_[index] ) == 0 ) - return ¤t->items_[index]; - } - } - return 0; -} - - -Value * -ValueInternalMap::find( const char *key ) -{ - const ValueInternalMap *constThis = this; - return const_cast( constThis->find( key ) ); -} - - -Value & -ValueInternalMap::resolveReference( const char *key, - bool isStatic ) -{ - HashKey hashedKey = hash( key ); - if ( bucketsSize_ ) - { - BucketIndex bucketIndex = hashedKey % bucketsSize_; - ValueInternalLink **previous = 0; - BucketIndex index; - for ( ValueInternalLink *current = &buckets_[bucketIndex]; - current != 0; - previous = ¤t->next_, current = current->next_ ) - { - for ( index=0; index < ValueInternalLink::itemPerLink; ++index ) - { - if ( current->items_[index].isItemAvailable() ) - return setNewItem( key, isStatic, current, index ); - if ( strcmp( key, current->keys_[index] ) == 0 ) - return current->items_[index]; - } - } - } - - reserveDelta( 1 ); - return unsafeAdd( key, isStatic, hashedKey ); -} - - -void -ValueInternalMap::remove( const char *key ) -{ - HashKey hashedKey = hash( key ); - if ( !bucketsSize_ ) - return; - BucketIndex bucketIndex = hashedKey % bucketsSize_; - for ( ValueInternalLink *link = &buckets_[bucketIndex]; - link != 0; - link = link->next_ ) - { - BucketIndex index; - for ( index =0; index < ValueInternalLink::itemPerLink; ++index ) - { - if ( link->items_[index].isItemAvailable() ) - return; - if ( strcmp( key, link->keys_[index] ) == 0 ) - { - doActualRemove( link, index, bucketIndex ); - return; - } - } - } -} - -void -ValueInternalMap::doActualRemove( ValueInternalLink *link, - BucketIndex index, - BucketIndex bucketIndex ) -{ - // find last item of the bucket and swap it with the 'removed' one. - // set removed items flags to 'available'. - // if last page only contains 'available' items, then desallocate it (it's empty) - ValueInternalLink *&lastLink = getLastLinkInBucket( index ); - BucketIndex lastItemIndex = 1; // a link can never be empty, so start at 1 - for ( ; - lastItemIndex < ValueInternalLink::itemPerLink; - ++lastItemIndex ) // may be optimized with dicotomic search - { - if ( lastLink->items_[lastItemIndex].isItemAvailable() ) - break; - } - - BucketIndex lastUsedIndex = lastItemIndex - 1; - Value *valueToDelete = &link->items_[index]; - Value *valueToPreserve = &lastLink->items_[lastUsedIndex]; - if ( valueToDelete != valueToPreserve ) - valueToDelete->swap( *valueToPreserve ); - if ( lastUsedIndex == 0 ) // page is now empty - { // remove it from bucket linked list and delete it. - ValueInternalLink *linkPreviousToLast = lastLink->previous_; - if ( linkPreviousToLast != 0 ) // can not deleted bucket link. - { - mapAllocator()->releaseMapLink( lastLink ); - linkPreviousToLast->next_ = 0; - lastLink = linkPreviousToLast; - } - } - else - { - Value dummy; - valueToPreserve->swap( dummy ); // restore deleted to default Value. - valueToPreserve->setItemUsed( false ); - } - --itemCount_; -} - - -ValueInternalLink *& -ValueInternalMap::getLastLinkInBucket( BucketIndex bucketIndex ) -{ - if ( bucketIndex == bucketsSize_ - 1 ) - return tailLink_; - ValueInternalLink *&previous = buckets_[bucketIndex+1].previous_; - if ( !previous ) - previous = &buckets_[bucketIndex]; - return previous; -} - - -Value & -ValueInternalMap::setNewItem( const char *key, - bool isStatic, - ValueInternalLink *link, - BucketIndex index ) -{ - char *duplicatedKey = valueAllocator()->makeMemberName( key ); - ++itemCount_; - link->keys_[index] = duplicatedKey; - link->items_[index].setItemUsed(); - link->items_[index].setMemberNameIsStatic( isStatic ); - return link->items_[index]; // items already default constructed. -} - - -Value & -ValueInternalMap::unsafeAdd( const char *key, - bool isStatic, - HashKey hashedKey ) -{ - JSON_ASSERT_MESSAGE( bucketsSize_ > 0, "ValueInternalMap::unsafeAdd(): internal logic error." ); - BucketIndex bucketIndex = hashedKey % bucketsSize_; - ValueInternalLink *&previousLink = getLastLinkInBucket( bucketIndex ); - ValueInternalLink *link = previousLink; - BucketIndex index; - for ( index =0; index < ValueInternalLink::itemPerLink; ++index ) - { - if ( link->items_[index].isItemAvailable() ) - break; - } - if ( index == ValueInternalLink::itemPerLink ) // need to add a new page - { - ValueInternalLink *newLink = mapAllocator()->allocateMapLink(); - index = 0; - link->next_ = newLink; - previousLink = newLink; - link = newLink; - } - return setNewItem( key, isStatic, link, index ); -} - - -ValueInternalMap::HashKey -ValueInternalMap::hash( const char *key ) const -{ - HashKey hash = 0; - while ( *key ) - hash += *key++ * 37; - return hash; -} - - -int -ValueInternalMap::compare( const ValueInternalMap &other ) const -{ - int sizeDiff( itemCount_ - other.itemCount_ ); - if ( sizeDiff != 0 ) - return sizeDiff; - // Strict order guaranty is required. Compare all keys FIRST, then compare values. - IteratorState it; - IteratorState itEnd; - makeBeginIterator( it ); - makeEndIterator( itEnd ); - for ( ; !equals(it,itEnd); increment(it) ) - { - if ( !other.find( key( it ) ) ) - return 1; - } - - // All keys are equals, let's compare values - makeBeginIterator( it ); - for ( ; !equals(it,itEnd); increment(it) ) - { - const Value *otherValue = other.find( key( it ) ); - int valueDiff = value(it).compare( *otherValue ); - if ( valueDiff != 0 ) - return valueDiff; - } - return 0; -} - - -void -ValueInternalMap::makeBeginIterator( IteratorState &it ) const -{ - it.map_ = const_cast( this ); - it.bucketIndex_ = 0; - it.itemIndex_ = 0; - it.link_ = buckets_; -} - - -void -ValueInternalMap::makeEndIterator( IteratorState &it ) const -{ - it.map_ = const_cast( this ); - it.bucketIndex_ = bucketsSize_; - it.itemIndex_ = 0; - it.link_ = 0; -} - - -bool -ValueInternalMap::equals( const IteratorState &x, const IteratorState &other ) -{ - return x.map_ == other.map_ - && x.bucketIndex_ == other.bucketIndex_ - && x.link_ == other.link_ - && x.itemIndex_ == other.itemIndex_; -} - - -void -ValueInternalMap::incrementBucket( IteratorState &iterator ) -{ - ++iterator.bucketIndex_; - JSON_ASSERT_MESSAGE( iterator.bucketIndex_ <= iterator.map_->bucketsSize_, - "ValueInternalMap::increment(): attempting to iterate beyond end." ); - if ( iterator.bucketIndex_ == iterator.map_->bucketsSize_ ) - iterator.link_ = 0; - else - iterator.link_ = &(iterator.map_->buckets_[iterator.bucketIndex_]); - iterator.itemIndex_ = 0; -} - - -void -ValueInternalMap::increment( IteratorState &iterator ) -{ - JSON_ASSERT_MESSAGE( iterator.map_, "Attempting to iterator using invalid iterator." ); - ++iterator.itemIndex_; - if ( iterator.itemIndex_ == ValueInternalLink::itemPerLink ) - { - JSON_ASSERT_MESSAGE( iterator.link_ != 0, - "ValueInternalMap::increment(): attempting to iterate beyond end." ); - iterator.link_ = iterator.link_->next_; - if ( iterator.link_ == 0 ) - incrementBucket( iterator ); - } - else if ( iterator.link_->items_[iterator.itemIndex_].isItemAvailable() ) - { - incrementBucket( iterator ); - } -} - - -void -ValueInternalMap::decrement( IteratorState &iterator ) -{ - if ( iterator.itemIndex_ == 0 ) - { - JSON_ASSERT_MESSAGE( iterator.map_, "Attempting to iterate using invalid iterator." ); - if ( iterator.link_ == &iterator.map_->buckets_[iterator.bucketIndex_] ) - { - JSON_ASSERT_MESSAGE( iterator.bucketIndex_ > 0, "Attempting to iterate beyond beginning." ); - --(iterator.bucketIndex_); - } - iterator.link_ = iterator.link_->previous_; - iterator.itemIndex_ = ValueInternalLink::itemPerLink - 1; - } -} - - -const char * -ValueInternalMap::key( const IteratorState &iterator ) -{ - JSON_ASSERT_MESSAGE( iterator.link_, "Attempting to iterate using invalid iterator." ); - return iterator.link_->keys_[iterator.itemIndex_]; -} - -const char * -ValueInternalMap::key( const IteratorState &iterator, bool &isStatic ) -{ - JSON_ASSERT_MESSAGE( iterator.link_, "Attempting to iterate using invalid iterator." ); - isStatic = iterator.link_->items_[iterator.itemIndex_].isMemberNameStatic(); - return iterator.link_->keys_[iterator.itemIndex_]; -} - - -Value & -ValueInternalMap::value( const IteratorState &iterator ) -{ - JSON_ASSERT_MESSAGE( iterator.link_, "Attempting to iterate using invalid iterator." ); - return iterator.link_->items_[iterator.itemIndex_]; -} - - -int -ValueInternalMap::distance( const IteratorState &x, const IteratorState &y ) -{ - int offset = 0; - IteratorState it = x; - while ( !equals( it, y ) ) - increment( it ); - return offset; -} diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_reader.cpp b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_reader.cpp deleted file mode 100644 index 5af16c8..0000000 --- a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_reader.cpp +++ /dev/null @@ -1,892 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include - -#if _MSC_VER >= 1400 // VC++ 8.0 -#pragma warning( disable : 4996 ) // disable warning about strdup being deprecated. -#endif - -namespace Json { - -// QNX is strict about declaring C symbols in the std namespace. -#ifdef __QNXNTO__ -using std::memcpy; -using std::sprintf; -using std::sscanf; -#endif - -// Implementation of class Features -// //////////////////////////////// - -Features::Features() - : allowComments_( true ) - , strictRoot_( false ) -{ -} - - -Features -Features::all() -{ - return Features(); -} - - -Features -Features::strictMode() -{ - Features features; - features.allowComments_ = false; - features.strictRoot_ = true; - return features; -} - -// Implementation of class Reader -// //////////////////////////////// - - -static inline bool -in( Reader::Char c, Reader::Char c1, Reader::Char c2, Reader::Char c3, Reader::Char c4 ) -{ - return c == c1 || c == c2 || c == c3 || c == c4; -} - -static inline bool -in( Reader::Char c, Reader::Char c1, Reader::Char c2, Reader::Char c3, Reader::Char c4, Reader::Char c5 ) -{ - return c == c1 || c == c2 || c == c3 || c == c4 || c == c5; -} - - -static bool -containsNewLine( Reader::Location begin, - Reader::Location end ) -{ - for ( ;begin < end; ++begin ) - if ( *begin == '\n' || *begin == '\r' ) - return true; - return false; -} - -static std::string codePointToUTF8(unsigned int cp) -{ - std::string result; - - // based on description from http://en.wikipedia.org/wiki/UTF-8 - - if (cp <= 0x7f) - { - result.resize(1); - result[0] = static_cast(cp); - } - else if (cp <= 0x7FF) - { - result.resize(2); - result[1] = static_cast(0x80 | (0x3f & cp)); - result[0] = static_cast(0xC0 | (0x1f & (cp >> 6))); - } - else if (cp <= 0xFFFF) - { - result.resize(3); - result[2] = static_cast(0x80 | (0x3f & cp)); - result[1] = 0x80 | static_cast((0x3f & (cp >> 6))); - result[0] = 0xE0 | static_cast((0xf & (cp >> 12))); - } - else if (cp <= 0x10FFFF) - { - result.resize(4); - result[3] = static_cast(0x80 | (0x3f & cp)); - result[2] = static_cast(0x80 | (0x3f & (cp >> 6))); - result[1] = static_cast(0x80 | (0x3f & (cp >> 12))); - result[0] = static_cast(0xF0 | (0x7 & (cp >> 18))); - } - - return result; -} - - -// Class Reader -// ////////////////////////////////////////////////////////////////// - -Reader::Reader() - : features_( Features::all() ) -{ -} - - -Reader::Reader( const Features &features ) - : features_( features ) -{ -} - - -bool -Reader::parse( const std::string &document, - Value &root, - bool collectComments ) -{ - document_ = document; - const char *begin = document_.c_str(); - const char *end = begin + document_.length(); - return parse( begin, end, root, collectComments ); -} - - -bool -Reader::parse( std::istream& sin, - Value &root, - bool collectComments ) -{ - //std::istream_iterator begin(sin); - //std::istream_iterator end; - // Those would allow streamed input from a file, if parse() were a - // template function. - - // Since std::string is reference-counted, this at least does not - // create an extra copy. - std::string doc; - std::getline(sin, doc, (char)EOF); - return parse( doc, root, collectComments ); -} - -bool -Reader::parse( const char *beginDoc, const char *endDoc, - Value &root, - bool collectComments ) -{ - if ( !features_.allowComments_ ) - { - collectComments = false; - } - - begin_ = beginDoc; - end_ = endDoc; - collectComments_ = collectComments; - current_ = begin_; - lastValueEnd_ = 0; - lastValue_ = 0; - commentsBefore_ = ""; - errors_.clear(); - while ( !nodes_.empty() ) - nodes_.pop(); - nodes_.push( &root ); - - bool successful = readValue(); - Token token; - skipCommentTokens( token ); - if ( collectComments_ && !commentsBefore_.empty() ) - root.setComment( commentsBefore_, commentAfter ); - if ( features_.strictRoot_ ) - { - if ( !root.isArray() && !root.isObject() ) - { - // Set error location to start of doc, ideally should be first token found in doc - token.type_ = tokenError; - token.start_ = beginDoc; - token.end_ = endDoc; - addError( "A valid JSON document must be either an array or an object value.", - token ); - return false; - } - } - return successful; -} - - -bool -Reader::readValue() -{ - Token token; - skipCommentTokens( token ); - bool successful = true; - - if ( collectComments_ && !commentsBefore_.empty() ) - { - currentValue().setComment( commentsBefore_, commentBefore ); - commentsBefore_ = ""; - } - - - switch ( token.type_ ) - { - case tokenObjectBegin: - successful = readObject( token ); - break; - case tokenArrayBegin: - successful = readArray( token ); - break; - case tokenNumber: - successful = decodeNumber( token ); - break; - case tokenString: - successful = decodeString( token ); - break; - case tokenTrue: - currentValue() = true; - break; - case tokenFalse: - currentValue() = false; - break; - case tokenNull: - currentValue() = Value(); - break; - default: - return addError( "Syntax error: value, object or array expected.", token ); - } - - if ( collectComments_ ) - { - lastValueEnd_ = current_; - lastValue_ = ¤tValue(); - } - - return successful; -} - - -void -Reader::skipCommentTokens( Token &token ) -{ - if ( features_.allowComments_ ) - { - do - { - readToken( token ); - } - while ( token.type_ == tokenComment ); - } - else - { - readToken( token ); - } -} - - -bool -Reader::expectToken( TokenType type, Token &token, const char *message ) -{ - readToken( token ); - if ( token.type_ != type ) - return addError( message, token ); - return true; -} - - -bool -Reader::readToken( Token &token ) -{ - skipSpaces(); - token.start_ = current_; - Char c = getNextChar(); - bool ok = true; - switch ( c ) - { - case '{': - token.type_ = tokenObjectBegin; - break; - case '}': - token.type_ = tokenObjectEnd; - break; - case '[': - token.type_ = tokenArrayBegin; - break; - case ']': - token.type_ = tokenArrayEnd; - break; - case '"': - token.type_ = tokenString; - ok = readString(); - break; - case '/': - token.type_ = tokenComment; - ok = readComment(); - break; - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - case '-': - token.type_ = tokenNumber; - readNumber(); - break; - case 't': - token.type_ = tokenTrue; - ok = match( "rue", 3 ); - break; - case 'f': - token.type_ = tokenFalse; - ok = match( "alse", 4 ); - break; - case 'n': - token.type_ = tokenNull; - ok = match( "ull", 3 ); - break; - case ',': - token.type_ = tokenArraySeparator; - break; - case ':': - token.type_ = tokenMemberSeparator; - break; - case 0: - token.type_ = tokenEndOfStream; - break; - default: - ok = false; - break; - } - if ( !ok ) - token.type_ = tokenError; - token.end_ = current_; - return true; -} - - -void -Reader::skipSpaces() -{ - while ( current_ != end_ ) - { - Char c = *current_; - if ( c == ' ' || c == '\t' || c == '\r' || c == '\n' ) - ++current_; - else - break; - } -} - - -bool -Reader::match( Location pattern, - int patternLength ) -{ - if ( end_ - current_ < patternLength ) - return false; - int index = patternLength; - while ( index-- ) - if ( current_[index] != pattern[index] ) - return false; - current_ += patternLength; - return true; -} - - -bool -Reader::readComment() -{ - Location commentBegin = current_ - 1; - Char c = getNextChar(); - bool successful = false; - if ( c == '*' ) - successful = readCStyleComment(); - else if ( c == '/' ) - successful = readCppStyleComment(); - if ( !successful ) - return false; - - if ( collectComments_ ) - { - CommentPlacement placement = commentBefore; - if ( lastValueEnd_ && !containsNewLine( lastValueEnd_, commentBegin ) ) - { - if ( c != '*' || !containsNewLine( commentBegin, current_ ) ) - placement = commentAfterOnSameLine; - } - - addComment( commentBegin, current_, placement ); - } - return true; -} - - -void -Reader::addComment( Location begin, - Location end, - CommentPlacement placement ) -{ - assert( collectComments_ ); - if ( placement == commentAfterOnSameLine ) - { - assert( lastValue_ != 0 ); - lastValue_->setComment( std::string( begin, end ), placement ); - } - else - { - if ( !commentsBefore_.empty() ) - commentsBefore_ += "\n"; - commentsBefore_ += std::string( begin, end ); - } -} - - -bool -Reader::readCStyleComment() -{ - while ( current_ != end_ ) - { - Char c = getNextChar(); - if ( c == '*' && *current_ == '/' ) - break; - } - return getNextChar() == '/'; -} - - -bool -Reader::readCppStyleComment() -{ - while ( current_ != end_ ) - { - Char c = getNextChar(); - if ( c == '\r' || c == '\n' ) - break; - } - return true; -} - - -void -Reader::readNumber() -{ - while ( current_ != end_ ) - { - if ( !(*current_ >= '0' && *current_ <= '9') && - !in( *current_, '.', 'e', 'E', '+', '-' ) ) - break; - ++current_; - } -} - -bool -Reader::readString() -{ - Char c = 0; - while ( current_ != end_ ) - { - c = getNextChar(); - if ( c == '\\' ) - getNextChar(); - else if ( c == '"' ) - break; - } - return c == '"'; -} - - -bool -Reader::readObject( Token &tokenStart ) -{ - Token tokenName; - std::string name; - currentValue() = Value( objectValue ); - while ( readToken( tokenName ) ) - { - bool initialTokenOk = true; - while ( tokenName.type_ == tokenComment && initialTokenOk ) - initialTokenOk = readToken( tokenName ); - if ( !initialTokenOk ) - break; - if ( tokenName.type_ == tokenObjectEnd && name.empty() ) // empty object - return true; - if ( tokenName.type_ != tokenString ) - break; - - name = ""; - if ( !decodeString( tokenName, name ) ) - return recoverFromError( tokenObjectEnd ); - - Token colon; - if ( !readToken( colon ) || colon.type_ != tokenMemberSeparator ) - { - return addErrorAndRecover( "Missing ':' after object member name", - colon, - tokenObjectEnd ); - } - Value &value = currentValue()[ name ]; - nodes_.push( &value ); - bool ok = readValue(); - nodes_.pop(); - if ( !ok ) // error already set - return recoverFromError( tokenObjectEnd ); - - Token comma; - if ( !readToken( comma ) - || ( comma.type_ != tokenObjectEnd && - comma.type_ != tokenArraySeparator && - comma.type_ != tokenComment ) ) - { - return addErrorAndRecover( "Missing ',' or '}' in object declaration", - comma, - tokenObjectEnd ); - } - bool finalizeTokenOk = true; - while ( comma.type_ == tokenComment && - finalizeTokenOk ) - finalizeTokenOk = readToken( comma ); - if ( comma.type_ == tokenObjectEnd ) - return true; - } - return addErrorAndRecover( "Missing '}' or object member name", - tokenName, - tokenObjectEnd ); -} - - -bool -Reader::readArray( Token &tokenStart ) -{ - currentValue() = Value( arrayValue ); - skipSpaces(); - if ( *current_ == ']' ) // empty array - { - Token endArray; - readToken( endArray ); - return true; - } - int index = 0; - while ( true ) - { - Value &value = currentValue()[ index++ ]; - nodes_.push( &value ); - bool ok = readValue(); - nodes_.pop(); - if ( !ok ) // error already set - return recoverFromError( tokenArrayEnd ); - - Token token; - // Accept Comment after last item in the array. - ok = readToken( token ); - while ( token.type_ == tokenComment && ok ) - { - ok = readToken( token ); - } - bool badTokenType = ( token.type_ == tokenArraySeparator && - token.type_ == tokenArrayEnd ); - if ( !ok || badTokenType ) - { - return addErrorAndRecover( "Missing ',' or ']' in array declaration", - token, - tokenArrayEnd ); - } - if ( token.type_ == tokenArrayEnd ) - break; - } - return true; -} - - -bool -Reader::decodeNumber( Token &token ) -{ - bool isDouble = false; - for ( Location inspect = token.start_; inspect != token.end_; ++inspect ) - { - isDouble = isDouble - || in( *inspect, '.', 'e', 'E', '+' ) - || ( *inspect == '-' && inspect != token.start_ ); - } - if ( isDouble ) - return decodeDouble( token ); - Location current = token.start_; - bool isNegative = *current == '-'; - if ( isNegative ) - ++current; - Value::UInt threshold = (isNegative ? Value::UInt(-Value::minInt) - : Value::maxUInt) / 10; - Value::UInt value = 0; - while ( current < token.end_ ) - { - Char c = *current++; - if ( c < '0' || c > '9' ) - return addError( "'" + std::string( token.start_, token.end_ ) + "' is not a number.", token ); - if ( value >= threshold ) - return decodeDouble( token ); - value = value * 10 + Value::UInt(c - '0'); - } - if ( isNegative ) - currentValue() = -Value::Int( value ); - else if ( value <= Value::UInt(Value::maxInt) ) - currentValue() = Value::Int( value ); - else - currentValue() = value; - return true; -} - - -bool -Reader::decodeDouble( Token &token ) -{ - double value = 0; - const int bufferSize = 32; - int count; - int length = int(token.end_ - token.start_); - if ( length <= bufferSize ) - { - Char buffer[bufferSize]; - memcpy( buffer, token.start_, length ); - buffer[length] = 0; - count = sscanf( buffer, "%lf", &value ); - } - else - { - std::string buffer( token.start_, token.end_ ); - count = sscanf( buffer.c_str(), "%lf", &value ); - } - - if ( count != 1 ) - return addError( "'" + std::string( token.start_, token.end_ ) + "' is not a number.", token ); - currentValue() = value; - return true; -} - - -bool -Reader::decodeString( Token &token ) -{ - std::string decoded; - if ( !decodeString( token, decoded ) ) - return false; - currentValue() = decoded; - return true; -} - - -bool -Reader::decodeString( Token &token, std::string &decoded ) -{ - decoded.reserve( token.end_ - token.start_ - 2 ); - Location current = token.start_ + 1; // skip '"' - Location end = token.end_ - 1; // do not include '"' - while ( current != end ) - { - Char c = *current++; - if ( c == '"' ) - break; - else if ( c == '\\' ) - { - if ( current == end ) - return addError( "Empty escape sequence in string", token, current ); - Char escape = *current++; - switch ( escape ) - { - case '"': decoded += '"'; break; - case '/': decoded += '/'; break; - case '\\': decoded += '\\'; break; - case 'b': decoded += '\b'; break; - case 'f': decoded += '\f'; break; - case 'n': decoded += '\n'; break; - case 'r': decoded += '\r'; break; - case 't': decoded += '\t'; break; - case 'u': - { - unsigned int unicode; - if ( !decodeUnicodeCodePoint( token, current, end, unicode ) ) - return false; - decoded += codePointToUTF8(unicode); - } - break; - default: - return addError( "Bad escape sequence in string", token, current ); - } - } - else - { - decoded += c; - } - } - return true; -} - -bool -Reader::decodeUnicodeCodePoint( Token &token, - Location ¤t, - Location end, - unsigned int &unicode ) -{ - - if ( !decodeUnicodeEscapeSequence( token, current, end, unicode ) ) - return false; - if (unicode >= 0xD800 && unicode <= 0xDBFF) - { - // surrogate pairs - if (end - current < 6) - return addError( "additional six characters expected to parse unicode surrogate pair.", token, current ); - unsigned int surrogatePair; - if (*(current++) == '\\' && *(current++)== 'u') - { - if (decodeUnicodeEscapeSequence( token, current, end, surrogatePair )) - { - unicode = 0x10000 + ((unicode & 0x3FF) << 10) + (surrogatePair & 0x3FF); - } - else - return false; - } - else - return addError( "expecting another \\u token to begin the second half of a unicode surrogate pair", token, current ); - } - return true; -} - -bool -Reader::decodeUnicodeEscapeSequence( Token &token, - Location ¤t, - Location end, - unsigned int &unicode ) -{ - if ( end - current < 4 ) - return addError( "Bad unicode escape sequence in string: four digits expected.", token, current ); - unicode = 0; - for ( int index =0; index < 4; ++index ) - { - Char c = *current++; - unicode *= 16; - if ( c >= '0' && c <= '9' ) - unicode += c - '0'; - else if ( c >= 'a' && c <= 'f' ) - unicode += c - 'a' + 10; - else if ( c >= 'A' && c <= 'F' ) - unicode += c - 'A' + 10; - else - return addError( "Bad unicode escape sequence in string: hexadecimal digit expected.", token, current ); - } - return true; -} - - -bool -Reader::addError( const std::string &message, - Token &token, - Location extra ) -{ - ErrorInfo info; - info.token_ = token; - info.message_ = message; - info.extra_ = extra; - errors_.push_back( info ); - return false; -} - - -bool -Reader::recoverFromError( TokenType skipUntilToken ) -{ - int errorCount = int(errors_.size()); - Token skip; - while ( true ) - { - if ( !readToken(skip) ) - errors_.resize( errorCount ); // discard errors caused by recovery - if ( skip.type_ == skipUntilToken || skip.type_ == tokenEndOfStream ) - break; - } - errors_.resize( errorCount ); - return false; -} - - -bool -Reader::addErrorAndRecover( const std::string &message, - Token &token, - TokenType skipUntilToken ) -{ - addError( message, token ); - return recoverFromError( skipUntilToken ); -} - - -Value & -Reader::currentValue() -{ - return *(nodes_.top()); -} - - -Reader::Char -Reader::getNextChar() -{ - if ( current_ == end_ ) - return 0; - return *current_++; -} - - -void -Reader::getLocationLineAndColumn( Location location, - int &line, - int &column ) const -{ - Location current = begin_; - Location lastLineStart = current; - line = 0; - while ( current < location && current != end_ ) - { - Char c = *current++; - if ( c == '\r' ) - { - if ( *current == '\n' ) - ++current; - lastLineStart = current; - ++line; - } - else if ( c == '\n' ) - { - lastLineStart = current; - ++line; - } - } - // column & line start at 1 - column = int(location - lastLineStart) + 1; - ++line; -} - - -std::string -Reader::getLocationLineAndColumn( Location location ) const -{ - int line, column; - getLocationLineAndColumn( location, line, column ); - char buffer[18+16+16+1]; - sprintf( buffer, "Line %d, Column %d", line, column ); - return buffer; -} - - -std::string -Reader::getFormatedErrorMessages() const -{ - std::string formattedMessage; - for ( Errors::const_iterator itError = errors_.begin(); - itError != errors_.end(); - ++itError ) - { - const ErrorInfo &error = *itError; - formattedMessage += "* " + getLocationLineAndColumn( error.token_.start_ ) + "\n"; - formattedMessage += " " + error.message_ + "\n"; - if ( error.extra_ ) - formattedMessage += "See " + getLocationLineAndColumn( error.extra_ ) + " for detail.\n"; - } - return formattedMessage; -} - - -std::istream& operator>>( std::istream &sin, Value &root ) -{ - Json::Reader reader; - bool ok = reader.parse(sin, root, true); - //JSON_ASSERT( ok ); - if (!ok) throw std::runtime_error(reader.getFormatedErrorMessages()); - return sin; -} - - -} // namespace Json diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_value.cpp b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_value.cpp deleted file mode 100644 index 6e5dcd3..0000000 --- a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_value.cpp +++ /dev/null @@ -1,1726 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#ifdef JSON_USE_CPPTL -# include -#endif -#include // size_t -#ifndef JSON_USE_SIMPLE_INTERNAL_ALLOCATOR -# include "json_batchallocator.h" -#endif // #ifndef JSON_USE_SIMPLE_INTERNAL_ALLOCATOR - -#define JSON_ASSERT_UNREACHABLE assert( false ) -#define JSON_ASSERT( condition ) assert( condition ); // @todo <= change this into an exception throw -#define JSON_ASSERT_MESSAGE( condition, message ) if (!( condition )) throw std::runtime_error( message ); - -namespace Json { - -// QNX is strict about declaring C symbols in the std namespace. -#ifdef __QNXNTO__ -using std::memcpy; -using std::strchr; -using std::strcmp; -using std::strlen; -#endif - -const Value Value::null; -const Int Value::minInt = Int( ~(UInt(-1)/2) ); -const Int Value::maxInt = Int( UInt(-1)/2 ); -const UInt Value::maxUInt = UInt(-1); - -// A "safe" implementation of strdup. Allow null pointer to be passed. -// Also avoid warning on msvc80. -// -//inline char *safeStringDup( const char *czstring ) -//{ -// if ( czstring ) -// { -// const size_t length = (unsigned int)( strlen(czstring) + 1 ); -// char *newString = static_cast( malloc( length ) ); -// memcpy( newString, czstring, length ); -// return newString; -// } -// return 0; -//} -// -//inline char *safeStringDup( const std::string &str ) -//{ -// if ( !str.empty() ) -// { -// const size_t length = str.length(); -// char *newString = static_cast( malloc( length + 1 ) ); -// memcpy( newString, str.c_str(), length ); -// newString[length] = 0; -// return newString; -// } -// return 0; -//} - -ValueAllocator::~ValueAllocator() -{ -} - -class DefaultValueAllocator : public ValueAllocator -{ -public: - virtual ~DefaultValueAllocator() - { - } - - virtual char *makeMemberName( const char *memberName ) - { - return duplicateStringValue( memberName ); - } - - virtual void releaseMemberName( char *memberName ) - { - releaseStringValue( memberName ); - } - - virtual char *duplicateStringValue( const char *value, - unsigned int length = unknown ) - { - //@todo invesgate this old optimization - //if ( !value || value[0] == 0 ) - // return 0; - - if ( length == unknown ) - length = (unsigned int)strlen(value); - char *newString = static_cast( malloc( length + 1 ) ); - memcpy( newString, value, length ); - newString[length] = 0; - return newString; - } - - virtual void releaseStringValue( char *value ) - { - if ( value ) - free( value ); - } -}; - -static ValueAllocator *&valueAllocator() -{ - static DefaultValueAllocator defaultAllocator; - static ValueAllocator *valueAllocator = &defaultAllocator; - return valueAllocator; -} - -static struct DummyValueAllocatorInitializer { - DummyValueAllocatorInitializer() - { - valueAllocator(); // ensure valueAllocator() statics are initialized before main(). - } -} dummyValueAllocatorInitializer; - - - -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// -// ValueInternals... -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// -#ifdef JSON_VALUE_USE_INTERNAL_MAP -# include "json_internalarray.inl" -# include "json_internalmap.inl" -#endif // JSON_VALUE_USE_INTERNAL_MAP - -# include "json_valueiterator.inl" - - -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// -// class Value::CommentInfo -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// - - -Value::CommentInfo::CommentInfo() - : comment_( 0 ) -{ -} - -Value::CommentInfo::~CommentInfo() -{ - if ( comment_ ) - valueAllocator()->releaseStringValue( comment_ ); -} - - -void -Value::CommentInfo::setComment( const char *text ) -{ - if ( comment_ ) - valueAllocator()->releaseStringValue( comment_ ); - JSON_ASSERT( text ); - JSON_ASSERT_MESSAGE( text[0]=='\0' || text[0]=='/', "Comments must start with /"); - // It seems that /**/ style comments are acceptable as well. - comment_ = valueAllocator()->duplicateStringValue( text ); -} - - -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// -// class Value::CZString -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// -# ifndef JSON_VALUE_USE_INTERNAL_MAP - -// Notes: index_ indicates if the string was allocated when -// a string is stored. - -Value::CZString::CZString( int index ) - : cstr_( 0 ) - , index_( index ) -{ -} - -Value::CZString::CZString( const char *cstr, DuplicationPolicy allocate ) - : cstr_( allocate == duplicate ? valueAllocator()->makeMemberName(cstr) - : cstr ) - , index_( allocate ) -{ -} - -Value::CZString::CZString( const CZString &other ) -: cstr_( other.index_ != noDuplication && other.cstr_ != 0 - ? valueAllocator()->makeMemberName( other.cstr_ ) - : other.cstr_ ) - , index_( other.cstr_ ? (other.index_ == noDuplication ? noDuplication : duplicate) - : other.index_ ) -{ -} - -Value::CZString::~CZString() -{ - if ( cstr_ && index_ == duplicate ) - valueAllocator()->releaseMemberName( const_cast( cstr_ ) ); -} - -void -Value::CZString::swap( CZString &other ) -{ - std::swap( cstr_, other.cstr_ ); - std::swap( index_, other.index_ ); -} - -Value::CZString & -Value::CZString::operator =( const CZString &other ) -{ - CZString temp( other ); - swap( temp ); - return *this; -} - -bool -Value::CZString::operator<( const CZString &other ) const -{ - if ( cstr_ ) - return strcmp( cstr_, other.cstr_ ) < 0; - return index_ < other.index_; -} - -bool -Value::CZString::operator==( const CZString &other ) const -{ - if ( cstr_ ) - return strcmp( cstr_, other.cstr_ ) == 0; - return index_ == other.index_; -} - - -int -Value::CZString::index() const -{ - return index_; -} - - -const char * -Value::CZString::c_str() const -{ - return cstr_; -} - -bool -Value::CZString::isStaticString() const -{ - return index_ == noDuplication; -} - -#endif // ifndef JSON_VALUE_USE_INTERNAL_MAP - - -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// -// class Value::Value -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// - -/*! \internal Default constructor initialization must be equivalent to: - * memset( this, 0, sizeof(Value) ) - * This optimization is used in ValueInternalMap fast allocator. - */ -Value::Value( ValueType type ) - : type_( type ) - , allocated_( 0 ) - , comments_( 0 ) -# ifdef JSON_VALUE_USE_INTERNAL_MAP - , itemIsUsed_( 0 ) -#endif -{ - switch ( type ) - { - case nullValue: - break; - case intValue: - case uintValue: - value_.int_ = 0; - break; - case realValue: - value_.real_ = 0.0; - break; - case stringValue: - value_.string_ = 0; - break; -#ifndef JSON_VALUE_USE_INTERNAL_MAP - case arrayValue: - case objectValue: - value_.map_ = new ObjectValues(); - break; -#else - case arrayValue: - value_.array_ = arrayAllocator()->newArray(); - break; - case objectValue: - value_.map_ = mapAllocator()->newMap(); - break; -#endif - case booleanValue: - value_.bool_ = false; - break; - default: - JSON_ASSERT_UNREACHABLE; - } -} - - -Value::Value( Int value ) - : type_( intValue ) - , comments_( 0 ) -# ifdef JSON_VALUE_USE_INTERNAL_MAP - , itemIsUsed_( 0 ) -#endif -{ - value_.int_ = value; -} - - -Value::Value( UInt value ) - : type_( uintValue ) - , comments_( 0 ) -# ifdef JSON_VALUE_USE_INTERNAL_MAP - , itemIsUsed_( 0 ) -#endif -{ - value_.uint_ = value; -} - -Value::Value( double value ) - : type_( realValue ) - , comments_( 0 ) -# ifdef JSON_VALUE_USE_INTERNAL_MAP - , itemIsUsed_( 0 ) -#endif -{ - value_.real_ = value; -} - -Value::Value( const char *value ) - : type_( stringValue ) - , allocated_( true ) - , comments_( 0 ) -# ifdef JSON_VALUE_USE_INTERNAL_MAP - , itemIsUsed_( 0 ) -#endif -{ - value_.string_ = valueAllocator()->duplicateStringValue( value ); -} - - -Value::Value( const char *beginValue, - const char *endValue ) - : type_( stringValue ) - , allocated_( true ) - , comments_( 0 ) -# ifdef JSON_VALUE_USE_INTERNAL_MAP - , itemIsUsed_( 0 ) -#endif -{ - value_.string_ = valueAllocator()->duplicateStringValue( beginValue, - UInt(endValue - beginValue) ); -} - - -Value::Value( const std::string &value ) - : type_( stringValue ) - , allocated_( true ) - , comments_( 0 ) -# ifdef JSON_VALUE_USE_INTERNAL_MAP - , itemIsUsed_( 0 ) -#endif -{ - value_.string_ = valueAllocator()->duplicateStringValue( value.c_str(), - (unsigned int)value.length() ); - -} - -Value::Value( const StaticString &value ) - : type_( stringValue ) - , allocated_( false ) - , comments_( 0 ) -# ifdef JSON_VALUE_USE_INTERNAL_MAP - , itemIsUsed_( 0 ) -#endif -{ - value_.string_ = const_cast( value.c_str() ); -} - - -# ifdef JSON_USE_CPPTL -Value::Value( const CppTL::ConstString &value ) - : type_( stringValue ) - , allocated_( true ) - , comments_( 0 ) -# ifdef JSON_VALUE_USE_INTERNAL_MAP - , itemIsUsed_( 0 ) -#endif -{ - value_.string_ = valueAllocator()->duplicateStringValue( value, value.length() ); -} -# endif - -Value::Value( bool value ) - : type_( booleanValue ) - , comments_( 0 ) -# ifdef JSON_VALUE_USE_INTERNAL_MAP - , itemIsUsed_( 0 ) -#endif -{ - value_.bool_ = value; -} - - -Value::Value( const Value &other ) - : type_( other.type_ ) - , comments_( 0 ) -# ifdef JSON_VALUE_USE_INTERNAL_MAP - , itemIsUsed_( 0 ) -#endif -{ - switch ( type_ ) - { - case nullValue: - case intValue: - case uintValue: - case realValue: - case booleanValue: - value_ = other.value_; - break; - case stringValue: - if ( other.value_.string_ ) - { - value_.string_ = valueAllocator()->duplicateStringValue( other.value_.string_ ); - allocated_ = true; - } - else - value_.string_ = 0; - break; -#ifndef JSON_VALUE_USE_INTERNAL_MAP - case arrayValue: - case objectValue: - value_.map_ = new ObjectValues( *other.value_.map_ ); - break; -#else - case arrayValue: - value_.array_ = arrayAllocator()->newArrayCopy( *other.value_.array_ ); - break; - case objectValue: - value_.map_ = mapAllocator()->newMapCopy( *other.value_.map_ ); - break; -#endif - default: - JSON_ASSERT_UNREACHABLE; - } - if ( other.comments_ ) - { - comments_ = new CommentInfo[numberOfCommentPlacement]; - for ( int comment =0; comment < numberOfCommentPlacement; ++comment ) - { - const CommentInfo &otherComment = other.comments_[comment]; - if ( otherComment.comment_ ) - comments_[comment].setComment( otherComment.comment_ ); - } - } -} - - -Value::~Value() -{ - switch ( type_ ) - { - case nullValue: - case intValue: - case uintValue: - case realValue: - case booleanValue: - break; - case stringValue: - if ( allocated_ ) - valueAllocator()->releaseStringValue( value_.string_ ); - break; -#ifndef JSON_VALUE_USE_INTERNAL_MAP - case arrayValue: - case objectValue: - delete value_.map_; - break; -#else - case arrayValue: - arrayAllocator()->destructArray( value_.array_ ); - break; - case objectValue: - mapAllocator()->destructMap( value_.map_ ); - break; -#endif - default: - JSON_ASSERT_UNREACHABLE; - } - - if ( comments_ ) - delete[] comments_; -} - -Value & -Value::operator=( const Value &other ) -{ - Value temp( other ); - swap( temp ); - return *this; -} - -void -Value::swap( Value &other ) -{ - ValueType temp = type_; - type_ = other.type_; - other.type_ = temp; - std::swap( value_, other.value_ ); - int temp2 = allocated_; - allocated_ = other.allocated_; - other.allocated_ = temp2; -} - -ValueType -Value::type() const -{ - return type_; -} - - -int -Value::compare( const Value &other ) -{ - /* - int typeDelta = other.type_ - type_; - switch ( type_ ) - { - case nullValue: - - return other.type_ == type_; - case intValue: - if ( other.type_.isNumeric() - case uintValue: - case realValue: - case booleanValue: - break; - case stringValue, - break; - case arrayValue: - delete value_.array_; - break; - case objectValue: - delete value_.map_; - default: - JSON_ASSERT_UNREACHABLE; - } - */ - return 0; // unreachable -} - -bool -Value::operator <( const Value &other ) const -{ - int typeDelta = type_ - other.type_; - if ( typeDelta ) - return typeDelta < 0 ? true : false; - switch ( type_ ) - { - case nullValue: - return false; - case intValue: - return value_.int_ < other.value_.int_; - case uintValue: - return value_.uint_ < other.value_.uint_; - case realValue: - return value_.real_ < other.value_.real_; - case booleanValue: - return value_.bool_ < other.value_.bool_; - case stringValue: - return ( value_.string_ == 0 && other.value_.string_ ) - || ( other.value_.string_ - && value_.string_ - && strcmp( value_.string_, other.value_.string_ ) < 0 ); -#ifndef JSON_VALUE_USE_INTERNAL_MAP - case arrayValue: - case objectValue: - { - int delta = int( value_.map_->size() - other.value_.map_->size() ); - if ( delta ) - return delta < 0; - return (*value_.map_) < (*other.value_.map_); - } -#else - case arrayValue: - return value_.array_->compare( *(other.value_.array_) ) < 0; - case objectValue: - return value_.map_->compare( *(other.value_.map_) ) < 0; -#endif - default: - JSON_ASSERT_UNREACHABLE; - } - return 0; // unreachable -} - -bool -Value::operator <=( const Value &other ) const -{ - return !(other > *this); -} - -bool -Value::operator >=( const Value &other ) const -{ - return !(*this < other); -} - -bool -Value::operator >( const Value &other ) const -{ - return other < *this; -} - -bool -Value::operator ==( const Value &other ) const -{ - //if ( type_ != other.type_ ) - // GCC 2.95.3 says: - // attempt to take address of bit-field structure member `Json::Value::type_' - // Beats me, but a temp solves the problem. - int temp = other.type_; - if ( type_ != temp ) - return false; - switch ( type_ ) - { - case nullValue: - return true; - case intValue: - return value_.int_ == other.value_.int_; - case uintValue: - return value_.uint_ == other.value_.uint_; - case realValue: - return value_.real_ == other.value_.real_; - case booleanValue: - return value_.bool_ == other.value_.bool_; - case stringValue: - return ( value_.string_ == other.value_.string_ ) - || ( other.value_.string_ - && value_.string_ - && strcmp( value_.string_, other.value_.string_ ) == 0 ); -#ifndef JSON_VALUE_USE_INTERNAL_MAP - case arrayValue: - case objectValue: - return value_.map_->size() == other.value_.map_->size() - && (*value_.map_) == (*other.value_.map_); -#else - case arrayValue: - return value_.array_->compare( *(other.value_.array_) ) == 0; - case objectValue: - return value_.map_->compare( *(other.value_.map_) ) == 0; -#endif - default: - JSON_ASSERT_UNREACHABLE; - } - return 0; // unreachable -} - -bool -Value::operator !=( const Value &other ) const -{ - return !( *this == other ); -} - -const char * -Value::asCString() const -{ - JSON_ASSERT( type_ == stringValue ); - return value_.string_; -} - - -std::string -Value::asString() const -{ - switch ( type_ ) - { - case nullValue: - return ""; - case stringValue: - return value_.string_ ? value_.string_ : ""; - case booleanValue: - return value_.bool_ ? "true" : "false"; - case intValue: - case uintValue: - case realValue: - case arrayValue: - case objectValue: - JSON_ASSERT_MESSAGE( false, "Type is not convertible to string" ); - default: - JSON_ASSERT_UNREACHABLE; - } - return ""; // unreachable -} - -# ifdef JSON_USE_CPPTL -CppTL::ConstString -Value::asConstString() const -{ - return CppTL::ConstString( asString().c_str() ); -} -# endif - -Value::Int -Value::asInt() const -{ - switch ( type_ ) - { - case nullValue: - return 0; - case intValue: - return value_.int_; - case uintValue: - JSON_ASSERT_MESSAGE( value_.uint_ < (unsigned)maxInt, "integer out of signed integer range" ); - return value_.uint_; - case realValue: - JSON_ASSERT_MESSAGE( value_.real_ >= minInt && value_.real_ <= maxInt, "Real out of signed integer range" ); - return Int( value_.real_ ); - case booleanValue: - return value_.bool_ ? 1 : 0; - case stringValue: - case arrayValue: - case objectValue: - JSON_ASSERT_MESSAGE( false, "Type is not convertible to int" ); - default: - JSON_ASSERT_UNREACHABLE; - } - return 0; // unreachable; -} - -Value::UInt -Value::asUInt() const -{ - switch ( type_ ) - { - case nullValue: - return 0; - case intValue: - JSON_ASSERT_MESSAGE( value_.int_ >= 0, "Negative integer can not be converted to unsigned integer" ); - return value_.int_; - case uintValue: - return value_.uint_; - case realValue: - JSON_ASSERT_MESSAGE( value_.real_ >= 0 && value_.real_ <= maxUInt, "Real out of unsigned integer range" ); - return UInt( value_.real_ ); - case booleanValue: - return value_.bool_ ? 1 : 0; - case stringValue: - case arrayValue: - case objectValue: - JSON_ASSERT_MESSAGE( false, "Type is not convertible to uint" ); - default: - JSON_ASSERT_UNREACHABLE; - } - return 0; // unreachable; -} - -double -Value::asDouble() const -{ - switch ( type_ ) - { - case nullValue: - return 0.0; - case intValue: - return value_.int_; - case uintValue: - return value_.uint_; - case realValue: - return value_.real_; - case booleanValue: - return value_.bool_ ? 1.0 : 0.0; - case stringValue: - case arrayValue: - case objectValue: - JSON_ASSERT_MESSAGE( false, "Type is not convertible to double" ); - default: - JSON_ASSERT_UNREACHABLE; - } - return 0; // unreachable; -} - -bool -Value::asBool() const -{ - switch ( type_ ) - { - case nullValue: - return false; - case intValue: - case uintValue: - return value_.int_ != 0; - case realValue: - return value_.real_ != 0.0; - case booleanValue: - return value_.bool_; - case stringValue: - return value_.string_ && value_.string_[0] != 0; - case arrayValue: - case objectValue: - return value_.map_->size() != 0; - default: - JSON_ASSERT_UNREACHABLE; - } - return false; // unreachable; -} - - -bool -Value::isConvertibleTo( ValueType other ) const -{ - switch ( type_ ) - { - case nullValue: - return true; - case intValue: - return ( other == nullValue && value_.int_ == 0 ) - || other == intValue - || ( other == uintValue && value_.int_ >= 0 ) - || other == realValue - || other == stringValue - || other == booleanValue; - case uintValue: - return ( other == nullValue && value_.uint_ == 0 ) - || ( other == intValue && value_.uint_ <= (unsigned)maxInt ) - || other == uintValue - || other == realValue - || other == stringValue - || other == booleanValue; - case realValue: - return ( other == nullValue && value_.real_ == 0.0 ) - || ( other == intValue && value_.real_ >= minInt && value_.real_ <= maxInt ) - || ( other == uintValue && value_.real_ >= 0 && value_.real_ <= maxUInt ) - || other == realValue - || other == stringValue - || other == booleanValue; - case booleanValue: - return ( other == nullValue && value_.bool_ == false ) - || other == intValue - || other == uintValue - || other == realValue - || other == stringValue - || other == booleanValue; - case stringValue: - return other == stringValue - || ( other == nullValue && (!value_.string_ || value_.string_[0] == 0) ); - case arrayValue: - return other == arrayValue - || ( other == nullValue && value_.map_->size() == 0 ); - case objectValue: - return other == objectValue - || ( other == nullValue && value_.map_->size() == 0 ); - default: - JSON_ASSERT_UNREACHABLE; - } - return false; // unreachable; -} - - -/// Number of values in array or object -Value::UInt -Value::size() const -{ - switch ( type_ ) - { - case nullValue: - case intValue: - case uintValue: - case realValue: - case booleanValue: - case stringValue: - return 0; -#ifndef JSON_VALUE_USE_INTERNAL_MAP - case arrayValue: // size of the array is highest index + 1 - if ( !value_.map_->empty() ) - { - ObjectValues::const_iterator itLast = value_.map_->end(); - --itLast; - return (*itLast).first.index()+1; - } - return 0; - case objectValue: - return Int( value_.map_->size() ); -#else - case arrayValue: - return Int( value_.array_->size() ); - case objectValue: - return Int( value_.map_->size() ); -#endif - default: - JSON_ASSERT_UNREACHABLE; - } - return 0; // unreachable; -} - - -bool -Value::empty() const -{ - if ( isNull() || isArray() || isObject() ) - return size() == 0u; - else - return false; -} - - -bool -Value::operator!() const -{ - return isNull(); -} - - -void -Value::clear() -{ - JSON_ASSERT( type_ == nullValue || type_ == arrayValue || type_ == objectValue ); - - switch ( type_ ) - { -#ifndef JSON_VALUE_USE_INTERNAL_MAP - case arrayValue: - case objectValue: - value_.map_->clear(); - break; -#else - case arrayValue: - value_.array_->clear(); - break; - case objectValue: - value_.map_->clear(); - break; -#endif - default: - break; - } -} - -void -Value::resize( UInt newSize ) -{ - JSON_ASSERT( type_ == nullValue || type_ == arrayValue ); - if ( type_ == nullValue ) - *this = Value( arrayValue ); -#ifndef JSON_VALUE_USE_INTERNAL_MAP - UInt oldSize = size(); - if ( newSize == 0 ) - clear(); - else if ( newSize > oldSize ) - (*this)[ newSize - 1 ]; - else - { - for ( UInt index = newSize; index < oldSize; ++index ) - value_.map_->erase( index ); - assert( size() == newSize ); - } -#else - value_.array_->resize( newSize ); -#endif -} - - -Value & -Value::operator[]( UInt index ) -{ - JSON_ASSERT( type_ == nullValue || type_ == arrayValue ); - if ( type_ == nullValue ) - *this = Value( arrayValue ); -#ifndef JSON_VALUE_USE_INTERNAL_MAP - CZString key( index ); - ObjectValues::iterator it = value_.map_->lower_bound( key ); - if ( it != value_.map_->end() && (*it).first == key ) - return (*it).second; - - ObjectValues::value_type defaultValue( key, null ); - it = value_.map_->insert( it, defaultValue ); - return (*it).second; -#else - return value_.array_->resolveReference( index ); -#endif -} - - -const Value & -Value::operator[]( UInt index ) const -{ - JSON_ASSERT( type_ == nullValue || type_ == arrayValue ); - if ( type_ == nullValue ) - return null; -#ifndef JSON_VALUE_USE_INTERNAL_MAP - CZString key( index ); - ObjectValues::const_iterator it = value_.map_->find( key ); - if ( it == value_.map_->end() ) - return null; - return (*it).second; -#else - Value *value = value_.array_->find( index ); - return value ? *value : null; -#endif -} - - -Value & -Value::operator[]( const char *key ) -{ - return resolveReference( key, false ); -} - - -Value & -Value::resolveReference( const char *key, - bool isStatic ) -{ - JSON_ASSERT( type_ == nullValue || type_ == objectValue ); - if ( type_ == nullValue ) - *this = Value( objectValue ); -#ifndef JSON_VALUE_USE_INTERNAL_MAP - CZString actualKey( key, isStatic ? CZString::noDuplication - : CZString::duplicateOnCopy ); - ObjectValues::iterator it = value_.map_->lower_bound( actualKey ); - if ( it != value_.map_->end() && (*it).first == actualKey ) - return (*it).second; - - ObjectValues::value_type defaultValue( actualKey, null ); - it = value_.map_->insert( it, defaultValue ); - Value &value = (*it).second; - return value; -#else - return value_.map_->resolveReference( key, isStatic ); -#endif -} - - -Value -Value::get( UInt index, - const Value &defaultValue ) const -{ - const Value *value = &((*this)[index]); - return value == &null ? defaultValue : *value; -} - - -bool -Value::isValidIndex( UInt index ) const -{ - return index < size(); -} - - - -const Value & -Value::operator[]( const char *key ) const -{ - JSON_ASSERT( type_ == nullValue || type_ == objectValue ); - if ( type_ == nullValue ) - return null; -#ifndef JSON_VALUE_USE_INTERNAL_MAP - CZString actualKey( key, CZString::noDuplication ); - ObjectValues::const_iterator it = value_.map_->find( actualKey ); - if ( it == value_.map_->end() ) - return null; - return (*it).second; -#else - const Value *value = value_.map_->find( key ); - return value ? *value : null; -#endif -} - - -Value & -Value::operator[]( const std::string &key ) -{ - return (*this)[ key.c_str() ]; -} - - -const Value & -Value::operator[]( const std::string &key ) const -{ - return (*this)[ key.c_str() ]; -} - -Value & -Value::operator[]( const StaticString &key ) -{ - return resolveReference( key, true ); -} - - -# ifdef JSON_USE_CPPTL -Value & -Value::operator[]( const CppTL::ConstString &key ) -{ - return (*this)[ key.c_str() ]; -} - - -const Value & -Value::operator[]( const CppTL::ConstString &key ) const -{ - return (*this)[ key.c_str() ]; -} -# endif - - -Value & -Value::append( const Value &value ) -{ - return (*this)[size()] = value; -} - - -Value -Value::get( const char *key, - const Value &defaultValue ) const -{ - const Value *value = &((*this)[key]); - return value == &null ? defaultValue : *value; -} - - -Value -Value::get( const std::string &key, - const Value &defaultValue ) const -{ - return get( key.c_str(), defaultValue ); -} - -Value -Value::removeMember( const char* key ) -{ - JSON_ASSERT( type_ == nullValue || type_ == objectValue ); - if ( type_ == nullValue ) - return null; -#ifndef JSON_VALUE_USE_INTERNAL_MAP - CZString actualKey( key, CZString::noDuplication ); - ObjectValues::iterator it = value_.map_->find( actualKey ); - if ( it == value_.map_->end() ) - return null; - Value old(it->second); - value_.map_->erase(it); - return old; -#else - Value *value = value_.map_->find( key ); - if (value){ - Value old(*value); - value_.map_.remove( key ); - return old; - } else { - return null; - } -#endif -} - -Value -Value::removeMember( const std::string &key ) -{ - return removeMember( key.c_str() ); -} - -# ifdef JSON_USE_CPPTL -Value -Value::get( const CppTL::ConstString &key, - const Value &defaultValue ) const -{ - return get( key.c_str(), defaultValue ); -} -# endif - -bool -Value::isMember( const char *key ) const -{ - const Value *value = &((*this)[key]); - return value != &null; -} - - -bool -Value::isMember( const std::string &key ) const -{ - return isMember( key.c_str() ); -} - - -# ifdef JSON_USE_CPPTL -bool -Value::isMember( const CppTL::ConstString &key ) const -{ - return isMember( key.c_str() ); -} -#endif - -Value::Members -Value::getMemberNames() const -{ - JSON_ASSERT( type_ == nullValue || type_ == objectValue ); - if ( type_ == nullValue ) - return Value::Members(); - Members members; - members.reserve( value_.map_->size() ); -#ifndef JSON_VALUE_USE_INTERNAL_MAP - ObjectValues::const_iterator it = value_.map_->begin(); - ObjectValues::const_iterator itEnd = value_.map_->end(); - for ( ; it != itEnd; ++it ) - members.push_back( std::string( (*it).first.c_str() ) ); -#else - ValueInternalMap::IteratorState it; - ValueInternalMap::IteratorState itEnd; - value_.map_->makeBeginIterator( it ); - value_.map_->makeEndIterator( itEnd ); - for ( ; !ValueInternalMap::equals( it, itEnd ); ValueInternalMap::increment(it) ) - members.push_back( std::string( ValueInternalMap::key( it ) ) ); -#endif - return members; -} -// -//# ifdef JSON_USE_CPPTL -//EnumMemberNames -//Value::enumMemberNames() const -//{ -// if ( type_ == objectValue ) -// { -// return CppTL::Enum::any( CppTL::Enum::transform( -// CppTL::Enum::keys( *(value_.map_), CppTL::Type() ), -// MemberNamesTransform() ) ); -// } -// return EnumMemberNames(); -//} -// -// -//EnumValues -//Value::enumValues() const -//{ -// if ( type_ == objectValue || type_ == arrayValue ) -// return CppTL::Enum::anyValues( *(value_.map_), -// CppTL::Type() ); -// return EnumValues(); -//} -// -//# endif - - -bool -Value::isNull() const -{ - return type_ == nullValue; -} - - -bool -Value::isBool() const -{ - return type_ == booleanValue; -} - - -bool -Value::isInt() const -{ - return type_ == intValue; -} - - -bool -Value::isUInt() const -{ - return type_ == uintValue; -} - - -bool -Value::isIntegral() const -{ - return type_ == intValue - || type_ == uintValue - || type_ == booleanValue; -} - - -bool -Value::isDouble() const -{ - return type_ == realValue; -} - - -bool -Value::isNumeric() const -{ - return isIntegral() || isDouble(); -} - - -bool -Value::isString() const -{ - return type_ == stringValue; -} - - -bool -Value::isArray() const -{ - return type_ == nullValue || type_ == arrayValue; -} - - -bool -Value::isObject() const -{ - return type_ == nullValue || type_ == objectValue; -} - - -void -Value::setComment( const char *comment, - CommentPlacement placement ) -{ - if ( !comments_ ) - comments_ = new CommentInfo[numberOfCommentPlacement]; - comments_[placement].setComment( comment ); -} - - -void -Value::setComment( const std::string &comment, - CommentPlacement placement ) -{ - setComment( comment.c_str(), placement ); -} - - -bool -Value::hasComment( CommentPlacement placement ) const -{ - return comments_ != 0 && comments_[placement].comment_ != 0; -} - -std::string -Value::getComment( CommentPlacement placement ) const -{ - if ( hasComment(placement) ) - return comments_[placement].comment_; - return ""; -} - - -std::string -Value::toStyledString() const -{ - StyledWriter writer; - return writer.write( *this ); -} - - -Value::const_iterator -Value::begin() const -{ - switch ( type_ ) - { -#ifdef JSON_VALUE_USE_INTERNAL_MAP - case arrayValue: - if ( value_.array_ ) - { - ValueInternalArray::IteratorState it; - value_.array_->makeBeginIterator( it ); - return const_iterator( it ); - } - break; - case objectValue: - if ( value_.map_ ) - { - ValueInternalMap::IteratorState it; - value_.map_->makeBeginIterator( it ); - return const_iterator( it ); - } - break; -#else - case arrayValue: - case objectValue: - if ( value_.map_ ) - return const_iterator( value_.map_->begin() ); - break; -#endif - default: - break; - } - return const_iterator(); -} - -Value::const_iterator -Value::end() const -{ - switch ( type_ ) - { -#ifdef JSON_VALUE_USE_INTERNAL_MAP - case arrayValue: - if ( value_.array_ ) - { - ValueInternalArray::IteratorState it; - value_.array_->makeEndIterator( it ); - return const_iterator( it ); - } - break; - case objectValue: - if ( value_.map_ ) - { - ValueInternalMap::IteratorState it; - value_.map_->makeEndIterator( it ); - return const_iterator( it ); - } - break; -#else - case arrayValue: - case objectValue: - if ( value_.map_ ) - return const_iterator( value_.map_->end() ); - break; -#endif - default: - break; - } - return const_iterator(); -} - - -Value::iterator -Value::begin() -{ - switch ( type_ ) - { -#ifdef JSON_VALUE_USE_INTERNAL_MAP - case arrayValue: - if ( value_.array_ ) - { - ValueInternalArray::IteratorState it; - value_.array_->makeBeginIterator( it ); - return iterator( it ); - } - break; - case objectValue: - if ( value_.map_ ) - { - ValueInternalMap::IteratorState it; - value_.map_->makeBeginIterator( it ); - return iterator( it ); - } - break; -#else - case arrayValue: - case objectValue: - if ( value_.map_ ) - return iterator( value_.map_->begin() ); - break; -#endif - default: - break; - } - return iterator(); -} - -Value::iterator -Value::end() -{ - switch ( type_ ) - { -#ifdef JSON_VALUE_USE_INTERNAL_MAP - case arrayValue: - if ( value_.array_ ) - { - ValueInternalArray::IteratorState it; - value_.array_->makeEndIterator( it ); - return iterator( it ); - } - break; - case objectValue: - if ( value_.map_ ) - { - ValueInternalMap::IteratorState it; - value_.map_->makeEndIterator( it ); - return iterator( it ); - } - break; -#else - case arrayValue: - case objectValue: - if ( value_.map_ ) - return iterator( value_.map_->end() ); - break; -#endif - default: - break; - } - return iterator(); -} - - -// class PathArgument -// ////////////////////////////////////////////////////////////////// - -PathArgument::PathArgument() - : kind_( kindNone ) -{ -} - - -PathArgument::PathArgument( Value::UInt index ) - : index_( index ) - , kind_( kindIndex ) -{ -} - - -PathArgument::PathArgument( const char *key ) - : key_( key ) - , kind_( kindKey ) -{ -} - - -PathArgument::PathArgument( const std::string &key ) - : key_( key.c_str() ) - , kind_( kindKey ) -{ -} - -// class Path -// ////////////////////////////////////////////////////////////////// - -Path::Path( const std::string &path, - const PathArgument &a1, - const PathArgument &a2, - const PathArgument &a3, - const PathArgument &a4, - const PathArgument &a5 ) -{ - InArgs in; - in.push_back( &a1 ); - in.push_back( &a2 ); - in.push_back( &a3 ); - in.push_back( &a4 ); - in.push_back( &a5 ); - makePath( path, in ); -} - - -void -Path::makePath( const std::string &path, - const InArgs &in ) -{ - const char *current = path.c_str(); - const char *end = current + path.length(); - InArgs::const_iterator itInArg = in.begin(); - while ( current != end ) - { - if ( *current == '[' ) - { - ++current; - if ( *current == '%' ) - addPathInArg( path, in, itInArg, PathArgument::kindIndex ); - else - { - Value::UInt index = 0; - for ( ; current != end && *current >= '0' && *current <= '9'; ++current ) - index = index * 10 + Value::UInt(*current - '0'); - args_.push_back( index ); - } - if ( current == end || *current++ != ']' ) - invalidPath( path, int(current - path.c_str()) ); - } - else if ( *current == '%' ) - { - addPathInArg( path, in, itInArg, PathArgument::kindKey ); - ++current; - } - else if ( *current == '.' ) - { - ++current; - } - else - { - const char *beginName = current; - while ( current != end && !strchr( "[.", *current ) ) - ++current; - args_.push_back( std::string( beginName, current ) ); - } - } -} - - -void -Path::addPathInArg( const std::string &path, - const InArgs &in, - InArgs::const_iterator &itInArg, - PathArgument::Kind kind ) -{ - if ( itInArg == in.end() ) - { - // Error: missing argument %d - } - else if ( (*itInArg)->kind_ != kind ) - { - // Error: bad argument type - } - else - { - args_.push_back( **itInArg ); - } -} - - -void -Path::invalidPath( const std::string &path, - int location ) -{ - // Error: invalid path. -} - - -const Value & -Path::resolve( const Value &root ) const -{ - const Value *node = &root; - for ( Args::const_iterator it = args_.begin(); it != args_.end(); ++it ) - { - const PathArgument &arg = *it; - if ( arg.kind_ == PathArgument::kindIndex ) - { - if ( !node->isArray() || node->isValidIndex( arg.index_ ) ) - { - // Error: unable to resolve path (array value expected at position... - } - node = &((*node)[arg.index_]); - } - else if ( arg.kind_ == PathArgument::kindKey ) - { - if ( !node->isObject() ) - { - // Error: unable to resolve path (object value expected at position...) - } - node = &((*node)[arg.key_]); - if ( node == &Value::null ) - { - // Error: unable to resolve path (object has no member named '' at position...) - } - } - } - return *node; -} - - -Value -Path::resolve( const Value &root, - const Value &defaultValue ) const -{ - const Value *node = &root; - for ( Args::const_iterator it = args_.begin(); it != args_.end(); ++it ) - { - const PathArgument &arg = *it; - if ( arg.kind_ == PathArgument::kindIndex ) - { - if ( !node->isArray() || node->isValidIndex( arg.index_ ) ) - return defaultValue; - node = &((*node)[arg.index_]); - } - else if ( arg.kind_ == PathArgument::kindKey ) - { - if ( !node->isObject() ) - return defaultValue; - node = &((*node)[arg.key_]); - if ( node == &Value::null ) - return defaultValue; - } - } - return *node; -} - - -Value & -Path::make( Value &root ) const -{ - Value *node = &root; - for ( Args::const_iterator it = args_.begin(); it != args_.end(); ++it ) - { - const PathArgument &arg = *it; - if ( arg.kind_ == PathArgument::kindIndex ) - { - if ( !node->isArray() ) - { - // Error: node is not an array at position ... - } - node = &((*node)[arg.index_]); - } - else if ( arg.kind_ == PathArgument::kindKey ) - { - if ( !node->isObject() ) - { - // Error: node is not an object at position... - } - node = &((*node)[arg.key_]); - } - } - return *node; -} - - -} // namespace Json diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_valueiterator.inl b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_valueiterator.inl deleted file mode 100644 index 736e260..0000000 --- a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_valueiterator.inl +++ /dev/null @@ -1,292 +0,0 @@ -// included by json_value.cpp -// everything is within Json namespace - - -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// -// class ValueIteratorBase -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// - -ValueIteratorBase::ValueIteratorBase() -#ifndef JSON_VALUE_USE_INTERNAL_MAP - : current_() - , isNull_( true ) -{ -} -#else - : isArray_( true ) - , isNull_( true ) -{ - iterator_.array_ = ValueInternalArray::IteratorState(); -} -#endif - - -#ifndef JSON_VALUE_USE_INTERNAL_MAP -ValueIteratorBase::ValueIteratorBase( const Value::ObjectValues::iterator ¤t ) - : current_( current ) - , isNull_( false ) -{ -} -#else -ValueIteratorBase::ValueIteratorBase( const ValueInternalArray::IteratorState &state ) - : isArray_( true ) -{ - iterator_.array_ = state; -} - - -ValueIteratorBase::ValueIteratorBase( const ValueInternalMap::IteratorState &state ) - : isArray_( false ) -{ - iterator_.map_ = state; -} -#endif - -Value & -ValueIteratorBase::deref() const -{ -#ifndef JSON_VALUE_USE_INTERNAL_MAP - return current_->second; -#else - if ( isArray_ ) - return ValueInternalArray::dereference( iterator_.array_ ); - return ValueInternalMap::value( iterator_.map_ ); -#endif -} - - -void -ValueIteratorBase::increment() -{ -#ifndef JSON_VALUE_USE_INTERNAL_MAP - ++current_; -#else - if ( isArray_ ) - ValueInternalArray::increment( iterator_.array_ ); - ValueInternalMap::increment( iterator_.map_ ); -#endif -} - - -void -ValueIteratorBase::decrement() -{ -#ifndef JSON_VALUE_USE_INTERNAL_MAP - --current_; -#else - if ( isArray_ ) - ValueInternalArray::decrement( iterator_.array_ ); - ValueInternalMap::decrement( iterator_.map_ ); -#endif -} - - -ValueIteratorBase::difference_type -ValueIteratorBase::computeDistance( const SelfType &other ) const -{ -#ifndef JSON_VALUE_USE_INTERNAL_MAP -# ifdef JSON_USE_CPPTL_SMALLMAP - return current_ - other.current_; -# else - // Iterator for null value are initialized using the default - // constructor, which initialize current_ to the default - // std::map::iterator. As begin() and end() are two instance - // of the default std::map::iterator, they can not be compared. - // To allow this, we handle this comparison specifically. - if ( isNull_ && other.isNull_ ) - { - return 0; - } - - - // Usage of std::distance is not portable (does not compile with Sun Studio 12 RogueWave STL, - // which is the one used by default). - // Using a portable hand-made version for non random iterator instead: - // return difference_type( std::distance( current_, other.current_ ) ); - difference_type myDistance = 0; - for ( Value::ObjectValues::iterator it = current_; it != other.current_; ++it ) - { - ++myDistance; - } - return myDistance; -# endif -#else - if ( isArray_ ) - return ValueInternalArray::distance( iterator_.array_, other.iterator_.array_ ); - return ValueInternalMap::distance( iterator_.map_, other.iterator_.map_ ); -#endif -} - - -bool -ValueIteratorBase::isEqual( const SelfType &other ) const -{ -#ifndef JSON_VALUE_USE_INTERNAL_MAP - if ( isNull_ ) - { - return other.isNull_; - } - return current_ == other.current_; -#else - if ( isArray_ ) - return ValueInternalArray::equals( iterator_.array_, other.iterator_.array_ ); - return ValueInternalMap::equals( iterator_.map_, other.iterator_.map_ ); -#endif -} - - -void -ValueIteratorBase::copy( const SelfType &other ) -{ -#ifndef JSON_VALUE_USE_INTERNAL_MAP - current_ = other.current_; -#else - if ( isArray_ ) - iterator_.array_ = other.iterator_.array_; - iterator_.map_ = other.iterator_.map_; -#endif -} - - -Value -ValueIteratorBase::key() const -{ -#ifndef JSON_VALUE_USE_INTERNAL_MAP - const Value::CZString czstring = (*current_).first; - if ( czstring.c_str() ) - { - if ( czstring.isStaticString() ) - return Value( StaticString( czstring.c_str() ) ); - return Value( czstring.c_str() ); - } - return Value( czstring.index() ); -#else - if ( isArray_ ) - return Value( ValueInternalArray::indexOf( iterator_.array_ ) ); - bool isStatic; - const char *memberName = ValueInternalMap::key( iterator_.map_, isStatic ); - if ( isStatic ) - return Value( StaticString( memberName ) ); - return Value( memberName ); -#endif -} - - -UInt -ValueIteratorBase::index() const -{ -#ifndef JSON_VALUE_USE_INTERNAL_MAP - const Value::CZString czstring = (*current_).first; - if ( !czstring.c_str() ) - return czstring.index(); - return Value::UInt( -1 ); -#else - if ( isArray_ ) - return Value::UInt( ValueInternalArray::indexOf( iterator_.array_ ) ); - return Value::UInt( -1 ); -#endif -} - - -const char * -ValueIteratorBase::memberName() const -{ -#ifndef JSON_VALUE_USE_INTERNAL_MAP - const char *name = (*current_).first.c_str(); - return name ? name : ""; -#else - if ( !isArray_ ) - return ValueInternalMap::key( iterator_.map_ ); - return ""; -#endif -} - - -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// -// class ValueConstIterator -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// - -ValueConstIterator::ValueConstIterator() -{ -} - - -#ifndef JSON_VALUE_USE_INTERNAL_MAP -ValueConstIterator::ValueConstIterator( const Value::ObjectValues::iterator ¤t ) - : ValueIteratorBase( current ) -{ -} -#else -ValueConstIterator::ValueConstIterator( const ValueInternalArray::IteratorState &state ) - : ValueIteratorBase( state ) -{ -} - -ValueConstIterator::ValueConstIterator( const ValueInternalMap::IteratorState &state ) - : ValueIteratorBase( state ) -{ -} -#endif - -ValueConstIterator & -ValueConstIterator::operator =( const ValueIteratorBase &other ) -{ - copy( other ); - return *this; -} - - -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// -// class ValueIterator -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// -// ////////////////////////////////////////////////////////////////// - -ValueIterator::ValueIterator() -{ -} - - -#ifndef JSON_VALUE_USE_INTERNAL_MAP -ValueIterator::ValueIterator( const Value::ObjectValues::iterator ¤t ) - : ValueIteratorBase( current ) -{ -} -#else -ValueIterator::ValueIterator( const ValueInternalArray::IteratorState &state ) - : ValueIteratorBase( state ) -{ -} - -ValueIterator::ValueIterator( const ValueInternalMap::IteratorState &state ) - : ValueIteratorBase( state ) -{ -} -#endif - -ValueIterator::ValueIterator( const ValueConstIterator &other ) - : ValueIteratorBase( other ) -{ -} - -ValueIterator::ValueIterator( const ValueIterator &other ) - : ValueIteratorBase( other ) -{ -} - -ValueIterator & -ValueIterator::operator =( const SelfType &other ) -{ - copy( other ); - return *this; -} diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_writer.cpp b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_writer.cpp deleted file mode 100644 index cdf4188..0000000 --- a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/json_writer.cpp +++ /dev/null @@ -1,829 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include - -#if _MSC_VER >= 1400 // VC++ 8.0 -#pragma warning( disable : 4996 ) // disable warning about strdup being deprecated. -#endif - -namespace Json { - -static bool isControlCharacter(char ch) -{ - return ch > 0 && ch <= 0x1F; -} - -static bool containsControlCharacter( const char* str ) -{ - while ( *str ) - { - if ( isControlCharacter( *(str++) ) ) - return true; - } - return false; -} -static void uintToString( unsigned int value, - char *¤t ) -{ - *--current = 0; - do - { - *--current = (value % 10) + '0'; - value /= 10; - } - while ( value != 0 ); -} - -std::string valueToString( Int value ) -{ - char buffer[32]; - char *current = buffer + sizeof(buffer); - bool isNegative = value < 0; - if ( isNegative ) - value = -value; - uintToString( UInt(value), current ); - if ( isNegative ) - *--current = '-'; - assert( current >= buffer ); - return current; -} - - -std::string valueToString( UInt value ) -{ - char buffer[32]; - char *current = buffer + sizeof(buffer); - uintToString( value, current ); - assert( current >= buffer ); - return current; -} - -std::string valueToString( double value ) -{ - char buffer[32]; -#if defined(_MSC_VER) && defined(__STDC_SECURE_LIB__) // Use secure version with visual studio 2005 to avoid warning. - sprintf_s(buffer, sizeof(buffer), "%#.16g", value); -#else - sprintf(buffer, "%#.16g", value); -#endif - char* ch = buffer + strlen(buffer) - 1; - if (*ch != '0') return buffer; // nothing to truncate, so save time - while(ch > buffer && *ch == '0'){ - --ch; - } - char* last_nonzero = ch; - while(ch >= buffer){ - switch(*ch){ - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - --ch; - continue; - case '.': - // Truncate zeroes to save bytes in output, but keep one. - *(last_nonzero+2) = '\0'; - return buffer; - default: - return buffer; - } - } - return buffer; -} - - -std::string valueToString( bool value ) -{ - return value ? "true" : "false"; -} - -std::string valueToQuotedString( const char *value ) -{ - // Not sure how to handle unicode... - if (strpbrk(value, "\"\\\b\f\n\r\t") == NULL && !containsControlCharacter( value )) - return std::string("\"") + value + "\""; - // We have to walk value and escape any special characters. - // Appending to std::string is not efficient, but this should be rare. - // (Note: forward slashes are *not* rare, but I am not escaping them.) - unsigned maxsize = strlen(value)*2 + 3; // allescaped+quotes+NULL - std::string result; - result.reserve(maxsize); // to avoid lots of mallocs - result += "\""; - for (const char* c=value; *c != 0; ++c) - { - switch(*c) - { - case '\"': - result += "\\\""; - break; - case '\\': - result += "\\\\"; - break; - case '\b': - result += "\\b"; - break; - case '\f': - result += "\\f"; - break; - case '\n': - result += "\\n"; - break; - case '\r': - result += "\\r"; - break; - case '\t': - result += "\\t"; - break; - //case '/': - // Even though \/ is considered a legal escape in JSON, a bare - // slash is also legal, so I see no reason to escape it. - // (I hope I am not misunderstanding something. - // blep notes: actually escaping \/ may be useful in javascript to avoid (*c); - result += oss.str(); - } - else - { - result += *c; - } - break; - } - } - result += "\""; - return result; -} - -// Class Writer -// ////////////////////////////////////////////////////////////////// -Writer::~Writer() -{ -} - - -// Class FastWriter -// ////////////////////////////////////////////////////////////////// - -FastWriter::FastWriter() - : yamlCompatiblityEnabled_( false ) -{ -} - - -void -FastWriter::enableYAMLCompatibility() -{ - yamlCompatiblityEnabled_ = true; -} - - -std::string -FastWriter::write( const Value &root ) -{ - document_ = ""; - writeValue( root ); - document_ += "\n"; - return document_; -} - - -void -FastWriter::writeValue( const Value &value ) -{ - switch ( value.type() ) - { - case nullValue: - document_ += "null"; - break; - case intValue: - document_ += valueToString( value.asInt() ); - break; - case uintValue: - document_ += valueToString( value.asUInt() ); - break; - case realValue: - document_ += valueToString( value.asDouble() ); - break; - case stringValue: - document_ += valueToQuotedString( value.asCString() ); - break; - case booleanValue: - document_ += valueToString( value.asBool() ); - break; - case arrayValue: - { - document_ += "["; - int size = value.size(); - for ( int index =0; index < size; ++index ) - { - if ( index > 0 ) - document_ += ","; - writeValue( value[index] ); - } - document_ += "]"; - } - break; - case objectValue: - { - Value::Members members( value.getMemberNames() ); - document_ += "{"; - for ( Value::Members::iterator it = members.begin(); - it != members.end(); - ++it ) - { - const std::string &name = *it; - if ( it != members.begin() ) - document_ += ","; - document_ += valueToQuotedString( name.c_str() ); - document_ += yamlCompatiblityEnabled_ ? ": " - : ":"; - writeValue( value[name] ); - } - document_ += "}"; - } - break; - } -} - - -// Class StyledWriter -// ////////////////////////////////////////////////////////////////// - -StyledWriter::StyledWriter() - : rightMargin_( 74 ) - , indentSize_( 3 ) -{ -} - - -std::string -StyledWriter::write( const Value &root ) -{ - document_ = ""; - addChildValues_ = false; - indentString_ = ""; - writeCommentBeforeValue( root ); - writeValue( root ); - writeCommentAfterValueOnSameLine( root ); - document_ += "\n"; - return document_; -} - - -void -StyledWriter::writeValue( const Value &value ) -{ - switch ( value.type() ) - { - case nullValue: - pushValue( "null" ); - break; - case intValue: - pushValue( valueToString( value.asInt() ) ); - break; - case uintValue: - pushValue( valueToString( value.asUInt() ) ); - break; - case realValue: - pushValue( valueToString( value.asDouble() ) ); - break; - case stringValue: - pushValue( valueToQuotedString( value.asCString() ) ); - break; - case booleanValue: - pushValue( valueToString( value.asBool() ) ); - break; - case arrayValue: - writeArrayValue( value); - break; - case objectValue: - { - Value::Members members( value.getMemberNames() ); - if ( members.empty() ) - pushValue( "{}" ); - else - { - writeWithIndent( "{" ); - indent(); - Value::Members::iterator it = members.begin(); - while ( true ) - { - const std::string &name = *it; - const Value &childValue = value[name]; - writeCommentBeforeValue( childValue ); - writeWithIndent( valueToQuotedString( name.c_str() ) ); - document_ += " : "; - writeValue( childValue ); - if ( ++it == members.end() ) - { - writeCommentAfterValueOnSameLine( childValue ); - break; - } - document_ += ","; - writeCommentAfterValueOnSameLine( childValue ); - } - unindent(); - writeWithIndent( "}" ); - } - } - break; - } -} - - -void -StyledWriter::writeArrayValue( const Value &value ) -{ - unsigned size = value.size(); - if ( size == 0 ) - pushValue( "[]" ); - else - { - bool isArrayMultiLine = isMultineArray( value ); - if ( isArrayMultiLine ) - { - writeWithIndent( "[" ); - indent(); - bool hasChildValue = !childValues_.empty(); - unsigned index =0; - while ( true ) - { - const Value &childValue = value[index]; - writeCommentBeforeValue( childValue ); - if ( hasChildValue ) - writeWithIndent( childValues_[index] ); - else - { - writeIndent(); - writeValue( childValue ); - } - if ( ++index == size ) - { - writeCommentAfterValueOnSameLine( childValue ); - break; - } - document_ += ","; - writeCommentAfterValueOnSameLine( childValue ); - } - unindent(); - writeWithIndent( "]" ); - } - else // output on a single line - { - assert( childValues_.size() == size ); - document_ += "[ "; - for ( unsigned index =0; index < size; ++index ) - { - if ( index > 0 ) - document_ += ", "; - document_ += childValues_[index]; - } - document_ += " ]"; - } - } -} - - -bool -StyledWriter::isMultineArray( const Value &value ) -{ - int size = value.size(); - bool isMultiLine = size*3 >= rightMargin_ ; - childValues_.clear(); - for ( int index =0; index < size && !isMultiLine; ++index ) - { - const Value &childValue = value[index]; - isMultiLine = isMultiLine || - ( (childValue.isArray() || childValue.isObject()) && - childValue.size() > 0 ); - } - if ( !isMultiLine ) // check if line length > max line length - { - childValues_.reserve( size ); - addChildValues_ = true; - int lineLength = 4 + (size-1)*2; // '[ ' + ', '*n + ' ]' - for ( int index =0; index < size && !isMultiLine; ++index ) - { - writeValue( value[index] ); - lineLength += int( childValues_[index].length() ); - isMultiLine = isMultiLine && hasCommentForValue( value[index] ); - } - addChildValues_ = false; - isMultiLine = isMultiLine || lineLength >= rightMargin_; - } - return isMultiLine; -} - - -void -StyledWriter::pushValue( const std::string &value ) -{ - if ( addChildValues_ ) - childValues_.push_back( value ); - else - document_ += value; -} - - -void -StyledWriter::writeIndent() -{ - if ( !document_.empty() ) - { - char last = document_[document_.length()-1]; - if ( last == ' ' ) // already indented - return; - if ( last != '\n' ) // Comments may add new-line - document_ += '\n'; - } - document_ += indentString_; -} - - -void -StyledWriter::writeWithIndent( const std::string &value ) -{ - writeIndent(); - document_ += value; -} - - -void -StyledWriter::indent() -{ - indentString_ += std::string( indentSize_, ' ' ); -} - - -void -StyledWriter::unindent() -{ - assert( int(indentString_.size()) >= indentSize_ ); - indentString_.resize( indentString_.size() - indentSize_ ); -} - - -void -StyledWriter::writeCommentBeforeValue( const Value &root ) -{ - if ( !root.hasComment( commentBefore ) ) - return; - document_ += normalizeEOL( root.getComment( commentBefore ) ); - document_ += "\n"; -} - - -void -StyledWriter::writeCommentAfterValueOnSameLine( const Value &root ) -{ - if ( root.hasComment( commentAfterOnSameLine ) ) - document_ += " " + normalizeEOL( root.getComment( commentAfterOnSameLine ) ); - - if ( root.hasComment( commentAfter ) ) - { - document_ += "\n"; - document_ += normalizeEOL( root.getComment( commentAfter ) ); - document_ += "\n"; - } -} - - -bool -StyledWriter::hasCommentForValue( const Value &value ) -{ - return value.hasComment( commentBefore ) - || value.hasComment( commentAfterOnSameLine ) - || value.hasComment( commentAfter ); -} - - -std::string -StyledWriter::normalizeEOL( const std::string &text ) -{ - std::string normalized; - normalized.reserve( text.length() ); - const char *begin = text.c_str(); - const char *end = begin + text.length(); - const char *current = begin; - while ( current != end ) - { - char c = *current++; - if ( c == '\r' ) // mac or dos EOL - { - if ( *current == '\n' ) // convert dos EOL - ++current; - normalized += '\n'; - } - else // handle unix EOL & other char - normalized += c; - } - return normalized; -} - - -// Class StyledStreamWriter -// ////////////////////////////////////////////////////////////////// - -StyledStreamWriter::StyledStreamWriter( std::string indentation ) - : document_(NULL) - , rightMargin_( 74 ) - , indentation_( indentation ) -{ -} - - -void -StyledStreamWriter::write( std::ostream &out, const Value &root ) -{ - document_ = &out; - addChildValues_ = false; - indentString_ = ""; - writeCommentBeforeValue( root ); - writeValue( root ); - writeCommentAfterValueOnSameLine( root ); - *document_ << "\n"; - document_ = NULL; // Forget the stream, for safety. -} - - -void -StyledStreamWriter::writeValue( const Value &value ) -{ - switch ( value.type() ) - { - case nullValue: - pushValue( "null" ); - break; - case intValue: - pushValue( valueToString( value.asInt() ) ); - break; - case uintValue: - pushValue( valueToString( value.asUInt() ) ); - break; - case realValue: - pushValue( valueToString( value.asDouble() ) ); - break; - case stringValue: - pushValue( valueToQuotedString( value.asCString() ) ); - break; - case booleanValue: - pushValue( valueToString( value.asBool() ) ); - break; - case arrayValue: - writeArrayValue( value); - break; - case objectValue: - { - Value::Members members( value.getMemberNames() ); - if ( members.empty() ) - pushValue( "{}" ); - else - { - writeWithIndent( "{" ); - indent(); - Value::Members::iterator it = members.begin(); - while ( true ) - { - const std::string &name = *it; - const Value &childValue = value[name]; - writeCommentBeforeValue( childValue ); - writeWithIndent( valueToQuotedString( name.c_str() ) ); - *document_ << " : "; - writeValue( childValue ); - if ( ++it == members.end() ) - { - writeCommentAfterValueOnSameLine( childValue ); - break; - } - *document_ << ","; - writeCommentAfterValueOnSameLine( childValue ); - } - unindent(); - writeWithIndent( "}" ); - } - } - break; - } -} - - -void -StyledStreamWriter::writeArrayValue( const Value &value ) -{ - unsigned size = value.size(); - if ( size == 0 ) - pushValue( "[]" ); - else - { - bool isArrayMultiLine = isMultineArray( value ); - if ( isArrayMultiLine ) - { - writeWithIndent( "[" ); - indent(); - bool hasChildValue = !childValues_.empty(); - unsigned index =0; - while ( true ) - { - const Value &childValue = value[index]; - writeCommentBeforeValue( childValue ); - if ( hasChildValue ) - writeWithIndent( childValues_[index] ); - else - { - writeIndent(); - writeValue( childValue ); - } - if ( ++index == size ) - { - writeCommentAfterValueOnSameLine( childValue ); - break; - } - *document_ << ","; - writeCommentAfterValueOnSameLine( childValue ); - } - unindent(); - writeWithIndent( "]" ); - } - else // output on a single line - { - assert( childValues_.size() == size ); - *document_ << "[ "; - for ( unsigned index =0; index < size; ++index ) - { - if ( index > 0 ) - *document_ << ", "; - *document_ << childValues_[index]; - } - *document_ << " ]"; - } - } -} - - -bool -StyledStreamWriter::isMultineArray( const Value &value ) -{ - int size = value.size(); - bool isMultiLine = size*3 >= rightMargin_ ; - childValues_.clear(); - for ( int index =0; index < size && !isMultiLine; ++index ) - { - const Value &childValue = value[index]; - isMultiLine = isMultiLine || - ( (childValue.isArray() || childValue.isObject()) && - childValue.size() > 0 ); - } - if ( !isMultiLine ) // check if line length > max line length - { - childValues_.reserve( size ); - addChildValues_ = true; - int lineLength = 4 + (size-1)*2; // '[ ' + ', '*n + ' ]' - for ( int index =0; index < size && !isMultiLine; ++index ) - { - writeValue( value[index] ); - lineLength += int( childValues_[index].length() ); - isMultiLine = isMultiLine && hasCommentForValue( value[index] ); - } - addChildValues_ = false; - isMultiLine = isMultiLine || lineLength >= rightMargin_; - } - return isMultiLine; -} - - -void -StyledStreamWriter::pushValue( const std::string &value ) -{ - if ( addChildValues_ ) - childValues_.push_back( value ); - else - *document_ << value; -} - - -void -StyledStreamWriter::writeIndent() -{ - /* - Some comments in this method would have been nice. ;-) - - if ( !document_.empty() ) - { - char last = document_[document_.length()-1]; - if ( last == ' ' ) // already indented - return; - if ( last != '\n' ) // Comments may add new-line - *document_ << '\n'; - } - */ - *document_ << '\n' << indentString_; -} - - -void -StyledStreamWriter::writeWithIndent( const std::string &value ) -{ - writeIndent(); - *document_ << value; -} - - -void -StyledStreamWriter::indent() -{ - indentString_ += indentation_; -} - - -void -StyledStreamWriter::unindent() -{ - assert( indentString_.size() >= indentation_.size() ); - indentString_.resize( indentString_.size() - indentation_.size() ); -} - - -void -StyledStreamWriter::writeCommentBeforeValue( const Value &root ) -{ - if ( !root.hasComment( commentBefore ) ) - return; - *document_ << normalizeEOL( root.getComment( commentBefore ) ); - *document_ << "\n"; -} - - -void -StyledStreamWriter::writeCommentAfterValueOnSameLine( const Value &root ) -{ - if ( root.hasComment( commentAfterOnSameLine ) ) - *document_ << " " + normalizeEOL( root.getComment( commentAfterOnSameLine ) ); - - if ( root.hasComment( commentAfter ) ) - { - *document_ << "\n"; - *document_ << normalizeEOL( root.getComment( commentAfter ) ); - *document_ << "\n"; - } -} - - -bool -StyledStreamWriter::hasCommentForValue( const Value &value ) -{ - return value.hasComment( commentBefore ) - || value.hasComment( commentAfterOnSameLine ) - || value.hasComment( commentAfter ); -} - - -std::string -StyledStreamWriter::normalizeEOL( const std::string &text ) -{ - std::string normalized; - normalized.reserve( text.length() ); - const char *begin = text.c_str(); - const char *end = begin + text.length(); - const char *current = begin; - while ( current != end ) - { - char c = *current++; - if ( c == '\r' ) // mac or dos EOL - { - if ( *current == '\n' ) // convert dos EOL - ++current; - normalized += '\n'; - } - else // handle unix EOL & other char - normalized += c; - } - return normalized; -} - - -std::ostream& operator<<( std::ostream &sout, const Value &root ) -{ - Json::StyledStreamWriter writer; - writer.write(sout, root); - return sout; -} - - -} // namespace Json diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/plugin.cpp b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/plugin.cpp deleted file mode 100644 index 6906275..0000000 --- a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/plugin.cpp +++ /dev/null @@ -1,320 +0,0 @@ -#include "plugin.h" -#include "tokenizer.h" - -#ifdef _WINDOWS -#include -BOOL APIENTRY DllMain( HANDLE hModule, - DWORD ul_reason_for_call, - LPVOID lpReserved ) -{ - return TRUE; -} -#else -#include -#include - -extern int errno; -#endif - -SendPluginEv SendPluginEvent; - -string g_GetSysErrMsg( void ) -{ - string strError = "Unknown"; - // Problem loading -#ifdef _WINDOWS - int nErrorCode = GetLastError(); - LPTSTR s; - if ( ::FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, - NULL, nErrorCode, 0, ( LPTSTR ) &s, 0, NULL ) ) - { - strError = s; - } - else - { - char szBuf[ 20 ]; - _snprintf_s( szBuf, _countof(szBuf), 19, "%d", nErrorCode ); - strError = szBuf; - } -#else - char szError[80]; - if ( strerror_r( errno, szError, sizeof(szError) ) ) - { - strError = "no description found"; - } - else - { - strError = szError; - } -#endif - return strError; -} - -void g_sleep( unsigned int mseconds ) -{ -#ifdef _WINDOWS - Sleep( mseconds ); -#else - usleep( mseconds * 1000 ); -#endif -} - -string& g_trim( string& str ) -{ - // Whitespace characters - char whspc[] = " \t\r\n\v\f"; - - // Whack off first part - size_t pos = str.find_first_not_of( whspc ); - - if ( pos != string::npos ) - str.replace( 0, pos, "" ); - - // Whack off trailing stuff - pos = str.find_last_not_of( whspc ); - - if ( pos != string::npos ) - str.replace( pos + 1, str.length() - pos, "" ); - - return str; -} - -void g_tokenize( const string& str, const string& delimiters, vector& tokens ) -{ - tokenize( str, tokens, delimiters ); -} - -char* SetEventFunc( SendPluginEv funcPtr ) -{ - static char * szObjList = onGetObjList(); - SendPluginEvent = funcPtr; - return szObjList; -} - - -const int nMAXSIZE = 512; -char* g_pszRetVal = NULL; - -//----------------------------------------------------------- -// Map from an object Id to an object instance -//----------------------------------------------------------- -typedef std::map StringToJExt_T; - -//----------------------------------------------------------- -// Map from a browser context to an id mapping -//----------------------------------------------------------- -typedef std::map VoidToMap_T; - -VoidToMap_T g_context2Map; - -class GlobalSharedModule -{ - -public: - GlobalSharedModule( void ) - { - g_pszRetVal = new char[ nMAXSIZE ]; - } - - ~GlobalSharedModule() - { - delete [] g_pszRetVal; - - VoidToMap_T::iterator posMaps; - - for ( posMaps = g_context2Map.begin(); posMaps != g_context2Map.end(); ++posMaps ) - { - StringToJExt_T& id2Obj = *posMaps->second; - StringToJExt_T::iterator posMap; - - for ( posMap = id2Obj.begin(); posMap != id2Obj.end(); ++posMap ) - { - JSExt* pJSExt = posMap->second; - - if ( pJSExt->CanDelete() ) - { - delete pJSExt; - } - } - - id2Obj.erase( id2Obj.begin(), id2Obj.end() ); - } - - g_context2Map.erase( g_context2Map.begin(), g_context2Map.end() ); - } -}; - -GlobalSharedModule g_sharedModule; - -char* g_str2global( const string& strRetVal ) -{ - int nLen = strRetVal.size(); - - if ( nLen >= nMAXSIZE ) - { - delete [] g_pszRetVal; - g_pszRetVal = new char[ nLen + 1 ]; - } - - else - { - // To minimaize the number of memory reallocations, the assumption - // is that in most times this will be the case - delete [] g_pszRetVal; - g_pszRetVal = new char[ nMAXSIZE ]; - } - - strcpy( g_pszRetVal, strRetVal.c_str() ); - return g_pszRetVal; -} - -bool g_unregisterObject( const string& strObjId, void* pContext ) -{ - // Called by the plugin extension implementation - // if the extension handles the deletion of its object - - StringToJExt_T * pID2Obj = NULL; - - VoidToMap_T::iterator iter = g_context2Map.find( pContext ); - - if ( iter != g_context2Map.end() ) - { - pID2Obj = iter->second; - } - else - { - return false; - } - - StringToJExt_T& mapID2Obj = *pID2Obj; - - StringToJExt_T::iterator r = mapID2Obj.find( strObjId ); - - if ( r == mapID2Obj.end() ) - { - return false; - } - - mapID2Obj.erase( strObjId ); - return true; -} - -char* InvokeFunction( const char* szCommand, void* pContext ) -{ - StringToJExt_T * pID2Obj = NULL; - - VoidToMap_T::iterator iter = g_context2Map.find( pContext ); - - if ( iter != g_context2Map.end() ) - { - pID2Obj = iter->second; - } - else - { - pID2Obj = new StringToJExt_T; - g_context2Map[ pContext ] = pID2Obj; - } - - StringToJExt_T& mapID2Obj = *pID2Obj; - - string strFullCommand = szCommand; - vector arParams; - g_tokenize( strFullCommand, " ", arParams ); - string strCommand = arParams[ 0 ]; - string strRetVal = szERROR; - - if ( strCommand == szCREATE ) - { - string strClassName = arParams[ 1 ]; - string strObjId = arParams[ 2 ]; - - StringToJExt_T::iterator r = mapID2Obj.find( strObjId ); - - if ( r != mapID2Obj.end() ) - { - strRetVal += strObjId; - strRetVal += " :Object already exists."; - return g_str2global( strRetVal ); - } - - JSExt* pJSExt = onCreateObject( strClassName, strObjId ); - - if ( pJSExt == NULL ) - { - strRetVal += strObjId; - strRetVal += " :Unknown object type "; - strRetVal += strClassName; - return g_str2global( strRetVal ); - } - - pJSExt->m_pContext = pContext; - mapID2Obj[ strObjId ] = pJSExt; - - strRetVal = szOK; - strRetVal += strObjId; - return g_str2global( strRetVal ); - } - else - if ( strCommand == szINVOKE ) - { - string strObjId = arParams[ 1 ]; - string strMethod = arParams[ 2 ]; - - StringToJExt_T::iterator r = mapID2Obj.find( strObjId ); - - if ( r == mapID2Obj.end() ) - { - strRetVal += strObjId; - strRetVal += " :No object found for id."; - return g_str2global( strRetVal ); - } - - JSExt* pJSExt = r->second; - - size_t nLoc = strFullCommand.find( strObjId ); - - if ( nLoc == string::npos ) - { - strRetVal += strObjId; - strRetVal += " :Internal InvokeMethod error."; - return g_str2global( strRetVal ); - } - - if ( strMethod == szDISPOSE ) - { - StringToJExt_T::iterator r = mapID2Obj.find( strObjId ); - - if ( r == mapID2Obj.end() ) - { - strRetVal = szERROR; - strRetVal += strObjId; - return g_str2global( strRetVal ); - } - - JSExt * pJSExt = mapID2Obj[ strObjId ]; - - if ( pJSExt->CanDelete() ) - { - delete pJSExt; - } - - mapID2Obj.erase( strObjId ); - strRetVal = szOK; - strRetVal += strObjId; - return g_str2global( strRetVal ); - } - - size_t nSuffixLoc = nLoc + strObjId.size(); - string strInvoke = strFullCommand.substr( nSuffixLoc ); - strInvoke = g_trim( strInvoke ); - strRetVal = pJSExt->InvokeMethod( strInvoke ); - return g_str2global( strRetVal ); - } - - strRetVal += " :Unknown command "; - strRetVal += strCommand; - return g_str2global( strRetVal ); -} - -//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/plugin.h b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/plugin.h deleted file mode 100644 index 4ef7116..0000000 --- a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/plugin.h +++ /dev/null @@ -1,70 +0,0 @@ -#ifndef _PLUGIN_H -#define _PLUGIN_H - -#include -#include -#include -#include -//#include "tokenizer.h" - -using namespace std; - -//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -//%% Functions exported by this DLL -//%% Should always be only SetEventFunc and InvokeFunction -//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -// g++ requires extern "C" otherwise the names of SetEventFunc and InvokeFunction -// are mangled C++ style. MS Visual Studio doesn't seem to care though. -extern "C" -{ - typedef void (*SendPluginEv)( const char* szEvent, void* pContext ); - char* SetEventFunc(SendPluginEv funcPtr); - char* InvokeFunction( const char* szCommand, void* pContext ); -} - -// JNEXT Framework function of the form: -// typedef void (*SendPluginEv)( const char* szEvent ); -// used to notify JavaScript of an asynchronous event -extern SendPluginEv SendPluginEvent; - -///////////////////////////////////////////////////////////////////////// -// Constants and methods common to all JNEXT extensions types -///////////////////////////////////////////////////////////////////////// -#define szERROR "Error " -#define szOK "Ok " - -#define szDISPOSE "Dispose" -#define szINVOKE "InvokeMethod" -#define szCREATE "CreateObj" - -///////////////////////////////////////////////////////////////////////// -// Utility functions -///////////////////////////////////////////////////////////////////////// -string& g_trim( string& str ); -void g_tokenize(const string& str,const string& delimiters, vector& tokens); -char* g_str2static( const string& strRetVal ); -void g_sleep( unsigned int mseconds ); -bool g_unregisterObject( const string& strObjId, void* pContext ); - - -///////////////////////////////////////////////////////////////////////// -// Abstract extension object -///////////////////////////////////////////////////////////////////////// -class JSExt -{ -public: - virtual ~JSExt() {}; - virtual string InvokeMethod( const string& strCommand ) = 0; - virtual bool CanDelete( void ) = 0; - virtual void TryDelete( void ) {} -public: - void* m_pContext; -}; - -///////////////////////////////////////////////////////////////////////// -// Callback functions to be implemented by the plugin implementation -///////////////////////////////////////////////////////////////////////// -extern char* onGetObjList( void ); -extern JSExt* onCreateObject( const string& strClassName, const string& strObjId ); - -#endif diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/tokenizer.cpp b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/tokenizer.cpp deleted file mode 100644 index 4a39573..0000000 --- a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/tokenizer.cpp +++ /dev/null @@ -1,222 +0,0 @@ -/************************************************************************ -The zlib/libpng License - -Copyright (c) 2006 Joerg Wiedenmann - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising from -the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; -you must not claim that you wrote the original software. -If you use this software in a product, an acknowledgment -in the product documentation would be appreciated but is -not required. - -2. Altered source versions must be plainly marked as such, -and must not be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source distribution. - -***********************************************************************/ - -/******************************************************************** - created: 2006-01-28 - filename: tokenizer.cpp - author: Jörg Wiedenmann - - purpose: A tokenizer function which provides a very - customizable way of breaking up strings. - - history: 2006-01-28, Original version - 2006-03-04, Fixed a small parsing bug, thanks Elias. -*********************************************************************/ - -#include "tokenizer.h" - -using namespace std; - -void tokenize ( const string& str, vector& result, - const string& delimiters, const string& delimiters_preserve, - const string& quote, const string& esc ) -{ - // clear the vector - if ( false == result.empty() ) - { - result.clear(); - } - - string::size_type pos = 0; // the current position (char) in the string - char ch = 0; // buffer for the current character - char delimiter = 0; // the buffer for the delimiter char which - // will be added to the tokens if the delimiter - // is preserved - char current_quote = 0; // the char of the current open quote - bool quoted = false; // indicator if there is an open quote - string token; // string buffer for the token - bool token_complete = false; // indicates if the current token is - // read to be added to the result vector - string::size_type len = str.length(); // length of the input-string - - // for every char in the input-string - while ( len > pos ) - { - // get the character of the string and reset the delimiter buffer - ch = str.at(pos); - delimiter = 0; - - // assume ch isn't a delimiter - bool add_char = true; - - // check ... - - // ... if the delimiter is an escaped character - bool escaped = false; // indicates if the next char is protected - if ( false == esc.empty() ) // check if esc-chars are provided - { - if ( string::npos != esc.find_first_of(ch) ) - { - // get the escaped char - ++pos; - if ( pos < len ) // if there are more chars left - { - // get the next one - ch = str.at(pos); - - // add the escaped character to the token - add_char = true; - } - else // cannot get any more characters - { - // don't add the esc-char - add_char = false; - } - - // ignore the remaining delimiter checks - escaped = true; - } - } - - // ... if the delimiter is a quote - if ( false == quote.empty() && false == escaped ) - { - // if quote chars are provided and the char isn't protected - if ( string::npos != quote.find_first_of(ch) ) - { - // if not quoted, set state to open quote and set - // the quote character - if ( false == quoted ) - { - quoted = true; - current_quote = ch; - - // don't add the quote-char to the token - add_char = false; - } - else // if quote is open already - { - // check if it is the matching character to close it - if ( current_quote == ch ) - { - // close quote and reset the quote character - quoted = false; - current_quote = 0; - - // don't add the quote-char to the token - add_char = false; - } - } // else - } - } - - // ... if the delimiter isn't preserved - if ( false == delimiters.empty() && false == escaped && - false == quoted ) - { - // if a delimiter is provided and the char isn't protected by - // quote or escape char - if ( string::npos != delimiters.find_first_of(ch) ) - { - // if ch is a delimiter and the token string isn't empty - // the token is complete - if ( false == token.empty() ) // BUGFIX: 2006-03-04 - { - token_complete = true; - } - - // don't add the delimiter to the token - add_char = false; - } - } - - // ... if the delimiter is preserved - add it as a token - bool add_delimiter = false; - if ( false == delimiters_preserve.empty() && false == escaped && - false == quoted ) - { - // if a delimiter which will be preserved is provided and the - // char isn't protected by quote or escape char - if ( string::npos != delimiters_preserve.find_first_of(ch) ) - { - // if ch is a delimiter and the token string isn't empty - // the token is complete - if ( false == token.empty() ) // BUGFIX: 2006-03-04 - { - token_complete = true; - } - - // don't add the delimiter to the token - add_char = false; - - // add the delimiter - delimiter = ch; - add_delimiter = true; - } - } - - - // add the character to the token - if ( true == add_char ) - { - // add the current char - token.push_back( ch ); - } - - // add the token if it is complete - if ( true == token_complete && false == token.empty() ) - { - // add the token string - result.push_back( token ); - - // clear the contents - token.clear(); - - // build the next token - token_complete = false; - } - - // add the delimiter - if ( true == add_delimiter ) - { - // the next token is the delimiter - string delim_token; - delim_token.push_back( delimiter ); - result.push_back( delim_token ); - - // REMOVED: 2006-03-04, Bugfix - } - - // repeat for the next character - ++pos; - } // while - - // add the final token - if ( false == token.empty() ) - { - result.push_back( token ); - } -} diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/tokenizer.h b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/tokenizer.h deleted file mode 100644 index 75f567c..0000000 --- a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/public/tokenizer.h +++ /dev/null @@ -1,55 +0,0 @@ -/************************************************************************ -The zlib/libpng License - -Copyright (c) 2006 Joerg Wiedenmann - -This software is provided 'as-is', without any express or implied warranty. -In no event will the authors be held liable for any damages arising from -the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; - you must not claim that you wrote the original software. - If you use this software in a product, an acknowledgment - in the product documentation would be appreciated but is - not required. - -2. Altered source versions must be plainly marked as such, - and must not be misrepresented as being the original software. - -3. This notice may not be removed or altered from any source distribution. - -***********************************************************************/ - -/******************************************************************** - created: 2006-01-28 - filename: tokenizer.cpp - author: Jörg Wiedenmann - - purpose: A tokenizer function which provides a very - customizable way of breaking up strings. -*********************************************************************/ - -#include -#include -using namespace std; - -// Function to break up a string into tokens -// -// Parameters: -//----------- -// str = the input string that will be tokenized -// result = the tokens for str -// delimiters = the delimiter characters -// delimiters preserve = same as above, but the delimiter characters -// will be put into the result as a token -// quote = characters to protect the enclosed characters -// esc = characters to protect a single character -// - -void tokenize ( const string& str, vector& result, - const string& delimiters, const string& delimiters_preserve = "", - const string& quote = "\"", const string& esc = "\\" ); diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/simulator/.gitignore b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/simulator/.gitignore deleted file mode 100644 index f0ed2b6..0000000 --- a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/simulator/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/public -/src diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/simulator/libBarcodeScanner.so b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/simulator/libBarcodeScanner.so deleted file mode 100755 index 3d26d8edc3045fc9c08cc37f3f27fd5577b028a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1553593 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⩔e*?#wa?&0_+Il2&Si``~a>h%*; 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

o$9T2 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 - -namespace webworks { - -Logger::Logger(const char* name, BarcodeScannerJS *parent): m_pParent(parent) { - buffer_config.buffer_set_name = name; - buffer_config.num_buffers = 2; - buffer_config.verbosity_level = SLOG2_DEBUG1; - - /* Configure the first buffer, using 7 x 4KB pages. This larger buffer will be used for - very chatty logging. Our goal is to have 30-60 seconds of history at any given time, - so we will want to log at a rate of around one log line with a string of 16 bytes - long every 150 milliseconds. - */ - - buffer_config.buffer_config[0].buffer_name = "low_priority"; - buffer_config.buffer_config[0].num_pages = 7; - - /* Configure the second buffer, which we will use for high level info logging that is very - infrequent, but we want a longer history (hours or maybe even over a day or two). This - buffer uses 1 x 4KB. - */ - - buffer_config.buffer_config[1].buffer_name = "high_priority"; - buffer_config.buffer_config[1].num_pages = 1; - - /* Register the buffer set. */ - - if( -1 == slog2_register( &buffer_config, buffer_handle, 0 ) ) { - fprintf( stderr, "Error registering slogger2 buffer!\n" ); - } else { - info("Created slogger2 buffers"); - } - -} - -Logger::~Logger() { - critical("slogger2 buffers reset"); - slog2_reset(); -} - -int Logger::log(slog2_buffer_t buffer, _Uint8t severity, const char* message) { - return slog2c(buffer, 0, severity, message); -} - -int Logger::debug(const char* message) { - return log(lowPriorityBuffer(), SLOG2_DEBUG1, message); -} - -int Logger::info(const char* message) { - return log(lowPriorityBuffer(), SLOG2_INFO, message); -} - -int Logger::notice(const char* message) { - return log(lowPriorityBuffer(), SLOG2_NOTICE, message); -} - -int Logger::warn(const char* message) { - return log(lowPriorityBuffer(), SLOG2_WARNING, message); -} - -int Logger::error(const char* message) { - return log(hiPriorityBuffer(), SLOG2_ERROR, message); -} - -int Logger::critical(const char* message) { - return log(hiPriorityBuffer(), SLOG2_CRITICAL, message); -} - -int Logger::setVerbosity(_Uint8t verbosity) { - return slog2_set_verbosity(buffer_handle[0], verbosity); -} - -_Uint8t Logger::getVerbosity() { - return slog2_get_verbosity(buffer_handle[0]); -} - -slog2_buffer_t Logger::hiPriorityBuffer() { - return buffer_handle[1]; -} - -slog2_buffer_t Logger::lowPriorityBuffer() { - return buffer_handle[0]; -} - -} /* namespace webworks */ diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/src/Logger.hpp b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/src/Logger.hpp deleted file mode 100644 index 2344fd9..0000000 --- a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/src/Logger.hpp +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2013 BlackBerry Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef LOGGER_HPP_ -#define LOGGER_HPP_ - -#include -#include - -class BarcodeScannerJS; - -namespace webworks { - -class Logger { -public: - explicit Logger(const char* name, BarcodeScannerJS *parent = NULL); - virtual ~Logger(); - int debug(const char* message); - int info(const char* message); - int notice(const char* message); - int warn(const char* message); - int error(const char* message); - int critical(const char* message); - int setVerbosity(_Uint8t verbosity); - _Uint8t getVerbosity(); - slog2_buffer_t hiPriorityBuffer(); - slog2_buffer_t lowPriorityBuffer(); -private: - BarcodeScannerJS *m_pParent; - slog2_buffer_set_config_t buffer_config; - slog2_buffer_t buffer_handle[2]; - int log(slog2_buffer_t buffer, _Uint8t severity, const char* message); -}; - -} /* namespace webworks */ -#endif /* LOGGER_HPP_ */ diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/src/barcodescanner_js.cpp b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/src/barcodescanner_js.cpp deleted file mode 100644 index 1410185..0000000 --- a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/src/barcodescanner_js.cpp +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright 2013-2014 BlackBerry Limited. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "../public/tokenizer.h" -#include "barcodescanner_js.hpp" -#include "barcodescanner_ndk.hpp" - -using namespace std; - -/** - * Default constructor. - */ -BarcodeScannerJS::BarcodeScannerJS(const std::string& id) : - m_id(id) { - m_pLogger = new webworks::Logger("BarcodeScannerJS", this); - m_pBarcodeScannerController = new webworks::BarcodeScannerNDK(this); -} - -/** - * BarcodeScannerJS destructor. - */ -BarcodeScannerJS::~BarcodeScannerJS() { - if (m_pBarcodeScannerController) - delete m_pBarcodeScannerController; - if (m_pLogger) - delete m_pLogger; -} - -webworks::Logger* BarcodeScannerJS::getLog() { - return m_pLogger; -} - -/** - * This method returns the list of objects implemented by this native - * extension. - */ -char* onGetObjList() { - static char name[] = "BarcodeScannerJS"; - return name; -} - -/** - * This method is used by JNext to instantiate the BarcodeScannerJS object when - * an object is created on the JavaScript server side. - */ -JSExt* onCreateObject(const string& className, const string& id) { - if (className == "BarcodeScannerJS") { - return new BarcodeScannerJS(id); - } - - return NULL; -} - -/** - * Method used by JNext to determine if the object can be deleted. - */ -bool BarcodeScannerJS::CanDelete() { - return true; -} - -/** - * It will be called from JNext JavaScript side with passed string. - * This method implements the interface for the JavaScript to native binding - * for invoking native code. This method is triggered when JNext.invoke is - * called on the JavaScript side with this native objects id. - */ -string BarcodeScannerJS::InvokeMethod(const std::string& command) { - // command appears with parameters following after a space - size_t commandIndex = command.find_first_of(" "); - std::string strCommand = command.substr(0, commandIndex); - size_t callbackIndex = command.find_first_of(" ", commandIndex + 1); - std::string callbackId = command.substr(commandIndex + 1, callbackIndex - commandIndex - 1); - std::string arg = command.substr(callbackIndex + 1, command.length()); - - if (strCommand == "startRead") { - m_pBarcodeScannerController->startRead(callbackId, arg); - } - else if (strCommand == "stopRead") { - m_pBarcodeScannerController->stopRead(callbackId); - } - - strCommand.append(";"); - strCommand.append(command); - return strCommand; -} - -// Notifies JavaScript of an event -void BarcodeScannerJS::NotifyEvent(const std::string& event) { - std::string eventString = m_id + " "; - eventString.append(event); - SendPluginEvent(eventString.c_str(), m_pContext); -} diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/src/barcodescanner_js.hpp b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/src/barcodescanner_js.hpp deleted file mode 100644 index 8a8e960..0000000 --- a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/src/barcodescanner_js.hpp +++ /dev/null @@ -1,41 +0,0 @@ -/* -* Copyright 2013-2014 BlackBerry Limited. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -#ifndef BARCODESCANNERJS_HPP_ -#define BARCODESCANNERJS_HPP_ - -#include "../public/plugin.h" -#include "barcodescanner_ndk.hpp" -#include "Logger.hpp" -#include - -class BarcodeScannerJS: public JSExt { - -public: - explicit BarcodeScannerJS(const std::string& id); - virtual ~BarcodeScannerJS(); - virtual bool CanDelete(); - virtual std::string InvokeMethod(const std::string& command); - void NotifyEvent(const std::string& event); - webworks::Logger* getLog(); - webworks::BarcodeScannerNDK *m_pBarcodeScannerController; -private: - std::string m_id; - // Definition of a pointer to the actual native extension code - webworks::Logger *m_pLogger; -}; - -#endif /* BarcodeScannerJS_HPP_ */ diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/src/barcodescanner_ndk.cpp b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/src/barcodescanner_ndk.cpp deleted file mode 100644 index 8c73efd..0000000 --- a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/src/barcodescanner_ndk.cpp +++ /dev/null @@ -1,709 +0,0 @@ -/* - * Copyright 2013-2015 BlackBerry Limited. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "barcodescanner_ndk.hpp" -#include "barcodescanner_js.hpp" - -#include -#include - -using namespace zxing; - -namespace webworks { - -BarcodeScannerJS* eventDispatcher = NULL; -// Variables for native viewfinder screen -static screen_window_t vf_win = NULL; -static uint32_t vfRotation = 0; -static bool touch = false; - - -#define MUTEX_LOCK() pthread_mutex_trylock(&m_lock) -#define MUTEX_UNLOCK() pthread_mutex_unlock(&m_lock) - -static pthread_mutex_t m_lock; -static pthread_t m_thread = 0; - - /* - * getCameraErrorDesc - * - * Returns a descriptive error message for a given camera error code - */ - const char* getCameraErrorDesc(camera_error_t err) { - switch (err) { - case CAMERA_EOK: - return "The function call to the camera completed successfully."; - case CAMERA_EAGAIN: - return "The specified camera was not available. Try again."; - case CAMERA_EINVAL: - return "The camera call failed because of an invalid parameter."; - case CAMERA_ENODEV: - return "No such camera was found."; - case CAMERA_EMFILE: - return "The camera called failed because of a file table overflow."; - case CAMERA_EBADF: - return "Indicates that an invalid handle to a @c camera_handle_t value was used."; - case CAMERA_EACCESS: - return "Indicates that the necessary permissions to access the camera are not available."; - case CAMERA_EBADR: - return "Indicates that an invalid file descriptor was used."; - case CAMERA_ENOENT: - return "Indicates that the access a file or directory that does not exist."; - case CAMERA_ENOMEM: - return "Indicates that memory allocation failed."; - case CAMERA_EOPNOTSUPP: - return "Indicates that the requested operation is not supported."; - case CAMERA_ETIMEDOUT: - return "The function call failed due to communication problem or time-out with the camera."; - case CAMERA_EALREADY: - return "Indicates an operation on the camera is already in progress. In addition, this error can indicate that an error could not be completed because it was already completed. For example, if you called the @c camera_stop_video() function but the camera had already stopped recording video, this error code would be returned."; - case CAMERA_EUNINIT: - return "Indicates that the Camera Library is not initialized."; - case CAMERA_EREGFAULT: - return "Indicates that registration of a callback failed."; - case CAMERA_EMICINUSE: - return "Indicates that it failed to open because microphone is already in use."; - } - return NULL; - } - - - /* - * viewfinder_callback - * - * This callback is invoked when an image frame from the camera viewfinder becomes available. - * The frame is analyzed to determine if a barcode can be matched. - * Frames come in NV12 format which makes code analysis very fast. - */ - void viewfinder_callback(camera_handle_t handle,camera_buffer_t* buf,void* arg) { - camera_frame_nv12_t* data = (camera_frame_nv12_t*)(&(buf->framedesc)); - uint8_t* buff = buf->framebuf; - int stride = data->stride; - int width = data->width; - int height = data->height; - if ( eventDispatcher != NULL ){ -// eventDispatcher->getLog()->debug("Frame received"); - } - - try { - Ref source(new GreyscaleLuminanceSource((unsigned char *)buff, stride, height, 0,0,width,height)); - - Ref binarizer(new HybridBinarizer(source)); - Ref bitmap(new BinaryBitmap(binarizer)); - Ref result; - - // setup the code reader - MultiFormatReader *reader = new MultiFormatReader(); - DecodeHints *hints = new DecodeHints(); - - hints->addFormat(BarcodeFormat_QR_CODE); - hints->addFormat(BarcodeFormat_EAN_8); - hints->addFormat(BarcodeFormat_EAN_13); - hints->addFormat(BarcodeFormat_UPC_A); - hints->addFormat(BarcodeFormat_UPC_E); - hints->addFormat(BarcodeFormat_DATA_MATRIX); - hints->addFormat(BarcodeFormat_CODE_128); - hints->addFormat(BarcodeFormat_CODE_39); - hints->addFormat(BarcodeFormat_ITF); - hints->addFormat(BarcodeFormat_AZTEC); - - // attempt to decode and retrieve a valid QR code from the image bitmap - result = reader->decode(bitmap, *hints); - - std::string newBarcodeData = result->getText()->getText().data(); - - Json::FastWriter writer; - Json::Value root; - root["text"] = newBarcodeData; - root["format"] = barcodeFormatNames[result->getBarcodeFormat()]; - root["cancelled"] = false; - - // notify caller that a valid QR code has been decoded - if ( eventDispatcher != NULL){ - std::string event = "community.barcodescanner.codefound.native"; - event.insert(0, " "); - event.insert(0, (char *) arg); - eventDispatcher->NotifyEvent(event + " " + writer.write(root)); - eventDispatcher->getLog()->debug("This is the detected Barcode"); - eventDispatcher->getLog()->debug(newBarcodeData.c_str()); - } - - } - catch (const std::exception& ex) - { - // Uncomment this if you need to verify scanning - if ( eventDispatcher != NULL ){ -// eventDispatcher->getLog()->warn("Scan error"); -// eventDispatcher->getLog()->warn(ex.what()); - } - } - } - - std::string convertIntToString(int i) { - stringstream ss; - ss << i; - return ss.str(); - } - - - /* - * Constructor for Barcode Scanner NDK class - */ - BarcodeScannerNDK::BarcodeScannerNDK(BarcodeScannerJS *parent): threadHalt(false) { - cbId = new char[1000]; - m_pParent = parent; - eventDispatcher = parent; - mCameraHandle = CAMERA_HANDLE_INVALID; - } - - BarcodeScannerNDK::~BarcodeScannerNDK() { - delete[] cbId; - } - - webworks::Logger* BarcodeScannerNDK::getLog() { - return m_pParent->getLog(); - } - - void interrogateWindowCV(screen_window_t window, Logger* log, string description, int property) { - char* value = new char[256]; - int ok = screen_get_window_property_cv(window, property, 256, value); - if (ok == 0) { - log->info(description.c_str()); - log->info(value); - } else { - log->warn("Unable to interpret value for"); - log->warn(description.c_str()); - } - } - - void interrogateWindowIV(screen_window_t window, Logger* log, string description, int property) { - int value = -1; - int ok = screen_get_window_property_iv(window, property, &value); - if (ok == 0) { - log->info(description.c_str()); - log->info(convertIntToString(value).c_str()); - } else { - log->warn("Unable to interpret value for"); - log->warn(description.c_str()); - } - } - - void interrogateWindow(screen_window_t window, Logger* log) { - log->info("Window Details--->"); - interrogateWindowCV(window, log, "Window ID", SCREEN_PROPERTY_ID_STRING); - interrogateWindowIV(window, log, "Window Type", SCREEN_PROPERTY_TYPE); - interrogateWindowIV(window, log, "Window Owner PID", SCREEN_PROPERTY_OWNER_PID); - interrogateWindowCV(window, log, "Window Group", SCREEN_PROPERTY_GROUP); - interrogateWindowIV(window, log, "Window Z Order", SCREEN_PROPERTY_ZORDER); - interrogateWindowIV(window, log, "Window Visible", SCREEN_PROPERTY_VISIBLE); - log->info("Window Interrogation complete"); - } - - void *HandleEvents(void *args) { - BarcodeScannerNDK *parent = static_cast(args); - parent->getLog()->debug("BarcodeScannerNDK EventHandler"); - - /** - * Creating a native viewfinder screen - */ - const int usage = SCREEN_USAGE_NATIVE; - screen_window_t screen_win; - screen_buffer_t screen_buf = NULL; - int rect[4] = { 0, 0, 0, 0 }; - - if(screen_create_window_type(&screen_win, parent->windowContext, SCREEN_CHILD_WINDOW) == -1) { - parent->getLog()->error("screen_create_window() failed");; - } - screen_join_window_group(screen_win, parent->windowGroup); - char * groupCheck = new char[256]; - screen_get_window_property_cv(screen_win, SCREEN_PROPERTY_GROUP, 256, groupCheck); - parent->getLog()->info("Window Group Check"); - parent->getLog()->info(groupCheck); - screen_set_window_property_iv(screen_win, SCREEN_PROPERTY_USAGE, &usage); - int r = 0; - screen_display_t display = NULL; - screen_get_window_property_pv(screen_win, SCREEN_PROPERTY_DISPLAY, (void**)&display); - if (display != NULL) { - screen_get_display_property_iv(display, SCREEN_PROPERTY_ROTATION, &r); - parent->getLog()->debug("Current Display Rotation"); - parent->getLog()->debug(convertIntToString(r).c_str()); - } - screen_create_window_buffers(screen_win, 1); - screen_get_window_property_pv(screen_win, SCREEN_PROPERTY_RENDER_BUFFERS, (void **)&screen_buf); - screen_get_window_property_iv(screen_win, SCREEN_PROPERTY_BUFFER_SIZE, rect+2); - // The screen (and backing buffer) don't take into account the rotation, so we need to swap the size. - if (r == 90 || r == 270) { - int swap = rect[2]; - rect[2] = rect[3]; - rect[3] = swap; - } - // Set the window size and the buffer follows along - screen_set_window_property_iv(screen_win, SCREEN_PROPERTY_SIZE, rect+2); - screen_get_window_property_iv(screen_win, SCREEN_PROPERTY_BUFFER_SIZE, rect+2); - - parent->getLog()->debug("Screen Buffer Size:"); - parent->getLog()->debug(convertIntToString(rect[0]).c_str()); - parent->getLog()->debug(convertIntToString(rect[1]).c_str()); - parent->getLog()->debug(convertIntToString(rect[2]).c_str()); - parent->getLog()->debug(convertIntToString(rect[3]).c_str()); - - int type = -1; - screen_get_window_property_iv(screen_win, SCREEN_PROPERTY_TYPE, &type); - parent->getLog()->debug("Window Type"); - parent->getLog()->debug(convertIntToString(type).c_str()); - - // fill the window with a flat colour - int attribs[] = { SCREEN_BLIT_COLOR, 0x00333333, SCREEN_BLIT_END }; - screen_fill(parent->windowContext, screen_buf, attribs); - screen_post_window(screen_win, screen_buf, 1, rect, 0); - // position the window at an arbitrary z-order - int i = 1; - screen_set_window_property_iv(screen_win, SCREEN_PROPERTY_ZORDER, &i); - screen_get_window_property_iv(screen_win, SCREEN_PROPERTY_ZORDER, &i); - parent->getLog()->debug("Current Zorder"); - parent->getLog()->debug(convertIntToString(i).c_str()); - int visible = 1; - screen_set_window_property_iv(screen_win, SCREEN_PROPERTY_VISIBLE, &visible); - screen_get_window_property_iv(screen_win, SCREEN_PROPERTY_VISIBLE, &visible); - parent->getLog()->debug("Visible?"); - parent->getLog()->debug(convertIntToString(visible).c_str()); - screen_flush_context(parent->windowContext, 0); - - parent->getLog()->debug("Created Background window"); - - if (parent->windowContext) { - if (BPS_SUCCESS == screen_request_events(parent->windowContext)) { - parent->getLog()->debug("Requested Events"); - } else { - parent->getLog()->error("Unable to request events"); - return NULL; - } - } - - screen_group_t group; - screen_get_window_property_pv(screen_win, SCREEN_PROPERTY_GROUP, (void **)&group); - char* groupName = new char[256]; - screen_get_group_property_cv(group, SCREEN_PROPERTY_NAME, 256, groupName); - parent->getLog()->debug("Group Found"); - parent->getLog()->debug(groupName); - - // reset Touch value before starting up listening for touch events - touch = false; - - while(!parent->isThreadHalt()) { - MUTEX_LOCK(); - - int domain; - // Get the first event in the queue. - bps_event_t *event = NULL; - if (BPS_SUCCESS != bps_get_event(&event, 0)) { - parent->getLog()->warn("bps_get_event() failed"); - } - - // Handle all events in the queue. - while (event) { - if (touch) { - // HandleScreenEvent got a tap on the screen - // Shutdown the scanning - parent->cancelScan(); - break; - } - if (event) { - domain = bps_event_get_domain(event); - parent->getLog()->debug("BPS Event"); - if (domain == screen_get_domain()) { - parent->getLog()->debug("BPS Screen Event"); - parent->handleScreenEvent(event, parent->getLog(), parent->windowGroup); - } - } - if (BPS_SUCCESS != bps_get_event(&event, 0)) { - parent->getLog()->error("bps_get_event() failed"); -// return; - } - } - - MUTEX_UNLOCK(); - - // Poll at 10hz - usleep(100000); - } - // stop screen events on this thread - if(screen_stop_events(parent->windowContext) == -1) { - parent->getLog()->error("screen_stop_events failed"); - } - screen_destroy_window(screen_win); - return NULL; - } - - void BarcodeScannerNDK::handleScreenEvent(bps_event_t *event, Logger* log, const char* windowGroup) { - int eventType, objectType, eventProperty; - - screen_event_t screen_event = screen_event_get_event(event); - screen_get_event_property_iv(screen_event, SCREEN_PROPERTY_TYPE, &eventType); - - switch (eventType) { - case SCREEN_EVENT_MTOUCH_RELEASE: - case SCREEN_EVENT_MTOUCH_TOUCH: - case SCREEN_EVENT_MTOUCH_MOVE: - log->info("Touch Event"); - touch = true; - break; - case SCREEN_EVENT_CREATE: - log->info("Screen Create Event"); - if (screen_get_event_property_pv(screen_event, SCREEN_PROPERTY_WINDOW, (void **)&vf_win) == -1) { - log->error("screen_get_event_property_pv(SCREEN_PROPERTY_WINDOW)"); - } else { - log->info("viewfinder window found!"); - } - break; - case SCREEN_EVENT_IDLE: - log->debug("Screen Idle"); - break; - case SCREEN_EVENT_POST: - log->debug("Screen posted first frame"); - if (screen_get_event_property_pv(screen_event, SCREEN_PROPERTY_WINDOW, (void **)&vf_win) == -1) { - log->error("screen_get_event_property_pv(SCREEN_PROPERTY_WINDOW)"); - } else { - interrogateWindow(vf_win, log); - int i = 100; - screen_set_window_property_iv(vf_win, SCREEN_PROPERTY_ZORDER, &i); - screen_get_window_property_iv(vf_win, SCREEN_PROPERTY_ZORDER, &i); - log->debug("Current Zorder"); - log->debug(convertIntToString(i).c_str()); - // make viewfinder window visible - i = 1; - screen_set_window_property_iv(vf_win, SCREEN_PROPERTY_VISIBLE, &i); - screen_get_window_property_iv(vf_win, SCREEN_PROPERTY_VISIBLE, &i); - log->debug("Visible?"); - log->debug(convertIntToString(i).c_str()); - // Rotate the window as needed - screen_get_window_property_iv(vf_win, SCREEN_PROPERTY_ROTATION, &i); - log->debug("Current Rotation"); - log->debug(convertIntToString(i).c_str()); - i = 360 - vfRotation; - screen_set_window_property_iv(vf_win, SCREEN_PROPERTY_ROTATION, &i); - screen_get_window_property_iv(vf_win, SCREEN_PROPERTY_ROTATION, &i); - log->debug("Rotation"); - log->debug(convertIntToString(i).c_str()); - // Make full screen - screen_display_t display = NULL; - screen_get_window_property_pv(vf_win, SCREEN_PROPERTY_DISPLAY, (void **)&display); - if (display != NULL) { - log->debug("Found a Display"); - int size[2] = { 0, 0 }; - screen_get_display_property_iv(display, SCREEN_PROPERTY_SIZE, size); - log->debug("Display Size"); - log->debug(convertIntToString(size[0]).c_str()); - log->debug(convertIntToString(size[1]).c_str()); - int r = 0; - screen_get_display_property_iv(display, SCREEN_PROPERTY_ROTATION, &r); - log->debug("Current Display Rotation"); - log->debug(convertIntToString(r).c_str()); - if (r == 90 || r == 270) { - int swap = size[0]; - size[0] = size[1]; - size[1] = swap; - } - screen_set_window_property_iv(vf_win, SCREEN_PROPERTY_SIZE, size); - screen_get_window_property_iv(vf_win, SCREEN_PROPERTY_SIZE, size); - log->debug("Window Size"); - log->debug(convertIntToString(size[0]).c_str()); - log->debug(convertIntToString(size[1]).c_str()); - } - - } - break; - case SCREEN_EVENT_CLOSE: - log->debug("Screen closed"); - break; - case SCREEN_EVENT_INPUT: - log->debug("Screen input event"); - break; - case SCREEN_EVENT_PROPERTY: - log->debug("Screen property event"); - screen_get_event_property_iv(screen_event, SCREEN_PROPERTY_OBJECT_TYPE, &objectType); - log->debug("Object Type"); - log->debug(convertIntToString(objectType).c_str()); - screen_get_event_property_iv(screen_event, SCREEN_PROPERTY_NAME, &eventProperty); - log->debug("Property Name"); - log->debug(convertIntToString(eventProperty).c_str()); - break; - default: - log->warn("Unhandled Screen Event Type"); - log->warn(convertIntToString(eventType).c_str()); - break; - } - } - - bool BarcodeScannerNDK::StartEvents() { - if (!m_thread) { - threadHalt = false; - pthread_attr_t thread_attr; - pthread_attr_init(&thread_attr); - pthread_attr_setdetachstate(&thread_attr, PTHREAD_CREATE_JOINABLE); - int error = pthread_create(&m_thread, &thread_attr, HandleEvents, static_cast(this)); - pthread_attr_destroy(&thread_attr); - if (error) { - m_pParent->getLog()->error("Thread Failed to start"); - m_thread = 0; - return false; - } else { - m_pParent->getLog()->info("Thread Started"); - MUTEX_LOCK(); - return true; - } - } - - return false; - } - - void BarcodeScannerNDK::StopEvents() { - if (m_thread) { - MUTEX_LOCK(); - threadHalt = true; - MUTEX_UNLOCK(); - m_pParent->getLog()->debug("BarcodeScannerNDK joining event thread"); - pthread_join(m_thread, NULL); - m_thread = 0; - m_pParent->getLog()->debug("BarcodeScannerNDK event thread stopped"); - } - } - - - // getter for the stop value - bool BarcodeScannerNDK::isThreadHalt() { - bool isThreadHalt; - MUTEX_LOCK(); - isThreadHalt = threadHalt; - MUTEX_UNLOCK(); - return isThreadHalt; - } - - void BarcodeScannerNDK::cancelScan() { - m_pParent->getLog()->warn("Cancel Scan"); - std::string event = "community.barcodescanner.codefound.native"; - std::string callbackId = cbId; - Json::FastWriter writer; - Json::Value root; - - // Scan cancelled by user - root["text"] = ""; - root["format"] = ""; - root["cancelled"] = true; - - m_pParent->NotifyEvent(callbackId + " " + event + " " + writer.write(root)); - } - - /* - * BarcodeScannerNDK::startRead - * - * This method is called to start a QR code read. A connection is opened to the device camera - * and the photo viewfinder is started. - */ - int BarcodeScannerNDK::startRead(const string &callbackId, const string &arg) { - std::string errorEvent = "community.barcodescanner.errorfound.native"; - Json::FastWriter writer; - Json::Value root; - - // Important for maintaining proper event queue support on 10.2.1 - bps_initialize(); - - std::string handle; - std::string group; - Json::Reader reader; - Json::Value input; - bool parse = reader.parse(arg, input); - - if (!parse) { - m_pParent->getLog()->error("Parse Error"); - Json::Value error; - root["state"] = "Parsing JSON object"; - root["error"] = "Cannot parse JSON object"; - root["description"] = ""; - m_pParent->NotifyEvent(callbackId + " " + errorEvent + " " + writer.write(error)); - return EIO; - } else { - handle = input["handle"].asString(); - group = input["group"].asString(); - } - - std::copy(callbackId.begin(), callbackId.end(), this->cbId); - this->cbId[callbackId.size()] = '\0'; - - this->windowHandle = handle; - m_pParent->getLog()->info("Window Handle"); - m_pParent->getLog()->info(handle.c_str()); - // the jsScreenWindowHandle of the UIWebView that we passed in - int windowPointer = (int) strtol(handle.c_str(), NULL, 10); - // As an integer is the actual window handle - screen_window_t window = (screen_window_t) windowPointer; - interrogateWindow(window, m_pParent->getLog()); - // Create a group for the main window - windowGroup = new char[group.length()+1]; - std::strcpy (windowGroup, group.c_str()); - m_pParent->getLog()->debug("Window Group using:"); - m_pParent->getLog()->debug(windowGroup); - - int getContext = screen_get_window_property_pv(window, SCREEN_PROPERTY_CONTEXT, (void **)&windowContext); - if (getContext == -1) { - m_pParent->getLog()->critical("Unable to get Context"); - root["state"] = "Get App Window Context"; - root["error"] = getContext; - root["description"] = "Unable to get application context"; - m_pParent->NotifyEvent(callbackId + " " + errorEvent + " " + writer.write(root)); - return EIO; - } - - StartEvents(); - - camera_error_t err; - // Open the camera first before running any operations on it - err = camera_open(CAMERA_UNIT_REAR,CAMERA_MODE_RW | CAMERA_MODE_ROLL,&mCameraHandle); - - if ( err != CAMERA_EOK){ - m_pParent->getLog()->error("Ran into an issue when initializing the camera"); - m_pParent->getLog()->error(getCameraErrorDesc( err )); - root["state"] = "Open Camera"; - root["error"] = err; - root["description"] = getCameraErrorDesc( err ); - m_pParent->NotifyEvent(callbackId + " " + errorEvent + " " + writer.write(root)); - return EIO; - } - - // We want maximum framerate from the viewfinder which will scan for codes - int numRates = 0; - err = camera_get_photo_vf_framerates(mCameraHandle, true, 0, &numRates, NULL, NULL); - double* camFramerates = new double[numRates]; - bool maxmin = false; - err = camera_get_photo_vf_framerates(mCameraHandle, true, numRates, &numRates, camFramerates, &maxmin); - - // do we need to rotate the viewfinder? - - err = camera_get_photovf_property(mCameraHandle, CAMERA_IMGPROP_ROTATION, &vfRotation); - m_pParent->getLog()->debug("Viewfinder Rotation"); - m_pParent->getLog()->debug(convertIntToString(vfRotation).c_str()); - - m_pParent->getLog()->debug("Camera Window Group"); - m_pParent->getLog()->debug(windowGroup); - // We're going to have the viewfinder window join our app's window group, and start an embedded window - err = camera_set_photovf_property(mCameraHandle, - CAMERA_IMGPROP_WIN_GROUPID, windowGroup, - CAMERA_IMGPROP_WIN_ID, "my_viewfinder"); - if ( err != CAMERA_EOK){ - m_pParent->getLog()->error("Ran into an issue when configuring the camera viewfinder"); - m_pParent->getLog()->error(getCameraErrorDesc( err )); - root["state"] = "Set VF Props"; - root["error"] = err; - root["description"] = getCameraErrorDesc( err ); - m_pParent->NotifyEvent(callbackId + " " + errorEvent + " " + writer.write(root)); - return EIO; - } - - // Starting viewfinder up which will call the viewfinder callback - this gets the NV12 images for scanning - err = camera_start_photo_viewfinder( mCameraHandle, &viewfinder_callback, NULL, this->cbId); - if ( err != CAMERA_EOK) { - m_pParent->getLog()->error("Ran into a strange issue when starting up the camera viewfinder"); - m_pParent->getLog()->error(getCameraErrorDesc( err )); - root["state"] = "ViewFinder Start"; - root["error"] = err; - root["description"] = getCameraErrorDesc( err ); - m_pParent->NotifyEvent(callbackId + " " + errorEvent + " " + writer.write(root)); - return EIO; - } - - // Focus mode can't be set until the viewfinder is started. We need Continuous Macro for barcodes - err = camera_set_focus_mode(mCameraHandle, CAMERA_FOCUSMODE_CONTINUOUS_MACRO); - if ( err != CAMERA_EOK){ - m_pParent->getLog()->error("Ran into an issue when setting focus mode"); - m_pParent->getLog()->error(getCameraErrorDesc( err )); - root["state"] = "Set Focus Mode"; - root["error"] = err; - root["description"] = getCameraErrorDesc( err ); - m_pParent->NotifyEvent(callbackId + " " + errorEvent + " " + writer.write(root)); - return EIO; - } - - std::string successEvent = "community.barcodescanner.started.native"; - root["successful"] = true; - m_pParent->NotifyEvent(callbackId + " " + successEvent + " " + writer.write(root)); - return EOK; - } - - - /* - * BarcodeScannerNDK::stopRead - * - * This method is called to clean up following successful detection of a barcode. - * Calling this method will stop the viewfinder and close an open connection to the device camera. - */ - int BarcodeScannerNDK::stopRead(const string &callbackId) { - std::string errorEvent = "community.barcodescanner.errorfound.native"; - Json::FastWriter writer; - Json::Value root; - camera_error_t err; - - // Stop events first so that you don't get better response from the screen - StopEvents(); - - err = camera_stop_photo_viewfinder(mCameraHandle); - if ( err != CAMERA_EOK) - { - m_pParent->getLog()->error("Error with turning off the photo viewfinder"); - m_pParent->getLog()->error(getCameraErrorDesc( err )); - root["error"] = err; - root["description"] = getCameraErrorDesc( err ); - m_pParent->NotifyEvent(callbackId + " " + errorEvent + " " + writer.write(root)); - return EIO; - } - - //check to see if the camera is open, if it is open, then close it - err = camera_close(mCameraHandle); - if ( err != CAMERA_EOK){ - m_pParent->getLog()->error("Error with closing the camera"); - m_pParent->getLog()->error(getCameraErrorDesc( err )); - root["error"] = err; - root["description"] = getCameraErrorDesc( err ); - m_pParent->NotifyEvent(callbackId + " " + errorEvent + " " + writer.write(root)); - return EIO; - } - - std::string successEvent = "community.barcodescanner.ended.native"; - root["successful"] = true; - mCameraHandle = CAMERA_HANDLE_INVALID; - m_pParent->NotifyEvent(callbackId + " " + successEvent + " " + writer.write(root)); - - // Important for maintaining proper event queue support on 10.2.1 - bps_shutdown(); - - return EOK; - } - -} diff --git a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/src/barcodescanner_ndk.hpp b/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/src/barcodescanner_ndk.hpp deleted file mode 100644 index 0727fc1..0000000 --- a/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/src/barcodescanner_ndk.hpp +++ /dev/null @@ -1,55 +0,0 @@ -/* -* Copyright 2013-2015 BlackBerry Limited. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -#ifndef BARCODESCANNERNDK_HPP_ -#define BARCODESCANNERNDK_HPP_ - -#include -#include "Logger.hpp" -#include -#include - -class BarcodeScannerJS; - -namespace webworks { - -class BarcodeScannerNDK { -public: - explicit BarcodeScannerNDK(BarcodeScannerJS *parent = NULL); - virtual ~BarcodeScannerNDK(); - - int startRead(const std::string& callbackId, const std::string& handle); - int stopRead(const std::string& callbackId); - bool isThreadHalt(); - void StopEvents(); - bool StartEvents(); - Logger* getLog(); - void handleScreenEvent(bps_event_t *event, Logger* log, const char* windowGroup); - void cancelScan(); - char* windowGroup; - screen_context_t windowContext; - char* cbId; - -private: - BarcodeScannerJS *m_pParent; - camera_handle_t mCameraHandle; - bool threadHalt; - std::string windowHandle; -}; - -} // namespace webworks - -#endif /* BARCODESCANNERNDK_H_ */