Initialize Tizen 2.3 tizen_2.3 2.3a_release submit/tizen_2.3/20140531.102632
authorSehong Na <sehong.na@samsung.com>
Sat, 31 May 2014 03:55:25 +0000 (12:55 +0900)
committerSehong Na <sehong.na@samsung.com>
Sat, 31 May 2014 03:55:25 +0000 (12:55 +0900)
13 files changed:
.camera.ini [new file with mode: 0644]
.gitignore [new file with mode: 0644]
CMakeLists.txt [new file with mode: 0644]
LICENSE.Flora [new file with mode: 0755]
NOTICE [new file with mode: 0644]
include/camera_app.h [new file with mode: 0755]
org.tizen.camera-app.manifest [new file with mode: 0644]
org.tizen.camera-app.png [new file with mode: 0755]
org.tizen.camera-app.rule [new file with mode: 0755]
org.tizen.camera-app.xml [new file with mode: 0644]
org.tizen.camera.jpg [new file with mode: 0644]
packaging/org.tizen.camera-app.spec [new file with mode: 0755]
src/camera_app.c [new file with mode: 0755]

diff --git a/.camera.ini b/.camera.ini
new file mode 100644 (file)
index 0000000..a614fd0
--- /dev/null
@@ -0,0 +1,48 @@
+
+[common]
+mode=1
+
+[still]
+storage=0
+ahs=0
+scene_mode=0
+iso=0
+flash=0
+wdr=0
+metering=2
+resolution=167774080
+brightness=5
+image_quality=95
+video_quality=95
+review=false
+shutter_sound=0
+guideline=false
+af_mode=1
+wb=1
+effect=0
+contrast=4
+saturation=4
+sharpness=4
+audio_rec=true
+toolbar_0 =-1
+toolbar_1 =-1
+toolbar_2 =-1
+toolbar_3 =-1
+toolbar_4 =-1
+[video]
+ahs=0
+scene_mode=0
+iso=0
+flash=0
+guideline=false
+wdr=0
+metering=2
+resolution=41943520
+image_quality=95
+video_quality=95
+review=false
+toolbar_0 =-1
+toolbar_1 =-1
+toolbar_2 =-1
+toolbar_3 =-1
+toolbar_4 =-1
diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..2c4290f
--- /dev/null
@@ -0,0 +1,2 @@
+*~
+*.orig
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644 (file)
index 0000000..9537ac8
--- /dev/null
@@ -0,0 +1,46 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(camera C CXX)
+
+message(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")
+message("furcate arm or i686")
+EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE CMAKE_SYSTEM_VERSION)
+message("This package is building by ${CMAKE_SYSTEM_VERSION}")
+message(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")
+
+SET(SRCS
+       src/camera_app.c
+)
+
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
+
+INCLUDE(FindPkgConfig)
+pkg_check_modules(pkgs REQUIRED
+       dlog
+       ecore-x
+       elementary
+       ui-gadget-1
+)
+FOREACH(flag ${pkgs_CFLAGS})
+       SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} ${flag}")
+ENDFOREACH(flag)
+
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CXXFLAGS} -Wall")
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CXXFLAGS} -fPIC")
+SET(CMAKE_C_FLAGS ${CMAKE_CXX_FLAGS})
+
+SET(PREFIX ${CMAKE_INSTALL_PREFIX})
+
+ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
+ADD_DEFINITIONS("-DFACTORYFS=\"$ENV{PREFIX}\"")
+ADD_DEFINITIONS("-DSLP_DEBUG")
+
+ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
+
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} ${EXTPkgs_LDFLAGS} "-pie")
+
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
+
+# install manifest file & icon
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.camera-app.xml DESTINATION /usr/share/packages/)
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.camera-app.png DESTINATION /usr/share/icons/default/small/)
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.camera-app.rule DESTINATION /etc/smack/accesses.d)
diff --git a/LICENSE.Flora b/LICENSE.Flora
new file mode 100755 (executable)
index 0000000..571fe79
--- /dev/null
@@ -0,0 +1,206 @@
+Flora License
+
+Version 1.1, April, 2013
+
+http://floralicense.org/license/
+
+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.
+
+"Tizen Certified Platform" shall mean a software platform that complies
+with the standards set forth in the Tizen Compliance Specification
+and passes the Tizen Compliance Tests as defined from time to time
+by the Tizen Technical Steering Group and certified by the Tizen
+Association or its designated agent.
+
+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
+solely as incorporated into a Tizen Certified Platform, 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 solely
+as incorporated into a Tizen Certified Platform 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 pursuant to the copyright license
+above, in any medium, with or without modifications, and in Source or
+Object form, provided that You meet the following conditions:
+
+  1. You must give any other recipients of the Work or Derivative Works
+     a copy of this License; and
+  2. You must cause any modified files to carry prominent notices stating
+     that You changed the files; and
+  3. 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
+  4. 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
+     and your own copyright statement or terms and conditions do not conflict
+     the conditions stated in the License including section 3.
+
+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 Flora License to your work
+
+To apply the Flora 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 Flora 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://floralicense.org/license/
+
+   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/NOTICE b/NOTICE
new file mode 100644 (file)
index 0000000..a5964ea
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1,3 @@
+Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved.
+Except as noted, this software is licensed under Flora License, Version 1.1.
+Please, see the LICENSE.Flora file for Flora License, Version 1.1 terms and conditions.
diff --git a/include/camera_app.h b/include/camera_app.h
new file mode 100755 (executable)
index 0000000..b9755d3
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora 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://floralicense.org/license/
+ *
+ * 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 __DEF_CAM_H__
+#define __DEF_CAM_H__
+
+
+#include <dlog.h>
+#include <Elementary.h>
+
+
+#undef LOG_TAG
+#define LOG_TAG "cam-app"
+
+#define cam_debug(fmt, arg...)         LOGD("[%s : %s : %d] "fmt"\n", __FILE__, __FUNCTION__, __LINE__, ##arg)
+#define cam_critical(fmt, arg...)      LOGE("[%s : %s : %d] "fmt"\n", __FILE__, __FUNCTION__, __LINE__, ##arg)
+
+#define cam_retm_if(expr, fmt, arg...) do { \
+       if (expr) { \
+               cam_critical(fmt, ##arg); \
+               return; \
+       } \
+} while (0)
+#define cam_retvm_if(expr, val, fmt, arg...) do { \
+       if (expr) { \
+               cam_critical(fmt, ##arg); \
+               return (val); \
+       } \
+} while (0)
+
+typedef enum _CamAppState {
+       CAM_APP_RUNNING_STATE = 1,
+       CAM_APP_PAUSE_STATE,
+       CAM_APP_TERMINATE_STATE,
+} CamAppState;
+
+struct appdata {
+       Evas_Object*    win_main;
+       Evas_Object*    ug_layout;
+       Evas_Object*    conform;
+
+       service_h               service_handle;
+
+       ui_gadget_h             camera_ug;
+       CamAppState             app_state;
+};
+
+#endif                         /* __DEF_CAM_H__ */
diff --git a/org.tizen.camera-app.manifest b/org.tizen.camera-app.manifest
new file mode 100644 (file)
index 0000000..512dbed
--- /dev/null
@@ -0,0 +1,11 @@
+<manifest>
+       <define>
+               <domain name="org.tizen.camera-app"/>
+       </define>
+       <assign>
+               <filesystem path="/usr/share/icons/default/small/org.tizen.camera-app.png" label="_" />
+       </assign>
+       <request>
+               <domain name="org.tizen.camera-app"/>
+       </request>
+</manifest>
diff --git a/org.tizen.camera-app.png b/org.tizen.camera-app.png
new file mode 100755 (executable)
index 0000000..a8a2871
Binary files /dev/null and b/org.tizen.camera-app.png differ
diff --git a/org.tizen.camera-app.rule b/org.tizen.camera-app.rule
new file mode 100755 (executable)
index 0000000..2b519a9
--- /dev/null
@@ -0,0 +1,189 @@
+org.tizen.camera-app ail::db rw---
+org.tizen.camera-app cbhm rwx--
+org.tizen.camera-app dbus rwxat
+org.tizen.camera-app isf rwx--
+org.tizen.camera-app mdm-server rwx--
+org.tizen.camera-app media-data::db rw---
+org.tizen.camera-app pulseaudio rwxat
+org.tizen.camera-app stest-service -w---
+org.tizen.camera-app stt-server rwx--
+org.tizen.camera-app sys-assert::core rwxat
+org.tizen.camera-app system::homedir rwxat
+org.tizen.camera-app system::media rwxat
+org.tizen.camera-app system::share rwxat
+org.tizen.camera-app system::use_internet rwxat
+org.tizen.camera-app system::vconf rwxat
+org.tizen.camera-app system::vconf_setting rwxat
+org.tizen.camera-app system::vconf_inhouse rwxat
+org.tizen.camera-app system::vconf_privacy r----
+org.tizen.camera-app system::vconf_system rw---
+org.tizen.camera-app system::vconf_multimedia rw---
+org.tizen.camera-app system::vconf_network rw---
+org.tizen.camera-app system::vconf_misc r----
+org.tizen.camera-app ug-camera-efl rwxat
+org.tizen.camera-app xorg rwx--
+org.tizen.add-viewer org.tizen.camera-app rwx--
+org.tizen.app-tray org.tizen.camera-app r-xat
+org.tizen.data-provider-slave org.tizen.camera-app r-x--
+e17 org.tizen.camera-app rw---
+stest-service org.tizen.camera-app r-x--
+ui-gadget::client org.tizen.camera-app rw---
+org.tizen.camera-app deviced rwxa-
+org.tizen.camera-app device::camera rw---
+org.tizen.camera-app device::hwcodec rw---
+org.tizen.camera-app device::mdnie rw---
+org.tizen.camera-app device::video rw---
+org.tizen.camera-app location_fw::client rwx--
+org.tizen.camera-app media-server rwx--
+org.tizen.camera-app pkgmer::db r----
+org.tizen.camera-app power_manager rwx--
+org.tizen.camera-app sound_server rwx--
+org.tizen.camera-app svi-data rwxat
+org.tizen.camera-app tts-server rwx--
+org.tizen.camera-app ug-image-viewer-efl rwxat
+org.tizen.camera-app vcs-server rwx--
+org.tizen.camera-app image-filter-d::db rw---
+org.tizen.camera-app system::home rwxat
+org.tizen.camera-app org.tizen.indicator rwx--
+org.tizen.camera-app contacts-service rwx--
+org.tizen.camera-app org.tizen.gallery rwxa-
+org.tizen.camera-app org.tizen.gallery-service rwx--
+org.tizen.camera-app data-provider-master rwx--
+org.tizen.camera-app data-provider-master::shortcut rw---
+org.tizen.camera-app data-provider-master::utility rw---
+org.tizen.camera-app data-provider-master::notification rw---
+org.tizen.camera-app allshare::svc rwx--
+org.tizen.camera-app net-config r-x--
+org.tizen.camera-app pkgmgr r----
+org.tizen.camera-app efreet r-x--
+org.tizen.camera-app system-server rwxa-
+org.tizen.camera-app org.tizen.setting rwx--
+org.tizen.camera-app org.tizen.myfile rw---
+org.tizen.camera-app dali rwxat
+org.tizen.camera-app csc-manager rwx--
+org.tizen.camera-app crash-worker --x--
+org.tizen.camera-app download-provider rw---
+org.tizen.camera-app msg-service rwx--
+org.tizen.camera-app cloud-content-sync::db rw---
+org.tizen.camera-app cloud-content-sync rwx--
+org.tizen.camera-app drmfw rw---
+org.tizen.camera-app org.tizen.gallery::web-media.db rwx--
+org.tizen.camera-app org.tizen.gallery::gallery-media.db rwx--
+org.tizen.camera-app org.tizen.gallery::face-svc.db rwx--
+org.tizen.camera-app ug-email-viewer-efl rwx--
+org.tizen.camera-app email-service rwx--
+org.tizen.camera-app ug-email-docsearch-efl --x--
+org.tizen.camera-app camera-external-engine rw---
+org.tizen.camera-app system::vconf_inouse r----
+aul org.tizen.camera-app rwx--
+isf org.tizen.camera-app r----
+org.tizen.gallery-service org.tizen.camera-app rwx--
+org.tizen.cluster-home ug-image-viewer-efl r-x--
+org.tizen.lockscreen ug-image-viewer-efl r-x--
+org.tizen.camera-app xorg::screencapture r----
+org.tizen.camera-app contacts-service::db rwx--
+org.tizen.camera-app device::app_logging -w---
+org.tizen.camera-app org.tizen.smemo rwx--
+org.tizen.camera-app ims-service::db rw---
+org.tizen.camera-app app-svc::db rw---
+org.tizen.camera-app org.tizen.message rwx--
+media-server org.tizen.camera-app -w---
+org.tizen.camera-app contacts-service::svc rw---
+org.tizen.camera-app contacts-service::phonelog rw---
+org.tizen.camera-app msg-service::read rw---
+org.tizen.camera-app msg-service::write rw---
+org.tizen.camera-app msg-service::wappush rw---
+org.tizen.camera-app telephony_framework::api_manager r----
+org.tizen.camera-app telephony_framework::api_modem -w---
+org.tizen.camera-app org.tizen.contacts rwx--
+org.tizen.camera-app org.tizen.cluster-home rwx--
+org.tizen.cluster-home org.tizen.camera-app r-x--
+context-service org.tizen.camera-app r-x--
+org.tizen.camera-app smemo::db rw---
+org.tizen.camera-app org.tizen.browser rw---
+org.tizen.camera-app org.tizen.image-editor r----
+org.tizen.camera-app org.tizen.email rwx--
+org.tizen.camera-app org.tizen.calendar rwx--
+org.tizen.camera-app calendar-service rwx--
+org.tizen.camera-app device::sys_logging -w---
+org.tizen.camera-app email-service::db rw---
+org.tizen.camera-app webkit2-efl r-x--
+org.tizen.camera-app data-provider-master::badge rw---
+org.tizen.camera-app resman::db rw---
+org.tizen.camera-app map-efl rwxat
+org.tizen.camera-app ug-email-composer-efl rwxat
+org.tizen.camera-app ui-gadget::client --x--
+org.tizen.camera-app secure-storage::pkcs12 r----
+org.tizen.camera-app email-service::write rw---
+org.tizen.camera-app calendar-service::svc rw---
+org.tizen.camera-app ug_bluetooth r-x--
+org.tizen.camera-app syspopup::db rwx--
+org.tizen.camera-app bt-service::admin -w---
+org.tizen.camera-app bt-service::gap -w---
+org.tizen.camera-app bt-service::manager -w---
+org.tizen.camera-app system::app_logging -w---
+org.tizen.camera-app immvibed rwx--
+org.tizen.camera-app libaccounts-svc::db rw---
+org.tizen.camera-app org.tizen.volume rwx--
+org.tizen.camera-app org.tizen.setting::default-resources r-x--
+org.tizen.camera-app org.tizen.dropbox r-x--
+org.tizen.camera-app org.tizen.facebook r-x--
+org.tizen.camera-app pkgmgr::db rw---
+org.tizen.camera-app oma-ds-agent rwx--
+oma-ds-agent org.tizen.camera-app rwx--
+org.tizen.camera-app oma-ds-agent::cfg rwxat
+org.tizen.setting org.tizen.camera-app r-x--
+org.tizen.setting oma-ds-agent::cfg rwx--
+system::use_internet oma-ds-agent rwx--
+oma-ds-agent system::use_internet rwx--
+org.tizen.camera-app syslogd rwx--
+org.tizen.camera-app e17 r----
+org.tizen.camera-app dlogutil r-x--
+org.tizen.camera-app telephony_framework r-x--
+org.tizen.camera-app aul r-x--
+org.tizen.camera-app ode r-x--
+org.tizen.camera-app sensor-framework r-x--
+org.tizen.camera-app secure-storage r-x--
+org.tizen.camera-app starter r-x--
+org.tizen.camera-app osp-app-service r-x--
+org.tizen.camera-app osp-security-service r-x--
+org.tizen.camera-app osp-channel-service r-x--
+org.tizen.camera-app org.tizen.app-tray r-x--
+org.tizen.camera-app org.tizen.quickpanel r-x--
+org.tizen.camera-app connman rwx--
+org.tizen.camera-app mobicore-daemon r-x--
+org.tizen.camera-app alarm-server rwx--
+org.tizen.camera-app brcm_daemon r-x--
+org.tizen.camera-app resman r-x--
+org.tizen.camera-app osp-connectivity-service rwx--
+org.tizen.camera-app push-service rwx--
+org.tizen.camera-app eas-engine rwx--
+org.tizen.camera-app org.tizen.data-provider-slave rwx--
+org.tizen.camera-app org.tizen.data-provider-slave rwx--
+org.tizen.camera-app usb-server rwx--
+org.tizen.camera-app mtp-responder rwx--
+org.tizen.camera-app sdbd rwx--
+ui-gadget::client oma-ds-agent::svc rw---
+org.tizen.camera-app org.tizen.volume rwx--
+org.tizen.camera-app data-provider-master::notification.client -w---
+org.tizen.camera-app samsung-account-front r-x--
+org.tizen.camera-app worldclock::db rw---
+org.tizen.camera-app thumb-server r----
+org.tizen.camera-app data-provider-master::shortcut.shortcut -w---
+org.tizen.camera-app org.tizen.smartsearch --x--
+org.tizen.camera-app ug-map-efl rwxat
+system::use_internet org.tizen.camera-app -w---
+org.tizen.camera-app obexd r-x--
+org.tizen.camera-app phone-misc::db rw---
+org.tizen.camera-app msg-service::db rw---
+org.tizen.camera-app ug-msg-viewer-efl rwxat
+org.tizen.camera-app org.tizen.fileshare-service rwxat
+org.tizen.camera-app wifi_direct_manager rw---
+org.tizen.fileshare-service org.tizen.camera-app r-x--
+org.tizen.camera-app nfc-manager rwx--
+org.tizen.camera-app nfc-manager::p2p rwx--
+org.tizen.camera-app nfc-manager::admin rwx--
+org.tizen.camera-app ug-setting-gallery-efl rwxat
+org.tizen.camera-app org.tizen.music-player --x--
+org.tizen.camera-app location_fw::db rw---
+org.tizen.camera-app org.tizen.svoice rwxat
diff --git a/org.tizen.camera-app.xml b/org.tizen.camera-app.xml
new file mode 100644 (file)
index 0000000..b80fa53
--- /dev/null
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<manifest xmlns="http://tizen.org/ns/packages" package="org.tizen.camera-app" version="0.3.56" install-location="internal-only">
+       <label>Camera</label>
+       <author email="namjin45.kim@samsung.com" href="www.samsung.com">Namjin Kim</author>
+       <author email="sora.hyun@samsung.com" href="www.samsung.com">Sora Hyun</author>
+       <author email="h2.seo@samsung.com" href="www.samsung.com">Hyunho Seo</author>
+       <description>Camera Application</description>
+       <ui-application appid="org.tizen.camera-app" exec="/usr/apps/org.tizen.camera-app/bin/camera" nodisplay="false" multiple="false" type="capp" taskmanage="true">
+               <label>Camera</label>
+               <icon>org.tizen.camera-app.png</icon>
+               <label xml:lang="en-us">Camera</label>
+               <label xml:lang="nl-nl">Camera</label>
+               <label xml:lang="de-de">Kamera</label>
+               <label xml:lang="zh-hk">相機</label>
+               <label xml:lang="zh-cn">照相机</label>
+               <label xml:lang="ru-ru">Камера</label>
+               <label xml:lang="zh-tw">照相机</label>
+               <label xml:lang="ja-jp">カメラ</label>
+               <label xml:lang="es-es">Cámara</label>
+               <label xml:lang="el-gr">Κάμερα</label>
+               <label xml:lang="it-it">Fotocamera</label>
+               <label xml:lang="tr-tr">Kamera</label>
+               <label xml:lang="pt-pt">Câmara</label>
+               <label xml:lang="fr-fr">Appareil photo</label>
+               <label xml:lang="ko-kr">카메라</label>
+               <label xml:lang="hy-am">Խցիկ</label>
+               <label xml:lang="az-az">Kamera</label>
+               <label xml:lang="eu-es">Kamera</label>
+               <label xml:lang="bg-bg">Камера</label>
+               <label xml:lang="ca-es">Càmera</label>
+               <label xml:lang="zh-cn">照相机</label>
+               <label xml:lang="hr-hr">Kamera</label>
+               <label xml:lang="cs-cz">Fotoaparát</label>
+               <label xml:lang="da-dk">Kamera</label>
+               <label xml:lang="gl-es">Cámara</label>
+               <label xml:lang="en-gb">Camera</label>
+               <label xml:lang="et-ee">Kaamera</label>
+               <label xml:lang="fi-fi">Kamera</label>
+               <label xml:lang="ka-ge">ფოტოაპარატი</label>
+               <label xml:lang="hu-hu">Fényképező</label>
+               <label xml:lang="is-is">Myndavél</label>
+               <label xml:lang="ga-ie">Ceamara</label>
+               <label xml:lang="kk-kz">Камера</label>
+               <label xml:lang="lv-lv">Kamera</label>
+               <label xml:lang="mk-mk">Камера</label>
+               <label xml:lang="nb-no">Kamera</label>
+               <label xml:lang="pl-pl">Aparat</label>
+               <label xml:lang="pt-br">Câmara</label>
+               <label xml:lang="ro-ro">Cameră foto</label>
+               <label xml:lang="ru-ru">Камера</label>
+               <label xml:lang="sr-rs">Kamera</label>
+               <label xml:lang="sk-sk">Fotoaparát</label>
+               <label xml:lang="sl-si">Fotoaparat</label>
+               <label xml:lang="es-mx">Cámara</label>
+               <label xml:lang="uk-ua">Камера</label>
+               <label xml:lang="uz-uz">Kamera</label>
+               <label xml:lang="ar-ae">الكاميرا</label>
+               <label xml:lang="zh-sg">照相机</label>
+               <label xml:lang="hi-in">कैमरा</label>
+               <label xml:lang="en-ph">Camera</label>
+               <label xml:lang="fr-ca">Appareil photo</label>
+       </ui-application>
+</manifest>
diff --git a/org.tizen.camera.jpg b/org.tizen.camera.jpg
new file mode 100644 (file)
index 0000000..a8ebc88
Binary files /dev/null and b/org.tizen.camera.jpg differ
diff --git a/packaging/org.tizen.camera-app.spec b/packaging/org.tizen.camera-app.spec
new file mode 100755 (executable)
index 0000000..f83b3b4
--- /dev/null
@@ -0,0 +1,50 @@
+%define _optdir        /opt
+%define _usrdir        /usr
+%define _appdir        %{_usrdir}/apps
+
+Name:       org.tizen.camera-app
+Summary:    camera application
+Version:    0.3.81
+Release:    1
+Group:      TO_BE/FILLED_IN
+License:    Flora Software License
+Source0:    %{name}-%{version}.tar.gz
+BuildRequires:  cmake
+BuildRequires:  prelink
+BuildRequires:  pkgconfig(dlog)
+BuildRequires:  pkgconfig(ecore-x)
+BuildRequires:  pkgconfig(elementary)
+BuildRequires:  pkgconfig(vconf)
+BuildRequires:  pkgconfig(ui-gadget-1)
+
+%description
+Description: org.tizen.camera-app
+
+%prep
+%setup -q
+
+%build
+cmake . -DCMAKE_INSTALL_PREFIX=%{_appdir}/org.tizen.camera-app
+
+make %{?jobs:-j%jobs}
+
+%install
+rm -rf %{buildroot}
+mkdir -p %{buildroot}/usr/share/license
+cp LICENSE.Flora %{buildroot}/usr/share/license/%{name}
+
+%make_install
+execstack -c %{buildroot}%{_appdir}/org.tizen.camera-app/bin/camera
+
+%post
+/usr/bin/aul_service.sh org.tizen.camera-app take_picture record_video
+
+%files
+%manifest org.tizen.camera-app.manifest
+%defattr(-,root,root,-)
+%{_usrdir}/share/icons/default/small/org.tizen.camera-app.png
+%{_usrdir}/share/packages/org.tizen.camera-app.xml
+/etc/smack/accesses.d/org.tizen.camera-app.rule
+%{_appdir}/org.tizen.camera-app/bin/camera
+/usr/share/license/%{name}
+
diff --git a/src/camera_app.c b/src/camera_app.c
new file mode 100755 (executable)
index 0000000..82dc45f
--- /dev/null
@@ -0,0 +1,319 @@
+/*
+ * Copyright 2012  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora 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://floralicense.org/license/
+ *
+ * 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 <Ecore_X.h>
+#include <ui-gadget.h>
+#include <glib.h>
+
+#include "camera_app.h"
+
+
+#define PACKAGE        "camera"
+
+
+static void __ug_layout_cb(ui_gadget_h ug, enum ug_mode mode, void* priv)
+{
+       cam_debug("Start");
+       Evas_Object *base;
+
+       if (!ug || !priv) {
+               cam_critical("Abnormal value. ug=0x%08x priv=0x%08x", ug, priv);
+               return;
+       }
+
+       struct appdata *ad = (struct appdata *)priv;
+       cam_retm_if(ad == NULL, "appdata is NULL");
+
+       base = ug_get_layout(ug);
+       if (!base) {
+               cam_critical("ug_get_layout failed");
+               return;
+       }
+
+       ad->ug_layout = base;
+
+       switch (mode) {
+       case UG_MODE_FULLVIEW:
+               elm_win_conformant_set(ad->win_main, EINA_TRUE);
+               evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+               ug_disable_effect(ug);
+               elm_object_content_set(ad->conform, base);
+               evas_object_show(base);
+               break;
+       default:
+               cam_critical("Invalid UG mode : %d", mode);
+               break;
+       }
+}
+
+static void __ug_result_cb(ui_gadget_h ug, service_h reply, void *priv)
+{
+       cam_debug("Start");
+
+       if (!ug || !priv) {
+               cam_critical("Abnormal value. ug=0x%08x priv=0x%08x", ug, priv);
+               return;
+       }
+
+       struct appdata *ad = (struct appdata *)priv;
+       cam_retm_if(ad == NULL, "appdata is NULL");
+
+       int ret = service_reply_to_launch_request(reply, ad->service_handle, SERVICE_RESULT_SUCCEEDED);
+       if (ret != SERVICE_ERROR_NONE) {
+               cam_critical("service_reply_to_launch_request failed! [%d]", ret);
+       }
+
+       if (ad->camera_ug) {
+               ug_destroy(ad->camera_ug);
+               ad->camera_ug = NULL;
+       }
+}
+
+static void __ug_destroy_cb(ui_gadget_h ug, void *priv)
+{
+       cam_debug("Start");
+
+       if (!ug || !priv) {
+               cam_critical("Abnormal value. ug=0x%08x priv=0x%08x", ug, priv);
+               return;
+       }
+
+       elm_exit();
+}
+
+static Evas_Object *__cam_create_win(const char *name)
+{
+       Evas_Object *eo = NULL;
+       int w, h;
+
+       eo = elm_win_add(NULL, name, ELM_WIN_BASIC);
+
+       if (eo) {
+               elm_win_title_set(eo, name);
+               elm_win_borderless_set(eo, EINA_TRUE);
+               ecore_x_window_size_get(ecore_x_window_root_first_get(), &w, &h);
+               evas_object_resize(eo, w, h);
+       }
+
+       return eo;
+}
+
+static void __create_ug(void* data)
+{
+       struct appdata *ad = data;
+       cam_retm_if(ad == NULL, "appdata is NULL");
+
+       struct ug_cbs cbs = {0,};
+
+       cbs.layout_cb = __ug_layout_cb;
+       cbs.result_cb = __ug_result_cb;
+       cbs.destroy_cb = __ug_destroy_cb;
+       cbs.priv = ad;
+
+       ad->camera_ug = ug_create(NULL, "camera-efl", UG_MODE_FULLVIEW, ad->service_handle, &cbs);
+
+       if(ad->camera_ug == NULL) {
+               cam_critical("ug_create failed");
+               elm_exit();
+       } else {
+               cam_critical("ug_create created");
+       }
+}
+
+static void cam_language_changed_cb(void *data)
+{
+       struct appdata *ad = data;
+       cam_retm_if(ad == NULL, "appdata is NULL");
+
+       if (ad->camera_ug) {
+               enum ug_event ev = UG_EVENT_LANG_CHANGE;
+               ug_send_event(ev);
+       }
+}
+
+static void cam_low_battery_cb(void *data)
+{
+       struct appdata *ad = data;
+       cam_retm_if(ad == NULL, "appdata is NULL");
+
+       if (ad->camera_ug) {
+               enum ug_event ev = UG_EVENT_LOW_BATTERY;
+               ug_send_event(ev);
+       }
+}
+
+static bool cam_create(void *user_data)
+{
+       cam_debug("############## cam_create START ##############");
+
+       struct appdata *ad = (struct appdata *)user_data;
+       cam_retvm_if(ad == NULL, false, "appdata is NULL");
+
+       /* create main window */
+       ad->win_main = __cam_create_win(PACKAGE);
+       cam_retvm_if(ad->win_main == NULL, FALSE, "__cam_create_win failed");
+
+       ad->conform = elm_conformant_add(ad->win_main);
+
+       if (ad->conform) {
+               cam_debug("create ad->conform");
+               evas_object_size_hint_weight_set(ad->conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+               elm_win_resize_object_add(ad->win_main, ad->conform);
+               evas_object_show(ad->conform);
+       }
+
+       /* init UG module */
+       UG_INIT_EFL(ad->win_main, UG_OPT_INDICATOR_DISABLE);
+
+       return true;
+}
+
+static void cam_terminate(void *user_data)
+{
+       cam_debug("############## cam_terminate START ##############");
+
+       struct appdata *ad = (struct appdata *)user_data;
+       cam_retm_if(ad == NULL, "appdata is NULL");
+
+       ad->app_state = CAM_APP_TERMINATE_STATE;
+
+       if(ad->service_handle) {
+               service_destroy(ad->service_handle);
+               ad->service_handle = NULL;
+       }
+
+       if(ad->ug_layout) {
+               evas_object_del(ad->ug_layout);
+               ad->ug_layout = NULL;
+       }
+
+       if(ad->camera_ug) {
+               ug_destroy_all();
+               ad->camera_ug = NULL;
+       }
+
+       if(ad->win_main) {
+               evas_object_del(ad->win_main);
+               ad->win_main = NULL;
+       }
+}
+
+static void cam_pause(void *user_data)
+{
+       cam_debug("############## cam_pause START ##############");
+
+       struct appdata *ad = (struct appdata *)user_data;
+       cam_retm_if(ad == NULL, "appdata is NULL");
+
+       ad->app_state = CAM_APP_PAUSE_STATE;
+
+       ug_pause();
+}
+
+static void cam_resume(void *user_data)
+{
+       cam_debug("############## cam_resume START ##############");
+
+       struct appdata *ad = (struct appdata *)user_data;
+       cam_retm_if(ad == NULL, "appdata is NULL");
+
+       ug_resume();
+
+       ad->app_state = CAM_APP_RUNNING_STATE;
+}
+
+static void cam_service(service_h service, void *user_data)
+{
+       cam_debug("############## cam_service START ##############");
+
+       struct appdata *ad = (struct appdata *)user_data;
+       cam_retm_if(ad == NULL, "appdata is NULL");
+
+       int ret = service_clone(&ad->service_handle, service);
+       if (ret != SERVICE_ERROR_NONE) {
+               cam_critical("service_clone failed");
+               return;
+       }
+
+       if(ad->camera_ug) {
+               if (ad->app_state == CAM_APP_RUNNING_STATE) {
+                       /* mmi-check test case */
+                       cam_critical("mmi-check test case, send ug message");
+
+                       char *mmi_check = NULL;
+                       service_get_extra_data(service, "MMICHECK_CAMERA", (char **)&mmi_check);
+                       if (mmi_check) {
+                               cam_critical("MMICHECK_CAMERA %s", mmi_check);
+                               if (0 == strcmp(mmi_check, "1")) {
+                                       service_h msg;
+                                       service_create(&msg);
+                                       service_add_extra_data(msg, "MMICHECK_CAMERA", "1");
+                                       if (ug_send_message(ad->camera_ug, msg) != 0 )
+                                               cam_critical("ug_send_msg() fail!!");
+                                       service_destroy(msg);
+                               }
+                       }
+               } else {
+                       cam_critical("camera ug exist, resume it");
+                       evas_object_raise(ad->win_main);
+                       ecore_idler_add(ug_resume(), ad);
+                       ad->app_state = CAM_APP_RUNNING_STATE;
+               }
+       } else {
+               cam_critical("create camera ug");
+               __create_ug(ad);
+               ad->app_state = CAM_APP_RUNNING_STATE;
+       }
+}
+
+int main(int argc, char *argv[])
+{
+       cam_debug("main START");
+
+       int i = 0;
+       struct appdata ad;
+
+       /*set appdata init variable*/
+       memset(&ad, 0x0, sizeof(struct appdata));
+
+       cam_debug("argc = %d", argc);
+       for (i = 0; i < argc; i++) {
+               cam_debug("argv[%d] = %s", i, argv[i]);
+       }
+
+       app_event_callback_s event_callbacks;
+
+       event_callbacks.create = cam_create;
+       event_callbacks.terminate = cam_terminate;
+       event_callbacks.pause = cam_pause;
+       event_callbacks.resume = cam_resume;
+       event_callbacks.service = cam_service;
+
+       event_callbacks.language_changed = cam_language_changed_cb;
+       event_callbacks.low_battery = cam_low_battery_cb;
+       event_callbacks.device_orientation = NULL;
+       event_callbacks.low_memory = NULL;
+       event_callbacks.region_format_changed = NULL;
+
+       setenv("ELM_ENGINE", "gl", 1); /*add open gl support for 3D slide_show of image viewer*/
+
+       return app_efl_main(&argc, &argv, &event_callbacks, &ad);
+
+}
+
+//end file