Editing Documentation/Maemo 5 Developer Guide/Architecture/Imaging and Sharing

Warning: You are not logged in. Your IP address will be recorded in this page's edit history.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
 +
= Imaging and Sharing High Level Architecture=
 +
Subsystems of Imaging and Sharing domain are implementing means to produce, review, change, and share photography content on the device.
Subsystems of Imaging and Sharing domain are implementing means to produce, review, change, and share photography content on the device.
Line 9: Line 11:
The diagram below shows the main interfaces of the domain.  
The diagram below shows the main interfaces of the domain.  
-
[[Image:Imaging_Sharing_sw_context.png|480px|Imaging and Sharing, Software Context]]
+
[[Image:Imaging_Sharing_sw_context.png|480px]] <br>
 +
''Imaging and Sharing, Software Context''
 +
 
==Interfaces provided==
==Interfaces provided==
-
 
+
{|border=1
-
{| class="wikitable"
+
|'''Interface'''
-
|+ Sharing interfaces
+
|'''Description'''
-
|-
+
-
! Interface !! Description
+
|-
|-
|Image Viewer UI
|Image Viewer UI
|The primary user interface for viewing still images and manipulating them.
|The primary user interface for viewing still images and manipulating them.
|-
|-
-
| [[Documentation/Maemo 5 Developer Guide/Using Data Sharing/Sharing Plug-in|Sharing UI]]
+
|Sharing UI
|The user interface for sharing content via internet services such as Nokia’s OVI.
|The user interface for sharing content via internet services such as Nokia’s OVI.
|-
|-
Line 30: Line 32:
|An abstraction over complex set of GStreamer pipelines used to perform still image and video capturing.
|An abstraction over complex set of GStreamer pipelines used to perform still image and video capturing.
|-
|-
-
| [[Documentation/Maemo 5 Developer Guide/Using Data Sharing/Sharing Plug-in#Writing Sharing Plug-in for .22Send via Service.22|Sharing plug-in extensions]]
+
|Sharing plug-in extensions
-
| An interface for external developers to extend Sharing subsystem's reach to internet services.
+
|An interface for external developers to extend Sharing subsystem's reach to internet services.
|-
|-
|Viewing capability
|Viewing capability
|Image Viewer application is the device’s primary means to view images, and it thus launched when user wants to handle the associated image files.
|Image Viewer application is the device’s primary means to view images, and it thus launched when user wants to handle the associated image files.
|}
|}
 +
==System decomposition view==
==System decomposition view==
===Camera application===
===Camera application===
 +
{|border=1
 +
|'''Name'''
 +
|'''Camera application'''
 +
|-
 +
|'''Purpose'''
 +
|Implements the camera UI interface
 +
|-
 +
|'''Responsibilities'''
 +
|
 +
*Implements camera controls for end user (e.g. open, close, capture, zoom)<br>
 +
*Implements camera settings (e.g. scene modes, flash settings etc.)<br>
 +
*Implements indicators (e.g. shake indicator)<br>
 +
*Implements main power management for camera
 +
|-
 +
|'''License'''
 +
|Nokia
 +
|}
-
;Purpose
 
-
: Implements the camera UI interface
 
-
;Responsibilities
 
-
: <ul><li>Implements camera controls for end user (e.g. open, close, capture, zoom)</li><li>Implements camera settings (e.g. scene modes, flash settings etc.)</li><li>Implements indicators (e.g. shake indicator)</li><li>Implements main power management for camera</li></ul>
 
-
;License
 
-
: Nokia
 
====Interfaces provided====
====Interfaces provided====
-
 
+
{|border=1
-
{| class="wikitable"
+
|'''Interface name'''
-
|+ Camera interfaces
+
|'''Dependency'''
 +
|'''Description'''
|-
|-
-
! Interface name !! Dependency !! Description
+
|GDigicam
 +
|GStreamer
 +
|High-level model abstraction of a GStreamer-based pipelines to access camera features
|-
|-
-
| GDigicam
+
|GDIGICAM facade
-
| GStreamer
+
|GDigicam
-
| High-level model abstraction of a GStreamer-based pipelines to access camera features
+
|Facade to interact with media objects in Camera UI
|-
|-
-
| GDIGICAM facade
+
|Gdigicam manager
-
| GDigicam
+
|GStreamer
-
| Facade to interact with media objects in Camera UI
+
|Abstract interface over camera operations
|-
|-
-
| Gdigicam manager
+
|Camerabin
-
| GStreamer
+
|Multimedia framework
-
| Abstract interface over camera operations
+
|Component to control camera pipeline on GStreamer level
-
|-
+
-
| Camerabin
+
-
| Multimedia framework
+
-
| Component to control camera pipeline on GStreamer level
+
|}
|}
 +
GDigicam library and Camerabin GStreamer element are provided as Free Software under LGPL2.1 in order to allow alternative implementations of certain image processing steps.
GDigicam library and Camerabin GStreamer element are provided as Free Software under LGPL2.1 in order to allow alternative implementations of certain image processing steps.
===Image Viewer===
===Image Viewer===
 +
{|border=1
 +
|'''Name'''
 +
|'''Image Viewer'''
 +
|-
 +
|'''Description'''
 +
|A viewer like content management application.
 +
|-
 +
|'''Responsibilities'''
 +
|
 +
*Implements a simple and fast interface for context sensitive user interface for viewing and selecting and categorizing the images.  <br>
 +
*Supports viewing of single images, snapshot views based on selectable categories and image presentations.
 +
|-
 +
|'''Notes'''
 +
|Image Viewer is a single instance application, only one viewer instance available at a time.
 +
|-
 +
|'''License'''
 +
|Nokia
 +
|}
-
;Description
 
-
: A viewer like content management application.
 
-
;Responsibilities
 
-
: <ul><li>Implements a simple and fast interface for context sensitive user interface for viewing and selecting and categorizing the images.</li><li>Supports viewing of single images, snapshot views based on selectable categories and image presentations.</li></ul>
 
-
;Notes
 
-
: Image Viewer is a single instance application, only one viewer instance available at a time.
 
-
;License
 
-
: Nokia
 
====Interfaces provided====
====Interfaces provided====
-
 
+
{|border=1
-
{| class="wikitable"
+
|'''Interface'''
-
|+ Image viewer interfaces
+
|'''Dependency'''
 +
|'''Description'''
|-
|-
-
! Interface !! Dependency !! Description
+
|Viewing capability
 +
|User
 +
|User interface to access Image Viewer application functionality
|-
|-
-
| Viewing capability
+
|Launch application
-
| User
+
|D-Bus
-
| User interface to access Image Viewer application functionality
+
|D-Bus interface to open the Image Viewer application, used by Camera, Browser, File Manager, Email.
-
|-
+
-
| Launch application
+
-
| D-Bus
+
-
| D-Bus interface to open the Image Viewer application, used by Camera, Browser, File Manager, Email.
+
|}
|}
-
===Sharing===
 
-
;Purpose
 
-
: Sharing subsystem implements means to upload a content originating on the device to internet-based social services.
 
-
;Responsibilities
 
-
: <ul><li>Implements dialogs for uploading of images to supported internet services</li><li>Implements simple management (i.e. filtering, adding) of metadata for images to be shared</li><li>Implements an API for extensions to add support for new internet services</li></ul>
 
-
;Notes
 
-
: Sharing subsystem contributes libraries which are used from within the context of other applications. Image Viewer is a primary consumer of these services within Imaging and Sharing domain.
 
-
;License
 
-
: Nokia. Plug-in API is available under LGPL2.1
 
-
====Interfaces provided====
+
===Sharing===
-
 
+
{|border=1
-
{| class="wikitable"
+
|'''Name'''
-
|+ Sharing interfaces
+
|'''Sharing'''
|-
|-
-
! Interface name !! Dependency !! Description
+
|'''Purpose'''
 +
|Sharing subsystem implements means to upload a content originating on the device to internet-based social services.
|-
|-
-
| Sharing plugins API
+
|'''Responsibilities'''
-
| Plugins API for sharing components
+
|
-
| An API for adding support for new internet services
+
*Implements dialogs for uploading of images to supported internet services <br>
 +
*Implements simple management  (i.e. filtering, adding) of metadata for images to be shared <br>
 +
*Implements an API for extensions to add support for new internet services<br>
 +
|-
 +
|'''Notes'''
 +
|Sharing subsystem contributes libraries which are used from within the context of other applications. Image Viewer is a primary consumer of these services within Imaging and Sharing domain.
 +
|-
 +
|'''License'''
 +
|Nokia. Plug-in API is available under LGPL2.1
|}
|}
-
[[Category:Development]]
+
 
-
[[Category:Documentation]]
+
====Interfaces provided====
-
[[Category:Fremantle]]
+
{|border=1
 +
|'''Interface name'''
 +
|'''Dependency'''
 +
|'''Description'''
 +
|-
 +
|Sharing plugins API
 +
|Plugins API for sharing components
 +
|An API for adding support for new internet services
 +
|}

Learn more about Contributing to the wiki.


Please note that all contributions to maemo.org wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see maemo.org wiki:Copyrights for details). Do not submit copyrighted work without permission!


Cancel | Editing help (opens in new window)