From ef154037eaf9f9c028dcc87123b2793580dbd0e0 Mon Sep 17 00:00:00 2001 From: Sehong Na Date: Thu, 7 Nov 2013 20:27:47 +0900 Subject: [PATCH] Init Tizen 2.2.1 --- LICENSE.APLv2 | 202 +++++++++++++++++++++++++++++ inc/FUixVisionImageFeatureInfo.h | 28 ++-- inc/FUixVisionImageFeatureManager.h | 86 ++++++------ inc/FUixVisionImageObject.h | 26 ++-- inc/FUixVisionImageRecognizer.h | 56 ++++---- inc/FUixVisionQrCodeGenerator.h | 39 +++--- inc/FUixVisionQrCodeObject.h | 34 ++--- inc/FUixVisionQrCodeRecognizer.h | 37 +++--- inc/FUixVisionQrCodeTypes.h | 18 +-- packaging/osp-vision.spec | 25 +++- src/FUixVisionQrCodeGenerator.cpp | 29 ++++- src/FUixVision_ImageFeatureManagerImpl.cpp | 8 +- src/FUixVision_QrCodeGeneratorImpl.cpp | 8 +- 13 files changed, 420 insertions(+), 176 deletions(-) create mode 100755 LICENSE.APLv2 diff --git a/LICENSE.APLv2 b/LICENSE.APLv2 new file mode 100755 index 0000000..d645695 --- /dev/null +++ b/LICENSE.APLv2 @@ -0,0 +1,202 @@ + + 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. diff --git a/inc/FUixVisionImageFeatureInfo.h b/inc/FUixVisionImageFeatureInfo.h index d4119e7..e891570 100644 --- a/inc/FUixVisionImageFeatureInfo.h +++ b/inc/FUixVisionImageFeatureInfo.h @@ -33,11 +33,11 @@ namespace Tizen { namespace Uix { namespace Vision { /** * @class ImageFeatureInfo - * @brief This class holds information of individual image feature data in an image feature set. + * @brief This class holds information on the individual image feature data that is present in an image feature set. * * @since 2.1 * - * The %ImageFeatureInfo class holds information of individual image feature data in an image feature set. + * The %ImageFeatureInfo class holds information on the individual image feature data that is present in an image feature set. * * @see Tizen::Uix::Vision::ImageFeatureManager */ @@ -47,58 +47,58 @@ class _OSP_EXPORT_ ImageFeatureInfo public: /** - * Gets detail description for feature set. + * Gets the detailed description of the feature set. * * @since 2.1 * - * @return Detail description for feature set + * @return The detailed description of the feature set * */ Tizen::Base::String GetDescription(void) const; /** - * Gets width of thumbnail image. + * Gets the width of the thumbnail image. * * @since 2.1 * - * @return Thumbnail image width. + * @return The thumbnail image width * */ int GetThumbnailWidth(void) const; /** - * Gets height of thumbnail image. + * Gets the height of the thumbnail image. * * @since 2.1 * - * @return Thumbnail image height. + * @return The thumbnail image height * - * @exception E_SUCCESS The method is successful. + * @exception E_SUCCESS The method is successful. */ int GetThumbnailHeight(void) const; /** - * Gets the thumbnail image by extracting it. + * Gets the thumbnail image through extraction. * * @since 2.1 * - * @return A pointer to the Tizen::Base::ByteBuffer instance containing the thumbnail image + * @return A pointer to the Tizen::Base::ByteBuffer instance that contains the thumbnail image */ Tizen::Base::ByteBuffer* GetThumbnailN(void) const; /** - * Compares the calling instance with a specified instance. + * Compares the specified instance with the current instance. * * @since 2.1 * - * @return @c true if the specified instance of Tizen::Base::Object is equal to the calling %ImageFeatureInfo instance, @n + * @return @c true if the specified instance of Tizen::Base::Object is equal to the current %ImageFeatureInfo instance, @n * else @c false * @param[in] obj The object to compare */ virtual bool Equals(const Tizen::Base::Object& obj) const; /** - * Gets the hash value of a current instance. + * Gets the hash value of the current instance. * * @since 2.1 * diff --git a/inc/FUixVisionImageFeatureManager.h b/inc/FUixVisionImageFeatureManager.h index bb975c8..42cceea 100644 --- a/inc/FUixVisionImageFeatureManager.h +++ b/inc/FUixVisionImageFeatureManager.h @@ -36,11 +36,12 @@ namespace Tizen { namespace Uix { namespace Vision /** * @class ImageFeatureManager - * @brief This class provides methods to generate individual feature data from an individual image data and collect to feature set file. + * @brief This class provides methods to generate individual feature data from an individual image data, and load it into a feature set file. * * @since 2.1 * - * The %ImageFeatureManager class provides methods to generate individual feature data from an individual image data. This class also provides methods to manage image feature set which is a collection of individual feature data. + * The %ImageFeatureManager class provides methods to generate individual feature data from an individual image data. + * This class also provides methods to manage the image feature set which is a collection of individual feature data. * * The following example demonstrates how to use the %ImageFeatureManager class. * @@ -124,8 +125,8 @@ public: ~ImageFeatureManager(void); /** - * Initializes this instance of %ImageFeatureManager and create image feature set. @n - * Every application must call %Construct() before calling any other methods of %ImageFeatureManager. + * Initializes this instance of %ImageFeatureManager and creates an image feature set. @n + * Every application must call the %Construct() method before calling any other method of %ImageFeatureManager. * * @since 2.1 * @@ -133,49 +134,49 @@ public: * * @return An error code * - * @exception E_SUCCESS The method is successful. + * @exception E_SUCCESS The method is successful. * @exception E_UNSUPPORTED_OPERATION The Emulator or target device does not support the required feature. - * For more information, see Application Filtering. - * @remarks Before calling this method, check whether the feature is supported by - * Tizen::System::SystemInfo::GetValue(const Tizen::Base::String&, bool&). + * For more information, see Application Filtering. + * @remarks Before calling this method, check whether the feature is supported by Tizen::System::SystemInfo::GetValue(const Tizen::Base::String&, bool&). */ result Construct(void); /** - * Loads a feature set file. + * Loads the feature set file. * * @since 2.1 * * @return An error code * - * @param[in] featureSetFilePath The feature set file path + * @param[in] featureSetFilePath The feature set file path at which to load the file * * @exception E_SUCCESS The method is successful. - * @exception E_INVALID_ARG The specified feature set file path is invalid. + * @exception E_INVALID_ARG The specified @c featureSetFilePath is invalid. * @exception E_OUT_OF_MEMORY The memory is insufficient. * * @remarks * - If a feature set file exists, it is updated. * - If a feature set file does not exist, it is newly created. - * - It is not mandatory to call this method to create new feature set file, but Flush() must be called with valid feature set file path. + * - It is not mandatory to call this method to create a new feature set file, but the Flush() method must be called with a valid feature set file path. */ result Load(const Tizen::Base::String& featureSetFilePath); /** - * Gets a list of supported image file formats for adding a feature. + * Gets the list of supported image file formats used to add the feature. * * @since 2.1 * - * @return A list of supported image file formats + * @return The list of supported image file formats */ static Tizen::Base::Collection::IListT* GetSupportedImageFileFormatsListN(void); /** - * Adds a feature to a feature set. + * Adds a feature to the feature set. * * @since 2.1 * - * @return A feature index of newly and successfully created feature, otherwise returns -1. + * @return The feature index of the newly and successfully created feature, @n + * else @c -1 is returned * * @param[in] imagePath The input image file path * @@ -183,21 +184,22 @@ public: * * @remarks * - The specific error code can be accessed using the GetLastResult() method. - * - Input image file must be one of the supported image file formats. - * - Calling this method actually means 'Mark As Add Feature'. - * And the marked feature data will be added to a feature set file after calling Flush(). + * - The input image file must have one of the supported image file formats. + * - Calling this method actually means 'Mark As Add Feature' + * and the marked feature data is added to the feature set file after calling the Flush() method. * @see GetSupportedImageFileFormatsListN() */ int AddFeature(const Tizen::Base::String& imagePath); /** - * Adds a feature to a feature set. + * Adds a feature to the feature set. * * @since 2.1 * - * @return A feature index of newly and successfully created feature, otherwise returns -1. + * @return The feature index of the newly and successfully created feature, @n + * else @c -1 is returned * - * @param[in] imageBuffer The image buffer of grayscale image data of specified width and height + * @param[in] imageBuffer The image buffer of the grayscale image data with the specified @c width and @c height * @param[in] width The width of the input image * @param[in] height The height of the input image * @param[in] description The description of the feature @@ -207,41 +209,41 @@ public: * @remarks * - The specific error code can be accessed using the GetLastResult() method. * - Calling this method actually means 'Mark As Add Feature'. - * And the marked feature data will be added to a feature set file after calling Flush(). + * and the marked feature data is added to the feature set file after calling the Flush() method. * @see Flush(const Tizen::Base::String*) */ int AddFeature(const Tizen::Base::ByteBuffer& imageBuffer, int width, int height, const Tizen::Base::String& description); /** - * Gets the total number of features in a feature set. + * Gets the total number of features in the feature set. * * @since 2.1 * - * @return The total number of features in a feature set + * @return The total number of features in the feature set */ int GetTotalNumberOfFeatures(void); /** - * Deletes a feature with a specified index in a feature set. + * Deletes the feature at the specified index in the feature set. * * @since 2.1 * * @return An error code * - * @param[in] featureIndex The feature index in a feature set + * @param[in] featureIndex The feature index in the feature set * * @exception E_SUCCESS The method is successful. * @exception E_INVALID_ARG The specified input parameter is invalid. * @exception E_OUT_OF_MEMORY The memory is insufficient. * * @remarks Calling this method actually means 'Mark As Delete Feature'. - * And the marked feature data is deleted after calling Flush(). - * @see Flush(const Tizen::Base::String*) + * and the marked feature data is deleted after calling the Flush() method. + * @see Flush(const Tizen::Base::String*) */ result DeleteFeature(int featureIndex); /** - * Deletes all features in a feature set. + * Deletes all the features in the feature set. * * @since 2.1 * @@ -251,13 +253,13 @@ public: * @exception E_OUT_OF_MEMORY The memory is insufficient. * * @remarks Calling this method actually means 'Mark As Delete All Features'. - * And all feature data is deleted after calling Flush(). + * and all the feature data is deleted after calling the Flush() method. * @see Flush(const Tizen::Base::String*) */ result DeleteAllFeatures(void); /** - * Flushes features into a feature set file and updates all changes as marked. + * Flushes features from the feature set file and updates all the changes as marked. * * * @since 2.1 @@ -266,27 +268,27 @@ public: * * @param[in] featureSetFilePath The feature set file path * @exception E_SUCCESS The method is successful. - * @exception E_INVALID_ARG The specified feature set path is invalid. + * @exception E_INVALID_ARG The specified @c featureSetFilePath is invalid. * * @remarks - * - All changes in the feature set file by AddFeature() or DeleteFeature() or DeleteAllFeatures() are updated by calling this method. - * - If @c featureSetFilePath is not decided or is same as the file path used in Load(), the loaded feature set file is updated. - * - If @c featureSetFilePath is not same as the file path used in %Load(), the loaded feature set file remains as is and new feature set file is created. - * - If @c featureSetFilePath is @c null, the feature set file loaded by %Load() is overwritten. - * - If @c featureSetFilePath is not decided or is same to file path used in %Load() and the loaded feature set file is read-only @c E_INVALID_ARG exception will be returned. - * - If %Load() is not called to create new feature set file, this method must be called with valid @c featureSetFilePath. + * - All the changes in the feature set file used by the AddFeature(), DeleteFeature(), or DeleteAllFeatures() method are updated by calling this method. + * - If the @c featureSetFilePath is not decided or is same as the file path used in the Load() method, the loaded feature set file is updated. + * - If the @c featureSetFilePath is not same as the file path used by the %Load() method, the loaded feature set file is retained and a new feature set file is created. + * - If the @c featureSetFilePath is @c null, the feature set file loaded by the %Load() method is overwritten. + * - If the @c featureSetFilePath is not decided or is same as the file path used by the %Load() method, and the loaded feature set file is a read-only file, then @c E_INVALID_ARG exception is returned. + * - If the %Load() method is not called to create a new feature set file, this method must be called with a valid @c featureSetFilePath. * */ result Flush(const Tizen::Base::String* featureSetFilePath = null); /** - * Gets information of the individual feature. + * Gets the information of the specified feature. * * @since 2.1 * - * @return A pointer to ImageFeatureInfo + * @return A pointer to the ImageFeatureInfo instance * - * @param[in] featureIndex The feature index in a feature set + * @param[in] featureIndex The feature index in the feature set */ const Tizen::Uix::Vision::ImageFeatureInfo* GetImageFeatureInfo(int featureIndex) const; diff --git a/inc/FUixVisionImageObject.h b/inc/FUixVisionImageObject.h index 32ef8b2..21f4109 100644 --- a/inc/FUixVisionImageObject.h +++ b/inc/FUixVisionImageObject.h @@ -33,11 +33,11 @@ namespace Tizen { namespace Uix { namespace Vision { /** * @class ImageObject - * @brief This class represents a single image object recognized by %ImageRecognizer and provides methods to access information of a recognized image object. + * @brief This class represents a single image object recognized by the %ImageRecognizer class and provides methods to access the information of a recognized image object. * * @since 2.1 * - * The %ImageObject class represents a single image object recognized by ImageRecognizer and provides methods to access information of a recognized image object. + * The %ImageObject class represents a single image object recognized by the ImageRecognizer class and provides methods to access the information of a recognized image object. * */ class _OSP_EXPORT_ ImageObject @@ -45,54 +45,54 @@ class _OSP_EXPORT_ ImageObject { public: /** - * Gets a unique identifier of the recognized image object in a scene. + * Gets the unique identifier of the recognized image object in the scene. * * @since 2.1 * - * @return A unique identifier of the recognized image object in a scene + * @return The unique identifier of the recognized image object in the scene */ int GetId(void) const; /** - * Gets a feature index of the recognized image object in feature set. + * Gets the feature index of the recognized image object in the feature set. * * @since 2.1 * - * @return A feature index of the recognized image object in feature set + * @return The feature index of the recognized image object in the feature set */ int GetFeatureId(void) const; /** - * Gets a transformation matrix 4x4 for 3D pose of the recognized image object. + * Gets the transformation matrix 4x4 for the 3D pose of the recognized image object. * * @since 2.1 * - * @return A pointer to transformation matrix 4x4 for object position + * @return A pointer to the transformation matrix 4x4 that contains the object position */ const Tizen::Graphics::FloatMatrix4* GetTransformMatrix(void) const; /** - * Gets a transformed quadrilateral of the recognized image object. + * Gets the transformed quadrilateral of the recognized image object. * * @since 2.1 * - * @return The array list of 4 points of the quadrilateral of the recognized image object + * @return The array list that contains the 4 points of the quadrilateral of the recognized image object */ const Tizen::Base::Collection::IListT* GetRectangle(void) const; /** - * Compares the calling instance with a specified instance. + * Compares the specified instance with the current instance. * * @since 2.1 * - * @return @c true if the specified instance of Tizen::Base::Object is equal to the calling %ImageObject instance, @n + * @return @c true if the specified instance of Tizen::Base::Object is equal to the current %ImageObject instance, @n * else @c false * @param[in] obj The object to compare */ virtual bool Equals(const Tizen::Base::Object& obj) const; /** - * Gets the hash value of a current instance. + * Gets the hash value of the current instance. * * @since 2.1 * diff --git a/inc/FUixVisionImageRecognizer.h b/inc/FUixVisionImageRecognizer.h index 29f97fd..c9af6a8 100644 --- a/inc/FUixVisionImageRecognizer.h +++ b/inc/FUixVisionImageRecognizer.h @@ -34,12 +34,12 @@ namespace Tizen { namespace Uix { namespace Vision class ImageFeatureManager; /** * @class ImageRecognizer - * @brief This class provides methods to find same image objects to input image in the feature set that stores features of the reference images. + * @brief This class provides methods to find similar image objects that are used as the input images to the feature set that stores the features of the reference images. * * @since 2.1 * - * The %ImageRecognizer class provides methods to find same image objects to input image in the feature set that stores features of the reference images. - * This class also provide methods to calculate the 2D position and 3D pose transform matrix of the recognized image objects. + * The %ImageRecognizer class provides methods to find similar image objects that are used as the input images to the feature set that stores the features of the reference images. + * This class also provides methods to calculate the 2D position and 3D pose transform matrix of the recognized image objects. * * The following example demonstrates how to use the %ImageRecognizer class. * @@ -147,35 +147,35 @@ public: /** * Initializes this instance of %ImageRecognizer. @n - * Every application must call %Construct() before calling any other methods of %ImageRecognizer. + * Every application must call the %Construct() method before calling any other method of %ImageRecognizer. * * @since 2.1 * * @feature %http://tizen.org/feature/vision.image_recognition * - * @exception E_SUCCESS The method is successful. + * @exception E_SUCCESS The method is successful. * @exception E_UNSUPPORTED_OPERATION The Emulator or target device does not support the required feature. - * For more information, see Application Filtering. - * @remarks Before calling this method, check whether the feature is supported by - * Tizen::System::SystemInfo::GetValue(const Tizen::Base::String&, bool&). + * For more information, see Application Filtering. + * @remarks Before calling this method, check whether the feature is supported by Tizen::System::SystemInfo::GetValue(const Tizen::Base::String&, bool&). */ result Construct(void); /** - * Enables single or multiple tracking mode. + * Enables or disables the single or multiple tracking mode. * * @since 2.1 * - * @param[in] enable Enable multiple tracking mode on @c true, default is single tracking mode + * @param[in] enable The boolean value that enables or disables the multiple tracking mode @n + * The default mode is the single tracking mode. * * @remarks - * - In single tracking mode, only one image is recognized in the screen at once. - * - In multiple tracking mode, multiple images (maximum 3) can be recognized and tracked simultaneously. + * - In the single tracking mode, only one image is recognized at a time on the screen. + * - In the multiple tracking mode, multiple images (maximum 3) can be recognized and tracked simultaneously. */ void SetMultiTrackingEnabled(bool enable); /** - * Sets the width and height of an input image. + * Sets the width and the height of the input image. * * @since 2.1 * @@ -193,37 +193,37 @@ public: * Sets the ImageFeatureManager instance for initialization. * * @since 2.1 - * @pre ImageFeatureManager should be initialized by loading a feature set file using the ImageFeatureManager::Load() method. + * @pre The ImageFeatureManager should be initialized by loading the feature set file using the ImageFeatureManager::Load() method. * * @return An error code - * @param[in] imageFeatureManager The ImageFeatureManager instance managing image feature set to use for recognition + * @param[in] imageFeatureManager The ImageFeatureManager instance that manages the image feature set to use for recognition * @exception E_SUCCESS The method is successful. - * @exception E_INVALID_ARG An input ImageFeatureManager is invalid. + * @exception E_INVALID_ARG The ImageFeatureManager is invalid. * - * @remarks ImageFeatureManager should be initialized by loading a feature set file. + * @remarks The ImageFeatureManager should be initialized by loading the feature set file. */ result SetFeatureManager(ImageFeatureManager& imageFeatureManager); /** - * Gets a count of the recognized image object. + * Gets the count of the recognized image object. * * @since 2.1 * - * @return A count of the recognized image object + * @return The count of the recognized image object * - * @remarks The recognized object has index value from @c 0 to (count of the recognized image objects - 1) - * @see GetRecognizedObject(int) + * @remarks The recognized object has an index value that ranges from @c 0 to (count of the recognized image objects) @c - 1. + * @see GetRecognizedObject() */ int GetRecognizedObjectCount(void); /** - * Gets the recognized image object to get information. + * Gets the recognized image object that contains the information. * * @since 2.1 * - * @return A pointer to ImageObject that includes all information about the recognized image object + * @return A pointer to the ImageObject instance that includes all the information about the recognized image object * @param[in] index The index of the recognized image object @n - * Valid range of this parameter is @c 0 to (count of the recognized image objects - 1). + * The valid range for this parameter is @c 0 to (count of the recognized image objects) @c - 1. * @exception E_SUCCESS The method is successful. * * @see GetRecognizedObjectCount() @@ -231,16 +231,18 @@ public: const ImageObject* GetRecognizedObject(int index) const; /** - * Processes an input image for recognition. + * Processes the input image for recognition. * * @since 2.1 * * @return An error code * * @param[in] imageBuffer The input image buffer @n - * It must be allocated outside and have size of (width*height) set by SetImageSize(). + * It must be allocated externally and have a size of (width*height) set by SetImageSize(). * @exception E_SUCCESS The method is successful. - * @exception E_INVALID_ARG The specified @c imageBuffer is not allocated or the size of @c imageBuffer is not equal to the input image size set by SetImageSize(). + * @exception E_INVALID_ARG Either of the following conditions has occurred: + * - The specified @c imageBuffer is not allocated. + * - The size of the specified @c imageBuffer is not equal to the input image size set by SetImageSize(). * @exception E_OUT_OF_MEMORY The memory is insufficient. * @see SetImageSize(int, int) */ diff --git a/inc/FUixVisionQrCodeGenerator.h b/inc/FUixVisionQrCodeGenerator.h index 3564ee9..1559cb1 100644 --- a/inc/FUixVisionQrCodeGenerator.h +++ b/inc/FUixVisionQrCodeGenerator.h @@ -111,39 +111,38 @@ public: /** * Initializes this instance of %QRCodeGenerator. @n - * Every application must call %Construct() before calling any other methods of %QRCodeGenerator. + * Every application must call the %Construct() method before calling any other method of %QRCodeGenerator. * * @since 2.1 * * @feature %http://tizen.org/feature/vision.qrcode_generation * - * @exception E_SUCCESS The method is successful. + * @exception E_SUCCESS The method is successful. * @exception E_UNSUPPORTED_OPERATION The Emulator or target device does not support the required feature. - * For more information, see Application Filtering. - * @remarks Before calling this method, check whether the feature is supported by - * Tizen::System::SystemInfo::GetValue(const Tizen::Base::String&, bool&). + * For more information, see Application Filtering. + * @remarks Before calling this method, check whether the feature is supported by Tizen::System::SystemInfo::GetValue(const Tizen::Base::String&, bool&). */ result Construct(void); /** - * Gets a list of supported image file formats. + * Gets the list of supported image file formats. * * @since 2.1 * - * @return A list of supported image file formats + * @return The list of supported image file formats */ static Tizen::Base::Collection::IListT* GetSupportedImageFileFormatsListN(void); /** - * Encodes a QR code into a file. + * Encodes the QR code into the file. * * @since 2.1 * * @return An error code - * @param[in] message The text to encode to QR code image - * @param[in] mode The input text encoding format (@c QR_CODE_MODE_ALPHANUMERIC, @c QR_CODE_MODE_BYTE, @c QR_CODE_MODE_UTF8) + * @param[in] message The text used to encode the QR code image + * @param[in] mode The input text encoding format (@c QR_CODE_MODE_ALPHANUMERIC, @c QR_CODE_MODE_BYTE, or @c QR_CODE_MODE_UTF8) * @param[in] errorCorrectionLevel The QR code error correction level - * @param[in] compatibility The compatibility mode with zxing library for UTF-8 codes mode when mode is selected with @c QR_MODE_UTF8 + * @param[in] compatibility The compatibility mode with the zxing library for the UTF-8 codes mode, which is activated when the mode selected is @c QR_MODE_UTF8 * @param[in] imageFilePath The file path of the generated QR code image * @param[in] imageFormat The image file format of the generated QR code image * @param[out] width The width of the generated QR code image @@ -152,28 +151,28 @@ public: * @exception E_INVALID_ARG A specified input parameter is invalid. * @exception E_FILE_NOT_FOUND The specified file cannot be found or accessed. * - * @remarks QR code encoding for UTF-8 is not standardized as yet. - * So we support UTF-8 encoding/decoding compatibility to zxing(http://code.google.com/p/zxing/) library. + * @remarks The QR code encoding for the UTF-8 codes mode is not standardized as yet, + * so the UTF-8 encoding/decoding compatibility with the zxing(http://code.google.com/p/zxing/) library is currently supported. */ result EncodeToFile(const Tizen::Base::String& message, QrCodeMode mode, QrCodeErrorCorrectionLevel errorCorrectionLevel, bool compatibility, const Tizen::Base::String& imageFilePath, Tizen::Media::ImageFormat imageFormat, int& width, int& height); /** - * Encodes a QR code into a byte buffer. + * Encodes the QR code into the byte buffer. * * @since 2.1 * - * @return A pointer to the Tizen::Base::ByteBuffer instance containing the generated QR code image - * @param[in] message The text to encode to QR code image - * @param[in] mode The input text encoding format (@c QR_CODE_MODE_ALPHANUMERIC, @c QR_CODE_MODE_BYTE, @c QR_CODE_MODE_UTF8) + * @return A pointer to the Tizen::Base::ByteBuffer instance that contains the generated QR code image + * @param[in] message The text used to encode the QR code image + * @param[in] mode The input text encoding format (@c QR_CODE_MODE_ALPHANUMERIC, @c QR_CODE_MODE_BYTE, or @c QR_CODE_MODE_UTF8) * @param[in] error_level The QR code error correction level - * @param[in] compatibility The compatibility mode with zxing library for UTF-8 codes mode when mode is selected with @c QR_CODE_MODE_UTF8 + * @param[in] compatibility The compatibility mode with the zxing library for the UTF-8 codes mode, which is activated when the mode selected is @c QR_CODE_MODE_UTF8 * @param[out] width The width of the generated QR code image * @param[out] height The height of the generated QR code image * @exception E_SUCCESS The method is successful. * @exception E_INVALID_ARG A specified input parameter is invalid. * - * @remarks QR code encoding for UTF-8 is not standardized as yet. - * So we support UTF-8 encoding/decoding compatibility to zxing(http://code.google.com/p/zxing/) library. + * @remarks The QR code encoding for the UTF-8 codes mode is not standardized as yet, + * so the UTF-8 encoding/decoding compatibility with the zxing(http://code.google.com/p/zxing/) library is currently supported. */ Tizen::Base::ByteBuffer* EncodeToBufferN(const Tizen::Base::String& message, QrCodeMode mode, QrCodeErrorCorrectionLevel error_level, bool compatibility, int& width, int& height); diff --git a/inc/FUixVisionQrCodeObject.h b/inc/FUixVisionQrCodeObject.h index a0b4b96..f4b7702 100644 --- a/inc/FUixVisionQrCodeObject.h +++ b/inc/FUixVisionQrCodeObject.h @@ -36,11 +36,11 @@ namespace Tizen { namespace Uix { namespace Vision /** * @class QrCodeObject - * @brief This class represents a single QR code object recognized by %QrCodeRecognizer and provides the method to access information of the recognized QR code object. + * @brief This class represents a single QR code object recognized by the %QrCodeRecognizer class and provides methods to access the information of a recognized QR code object. * * @since 2.1 * - * The %QrCodeObject class represents a single QR code object recognized by QrCodeRecognizer and provides the method to access information of the recognized QR code object. + * The %QrCodeObject class represents a single QR code object recognized by the QrCodeRecognizer class and provides methods to access the information of a recognized QR code object. */ class _OSP_EXPORT_ QrCodeObject @@ -50,72 +50,72 @@ class _OSP_EXPORT_ QrCodeObject public: /** - * Gets a unique identifier of the recognized QR code object in a scene. + * Gets the unique identifier of the recognized QR code object in the scene. * * @since 2.1 * - * @return A unique identifier of the recognized QR code object in a scene + * @return The unique identifier of the recognized QR code object in the scene */ int GetId(void) const; /** - * Gets a version of the recognized QR code object. + * Gets the version of the recognized QR code object. * * @since 2.1 * - * @return A version of the recognized QR code object + * @return The version of the recognized QR code object */ int GetVersion(void) const; /** - * Gets an error correction level of the recognized QR code object. + * Gets the error correction level of the recognized QR code object. * * @since 2.1 * - * @return An error correction level of the recognized QR code object + * @return The error correction level of the recognized QR code object */ Tizen::Uix::Vision::QrCodeErrorCorrectionLevel GetErrorCorrectionLevel(void) const; /** - * Gets a text of the QR code object. + * Gets the text of the QR code object. * * @since 2.1 * - * @return A text of the QR code object + * @return The text of the QR code object */ Tizen::Base::String GetText(void) const; /** - * Gets a transformation matrix 4x4 for 3D pose of the recognized QR code object. + * Gets the transformation matrix 4x4 for the 3D pose of the recognized QR code object. * * @since 2.1 * - * @return A pointer to transformation matrix 4x4 for object position + * @return A pointer to the transformation matrix 4x4 that contains the object position */ const Tizen::Graphics::FloatMatrix4* GetTransformMatrix(void) const; /** - * Gets a transformed quadrilateral of the recognized QR code object. + * Gets the transformed quadrilateral of the recognized QR code object. * * @since 2.1 * - * @return The array list of 4 points of the quadrilateral of the recognized QR code object + * @return The array list that contains the 4 points of the quadrilateral of the recognized QR code object */ const Tizen::Base::Collection::IListT* GetRectangle(void) const; /** - * Compares the calling instance with a specified instance. + * Compares the specified instance with the current instance. * * @since 2.1 * - * @return @c true if the specified instance of Tizen::Base::Object is equal to the calling %QrCodeObject instance, @n + * @return @c true if the specified instance of Tizen::Base::Object is equal to the current %QrCodeObject instance, @n * else @c false * @param[in] obj The object to compare */ virtual bool Equals(const Tizen::Base::Object& obj) const; /** - * Gets the hash value of a current instance. + * Gets the hash value of the current instance. * * @since 2.1 * diff --git a/inc/FUixVisionQrCodeRecognizer.h b/inc/FUixVisionQrCodeRecognizer.h index d92badf..f0545ea 100644 --- a/inc/FUixVisionQrCodeRecognizer.h +++ b/inc/FUixVisionQrCodeRecognizer.h @@ -132,22 +132,21 @@ public: /** * Initializes this instance of %QrCodeRecognizer. @n - * Every application must call %Construct() before calling any other methods of %QrCodeRecognizer. + * Every application must call the %Construct() method before calling any other method of %QrCodeRecognizer. * * @since 2.1 * * @feature %http://tizen.org/feature/vision.qrcode_recognition * - * @exception E_SUCCESS The method is successful. + * @exception E_SUCCESS The method is successful. * @exception E_UNSUPPORTED_OPERATION The Emulator or target device does not support the required feature. - * For more information, see Application Filtering. - * @remarks Before calling this method, check whether the feature is supported by - * Tizen::System::SystemInfo::GetValue(const Tizen::Base::String&, bool&). + * For more information, see Application Filtering. + * @remarks Before calling this method, check whether the feature is supported by Tizen::System::SystemInfo::GetValue(const Tizen::Base::String&, bool&). */ result Construct(void); /** - * Sets the width and height of an input image. + * Sets the width and the height of the input image. * * @since 2.1 * @@ -157,21 +156,23 @@ public: * @param[in] height The height of the frame in pixels * @exception E_SUCCESS The method is successful. * @exception E_INVALID_ARG A specified input parameter is invalid. - * @remarks This method must be called once before calling ProcessImage(). + * @remarks This method must be called once before calling the ProcessImage() method. */ result SetImageSize(int width, int height); /** - * Processes an input image for recognition. + * Processes the input image for recognition. * * @since 2.1 * * @return An error code * * @param[in] imageBuffer The input image buffer @n - * It must be allocated outside and have size of (width*height) set by SetImageSize(). + * It must be allocated externally and have a size of (width*height) set by SetImageSize(). * @exception E_SUCCESS The method is successful. - * @exception E_INVALID_ARG The specified @c imageBuffer is not allocated or the size of @c imageBuffer is not equal to the input image size set by SetImageSize(). + * @exception E_INVALID_ARG Either of the following conditions has occurred; + * - The specified @c imageBuffer is not allocated + * - The size of the specified @c imageBuffer is not equal to the input image size set by SetImageSize(). * @exception E_OUT_OF_MEMORY The memory is insufficient. */ result ProcessImage(const Tizen::Base::ByteBuffer& imageBuffer); @@ -186,30 +187,30 @@ public: * @exception E_SUCCESS The method is successful. * @exception E_INVALID_ARG The specified input parameter is invalid. * - * @remarks The ROI is used to reset camera focus to get better image and it can be obtained after calling ProcessImage() at least once. + * @remarks The ROI is used to reset the camera focus to get a better image and it can be obtained after calling the ProcessImage() method at least once. */ result GetFocusRoi(Tizen::Graphics::Rectangle& roi); /** - * Gets a count of the recognized QR code object. + * Gets the count of the recognized QR code object. * * @since 2.1 * - * @return A count of the recognized QR code object + * @return The count of the recognized QR code object * - * @remarks The recognized QR code object has index value from @c 0 to (count of the recognized QR code objects - 1) - * @see GetRecognizedObject(int) + * @remarks The recognized QR code object has an index value that ranges from @c 0 to (count of the recognized QR code objects) @c - 1. + * @see GetRecognizedObject() */ int GetRecognizedObjectCount(void); /** - * Gets the recognized QR code object to get information. + * Gets the recognized QR code object that contains the information. * * @since 2.1 * - * @return A pointer to QrCodeObject that includes all information about the recognized QR code object + * @return A pointer to the QrCodeObject that includes all the information about the recognized QR code object * @param[in] index The index of the recognized QR code object @n - * Valid range of this parameter is @c 0 to (count of the recognized QR code objects - 1). + * The valid range for this parameter is @c 0 to (count of the recognized QR code objects) @c - 1. * @exception E_SUCCESS The method is successful. * * @see GetRecognizedObjectCount() diff --git a/inc/FUixVisionQrCodeTypes.h b/inc/FUixVisionQrCodeTypes.h index 3fe26fb..7bc2474 100644 --- a/inc/FUixVisionQrCodeTypes.h +++ b/inc/FUixVisionQrCodeTypes.h @@ -32,30 +32,30 @@ namespace Tizen { namespace Uix { namespace Vision /** * @enum QrCodeErrorCorrectionLevel * - * Defines possible error correction levels for QR code. + * Defines the possible error correction levels for the QR code. * * @since 2.1 */ enum QrCodeErrorCorrectionLevel { - QR_CODE_ERROR_CORRECTION_LEVEL_L = 1, /** < Low */ - QR_CODE_ERROR_CORRECTION_LEVEL_M = 2, /** < Medium */ - QR_CODE_ERROR_CORRECTION_LEVEL_Q = 3, /** < Quartile */ - QR_CODE_ERROR_CORRECTION_LEVEL_H = 4 /** < High */ + QR_CODE_ERROR_CORRECTION_LEVEL_L = 1, /**< Low */ + QR_CODE_ERROR_CORRECTION_LEVEL_M = 2, /**< Medium */ + QR_CODE_ERROR_CORRECTION_LEVEL_Q = 3, /**< Quartile */ + QR_CODE_ERROR_CORRECTION_LEVEL_H = 4 /**< High */ }; /** * @enum QrCodeMode * - * Defines possible encoding modes for QR codes. + * Defines the possible encoding modes of the QR code. * * @since 2.1 */ enum QrCodeMode { - QR_CODE_MODE_ALPHANUMERIC = 0, /** < Alphanumeric */ - QR_CODE_MODE_BYTE = 1, /** < Byte */ - QR_CODE_MODE_UTF8 = 2 /** < UTF8 */ + QR_CODE_MODE_ALPHANUMERIC = 0, /**< Alphanumeric */ + QR_CODE_MODE_BYTE = 1, /**< Byte */ + QR_CODE_MODE_UTF8 = 2 /**< UTF8 */ }; } } } //Tizen::Uix::Vision diff --git a/packaging/osp-vision.spec b/packaging/osp-vision.spec index cff5e04..fac6e0d 100644 --- a/packaging/osp-vision.spec +++ b/packaging/osp-vision.spec @@ -1,3 +1,4 @@ +%define debug_package %{nil} %define __strip /bin/true Name: osp-vision @@ -58,22 +59,37 @@ osp vision library (DEV) %prep %setup -q -%build +%build +%if 0%{?tizen_build_binary_release_type_eng} +CXXFLAGS="$CXXFLAGS -D_SECURE_LOG" +%endif MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'` %ifarch %{ix86} -CXXFLAGS="$CXXFLAGS -D_OSP_DEBUG_ -D_SECURE_LOG -D_OSP_X86_ -D_OSP_EMUL_" cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DFULLVER=%{version} -DMAJORVER=${MAJORVER} -DARCH=x86 +%if 0%{?simulator} +CXXFLAGS="$CXXFLAGS -D_OSP_DEBUG_ -D_OSP_X86_ -D_OSP_EMUL_" cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DFULLVER=%{version} -DMAJORVER=${MAJORVER} -DARCH=x86 %else +CXXFLAGS="$CXXFLAGS -D_OSP_DEBUG_ -D_OSP_X86_ " cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DFULLVER=%{version} -DMAJORVER=${MAJORVER} -DARCH=x86 +%endif +%else + +%if 0%{?tizen_build_binary_release_type_eng} CXXFLAGS="-O2 -g -pipe -Wall -fno-exceptions -Wformat -Wformat-security -Wl,--as-needed -fmessage-length=0 -march=armv7-a -mtune=cortex-a8 -mlittle-endian -mfpu=neon -mfloat-abi=softfp -D__SOFTFP__ -mthumb -Wa,-mimplicit-it=thumb -funwind-tables -D_OSP_DEBUG_ -D_SECURE_LOG -D_OSP_ARMEL_" cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DFULLVER=%{version} -DMAJORVER=${MAJORVER} -DARCH=arm +%else +CXXFLAGS="-O2 -g -pipe -Wall -fno-exceptions -Wformat -Wformat-security -Wl,--as-needed -fmessage-length=0 -march=armv7-a -mtune=cortex-a8 -mlittle-endian -mfpu=neon -mfloat-abi=softfp -D__SOFTFP__ -mthumb -Wa,-mimplicit-it=thumb -funwind-tables -D_OSP_DEBUG_ -D_OSP_ARMEL_" cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DFULLVER=%{version} -DMAJORVER=${MAJORVER} -DARCH=arm %endif + +%endif + + # Call make instruction with smp support make %{?jobs:-j%jobs} %install rm -rf %{buildroot} mkdir -p %{buildroot}/usr/share/license -cp %{_builddir}/%{name}-%{version}/LICENSE.Apache-2.0 %{buildroot}/usr/share/license/%{name} -cp %{_builddir}/%{name}-%{version}/LICENSE.Flora %{buildroot}/usr/share/license/%{name}.Flora +cp %{_builddir}/%{name}-%{version}/LICENSE.APLv2 %{buildroot}/usr/share/license/%{name} +cat %{_builddir}/%{name}-%{version}/LICENSE.Flora >> %{buildroot}/usr/share/license/%{name} %make_install @@ -84,7 +100,6 @@ cp %{_builddir}/%{name}-%{version}/LICENSE.Flora %{buildroot}/usr/share/license/ %files %manifest osp-vision.manifest /usr/share/license/%{name} -/usr/share/license/%{name}.Flora %{_libdir}/osp/*.so* %files devel diff --git a/src/FUixVisionQrCodeGenerator.cpp b/src/FUixVisionQrCodeGenerator.cpp index 38ccbc2..54d55b5 100644 --- a/src/FUixVisionQrCodeGenerator.cpp +++ b/src/FUixVisionQrCodeGenerator.cpp @@ -82,6 +82,7 @@ QrCodeGenerator::EncodeToBufferN(const Tizen::Base::String& message, QrCodeMode result QrCodeGenerator::EncodeToFile(const Tizen::Base::String& message, QrCodeMode mode, QrCodeErrorCorrectionLevel errorCorrectionLevel, bool compatibility, const Tizen::Base::String& imageFilePath, Tizen::Media::ImageFormat imageFormat, int& width, int& height) { + result r = E_SUCCESS; SysAssertf(__pQrCodeGeneratorImpl != null, "Not yet constructed! Consruct() should be called before use."); SysSecureTryReturnResult(NID_UIX, !message.IsEmpty(), E_INVALID_ARG, @@ -92,12 +93,30 @@ QrCodeGenerator::EncodeToFile(const Tizen::Base::String& message, QrCodeMode mod Tizen::Text::Utf8Encoding utf8; std::unique_ptr pBuffer(utf8.GetBytesN(message)); - if (!__pQrCodeGeneratorImpl->Encode((char*) pBuffer->GetPointer(), mode, errorCorrectionLevel, compatibility)) - { - return E_FAILURE; - } + if (!__pQrCodeGeneratorImpl->Encode((char*) pBuffer->GetPointer(), mode, errorCorrectionLevel, compatibility)) + { + return E_FAILURE; + } + + if(!__pQrCodeGeneratorImpl->SaveToFile(imageFilePath, imageFormat,width, height)) + { + r = GetLastResult(); + if( r == E_ILLEGAL_ACCESS || r == E_OUT_OF_RANGE) + { + r = E_FILE_NOT_FOUND; + } + else if (r == E_UNSUPPORTED_FORMAT) + { + r = E_INVALID_ARG; + } + else + { + r = E_FAILURE; + } + + } - return __pQrCodeGeneratorImpl->SaveToFile(imageFilePath, imageFormat, width, height) ? E_SUCCESS : E_FAILURE; + return r; } Tizen::Base::Collection::IListT* diff --git a/src/FUixVision_ImageFeatureManagerImpl.cpp b/src/FUixVision_ImageFeatureManagerImpl.cpp index ac1dd44..79318f9 100644 --- a/src/FUixVision_ImageFeatureManagerImpl.cpp +++ b/src/FUixVision_ImageFeatureManagerImpl.cpp @@ -28,8 +28,8 @@ namespace Tizen { namespace Uix { namespace Vision _ImageFeatureManagerImpl::_ImageFeatureManagerImpl(void) : __imageFeatureManager(0) , __readOnly(false) - , __minSupportedSize(100) - , __maxSupportedResolution(16000000) + , __minSupportedSize(100) + , __maxSupportedResolution(16000000) { } @@ -80,7 +80,7 @@ _ImageFeatureManagerImpl::AddFeature(const Tizen::Base::String& filepath) if ((imgWidth < __minSupportedSize || imgHeight < __minSupportedSize) || (imgWidth * imgHeight > __maxSupportedResolution)) { - SetLastResult(E_INVALID_ARG); + SetLastResult(E_INVALID_ARG); return -1; } @@ -153,7 +153,7 @@ _ImageFeatureManagerImpl::DeleteFeature(int index) { SetLastResult(E_INVALID_ARG); } - + return false; } diff --git a/src/FUixVision_QrCodeGeneratorImpl.cpp b/src/FUixVision_QrCodeGeneratorImpl.cpp index 3ef1435..0c07d69 100644 --- a/src/FUixVision_QrCodeGeneratorImpl.cpp +++ b/src/FUixVision_QrCodeGeneratorImpl.cpp @@ -75,12 +75,14 @@ _QrCodeGeneratorImpl::SaveToFile(const Tizen::Base::String& imagepath, Tizen::Me { if(!GetSize(width, height)) { + SetLastResult(E_INVALID_ARG); return false; } unsigned char* grayBuffer = new unsigned char[(width * height * 3) >> 1]; if(!SaveToBuffer(grayBuffer)) { + SetLastResult(E_OPERATION_FAILED); //No proper error returned from SaveToBuffer() Api. return false; } @@ -90,13 +92,15 @@ _QrCodeGeneratorImpl::SaveToFile(const Tizen::Base::String& imagepath, Tizen::Me delete[] grayBuffer; if(IsFailed(r)) { - return false; + SetLastResult(r); + return false; } r = imBuf.EncodeToFile(imagepath, imageFormat, true); if(IsFailed(r)) { - return false; + SetLastResult(r); + return false; } return true; -- 2.7.4