add tizen-extension.xml 78/44178/1
authorBoram Park <boram1288.park@samsung.com>
Fri, 17 Jul 2015 11:09:55 +0000 (20:09 +0900)
committerBoram Park <boram1288.park@samsung.com>
Fri, 17 Jul 2015 11:20:31 +0000 (20:20 +0900)
Change-Id: I7eebb147e191817a743b2af74334262f220f7c46

Makefile.am
protocol/tizen-extension.xml [new file with mode: 0644]

index 8db26ba0e24ea2682ea6bf88f40a6ce03151aecb..a857c44a59b181d0ac6db6200d2911766cd361f5 100644 (file)
@@ -112,3 +112,16 @@ protocolinclude_HEADERS += \
        protocol/text-client-protocol.h
 libtext_server_la_SOURCES = protocol/text-protocol.c
 libtext_client_la_SOURCES = protocol/text-protocol.c
+
+### tizen-extension
+protocol_LTLIBRARIES += \
+       libtizen-extension-server.la \
+       libtizen-extension-client.la
+pkgconfig_DATA += \
+       src/tizen-extension-server.pc \
+       src/tizen-extension-client.pc
+protocolinclude_HEADERS += \
+       protocol/tizen-extension-server-protocol.h \
+       protocol/tizen-extension-client-protocol.h
+libtizen_extension_server_la_SOURCES = protocol/tizen-extension-protocol.c
+libtizen_extension_client_la_SOURCES = protocol/tizen-extension-protocol.c
diff --git a/protocol/tizen-extension.xml b/protocol/tizen-extension.xml
new file mode 100644 (file)
index 0000000..93723ac
--- /dev/null
@@ -0,0 +1,433 @@
+<protocol name="tizen_extension">
+
+  <interface name="tizen_surface" version="1">
+    <request name="get_tizen_resource">
+      <arg name="id" type="new_id" interface="tizen_resource" />
+      <arg name="surface" type="object" interface="wl_surface" />
+    </request>
+  </interface>
+
+  <interface name="tizen_resource" version="1">
+    <request name="destroy" type="destructor" />
+
+    <event name="resource_id">
+      <arg name="id" type="uint" />
+    </event>
+  </interface>
+
+  <interface name="tizen_policy" version="1">
+    <request name="get_visibility">
+      <arg name="id" type="new_id" interface="tizen_visibility" summary="new visibility object"/>
+      <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
+    </request>
+
+    <request name="get_position">
+      <arg name="id" type="new_id" interface="tizen_position" summary="new position object"/>
+      <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
+    </request>
+
+    <request name="activate">
+      <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
+    </request>
+
+    <request name="lower">
+      <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
+    </request>
+
+    <request name="focus_skip_set">
+      <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
+    </request>
+
+    <request name="focus_skip_unset">
+      <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
+    </request>
+
+    <request name="role_set">
+      <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
+      <arg name="role" type="string"/>
+    </request>
+
+    <!-- for conformant -->
+    <request name="conformant_set">
+      <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
+    </request>
+
+    <request name="conformant_unset">
+      <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
+    </request>
+
+    <request name="conformant_get">
+      <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
+    </request>
+
+    <event name="conformant">
+      <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
+      <arg name="is_conformant" type="uint"/>
+    </event>
+
+    <enum name="conformant_part">
+      <entry name="indicator" value="0"/>
+      <entry name="keyboard" value="1"/>
+      <entry name="clipboard" value="2"/>
+    </enum>
+
+    <event name="conformant_area">
+      <arg name="surface" type="object" interface="wl_surface" summary="surface object"/>
+      <arg name="conformant_part" type="uint"/>
+      <arg name="state" type="uint"/>
+      <arg name="x" type="int"/>
+      <arg name="y" type="int"/>
+      <arg name="w" type="int"/>
+      <arg name="h" type="int"/>
+    </event>
+
+    <enum name="error_state">
+      <entry name="none" value="0"/>
+      <entry name="permission_denied" value="1"/>
+    </enum>
+
+    <!-- for notification -->
+    <enum name="level">
+      <entry name="1" value="0"/>
+      <entry name="2" value="1"/>
+      <entry name="3" value="2"/>
+      <entry name="none" value="-1"/>
+      <entry name="default" value="10"/>
+      <entry name="medium" value="20"/>
+      <entry name="high" value="30"/>
+      <entry name="top" value="40"/>
+    </enum>
+
+    <request name="set_notification_level">
+      <arg name="surface" type="object" interface="wl_surface"/>
+      <arg name="level" type="int"/>
+    </request>
+
+    <event name="notification_done">
+      <arg name="surface" type="object" interface="wl_surface"/>
+      <arg name="level" type="int"/>
+      <arg name="error_state" type="uint"/>
+    </event>
+
+    <!-- for transient_for -->
+    <request name="set_transient_for">
+      <arg name="child_id" type="uint" />
+      <arg name="parent_id" type="uint" />
+    </request>
+
+    <request name="unset_transient_for">
+      <arg name="child_id" type="uint" />
+    </request>
+
+    <event name="transient_for_done">
+      <arg name="child_id" type="uint"/>
+    </event>
+
+    <!-- for window_screen_mode -->
+    <enum name="mode">
+      <entry name="default" value="0"/>
+      <entry name="always_on" value="1"/>
+    </enum>
+
+    <request name="set_window_screen_mode">
+      <arg name="surface" type="object" interface="wl_surface"/>
+      <arg name="mode" type="uint"/>
+    </request>
+
+    <event name="window_screen_mode_done">
+      <arg name="surface" type="object" interface="wl_surface"/>
+      <arg name="mode" type="uint"/>
+      <arg name="error_state" type="uint"/>
+    </event>
+
+    <!-- for subsurface -->
+    <request name="place_subsurface_below_parent">
+      <arg name="subsurface" type="object" interface="wl_subsurface"/>
+    </request>
+  </interface>
+
+  <interface name="tizen_visibility" version="1">
+    <request name="destroy" type="destructor"/>
+
+    <enum name="visibility">
+      <entry name="unobscured" value="0"/>
+      <entry name="partially_obscured" value="1"/>
+      <entry name="fully_obscured" value="2"/>
+    </enum>
+
+    <event name="notify">
+      <arg name="visibility" type="uint"/>
+    </event>
+  </interface>
+
+  <interface name="tizen_position" version="1">
+    <request name="destroy" type="destructor"/>
+
+    <request name="set">
+      <arg name="x" type="int"/>
+      <arg name="y" type="int"/>
+    </request>
+
+    <event name="changed">
+      <arg name="x" type="int"/>
+      <arg name="y" type="int"/>
+    </event>
+  </interface>
+
+  <interface name="tizen_keyrouter" version="1">
+    <description summary="an interface to set each focus for each key">
+      In tradition, all the keys in a keyboard and a device on which
+      some keys are attached will be sent to focus surface by default.
+      Currently it's possible to set up each focus for each key in a keyboard and a device.
+      Therefore, by setting a key grab for a surface, the owner of the
+      surface will get the key event when it has the key grab for the key.
+    </description>
+
+    <enum name="error">
+      <entry name="none" value="0" summary="no error"/>
+      <entry name="invalid_surface" value="1" summary="Given surface is invalid."/>
+      <entry name="invalid_key" value="2" summary="Given key is invalid."/>
+      <entry name="invalid_mode" value="3" summary="Given mode is invalid."/>
+      <entry name="grabbed_already" value="4" summary="The key has been grabbed already."/>
+      <entry name="no_permission" value="5" summary="The wl client has no permission to grab the key."/>
+      <entry name="no_system_resources" value="6" summary="System resources are insufficient."/>
+    </enum>
+
+    <enum name="mode">
+      <description summary="mode for a key grab">
+        This value is used to set a mode for a key grab. With this mode and
+        the order of the surface between surfaces' stack, the compositor will determine the destination client
+        surface.
+      </description>
+      <entry name="none" value="0" summary="none"/>
+      <entry name="shared" value="1"
+       summary="mode to get a key grab with the other client surfaces when the focused client surface gets the key"/>
+      <entry name="topmost" value="2"
+       summary="mode to get a key grab when the client surface is the top most surface"/>
+      <entry name="overridable_exclusive" value="3"
+       summary="mode to get a key grab exclusively, overridably regardless of the order in the surface stack"/>
+      <entry name="exclusive" value="4"
+       summary="mode to get a key grab exclusively regardless of the order in surface stack"/>
+    </enum>
+
+    <request name="set_keygrab">
+      <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
+      <arg name="key" type="uint"/>
+      <arg name="mode" type="uint"/>
+    </request>
+
+    <request name="unset_keygrab">
+      <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
+      <arg name="key" type="uint"/>
+    </request>
+
+    <request name="get_keygrab_status">
+      <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
+      <arg name="key" type="uint"/>
+    </request>
+
+    <event name="keygrab_notify">
+      <arg name="surface" type="object" interface="wl_surface" allow-null="true"/>
+      <arg name="key" type="uint"/>
+      <arg name="mode" type="uint"/>
+      <arg name="error" type="uint"/>
+    </event>
+  </interface>
+
+  <interface name="tizen_screenshooter" version="1">
+    <description summary="interface for tizen-screenshooter">
+      Clients can get a screenmirror object from this interface.
+    </description>
+
+    <request name="get_screenmirror">
+      <description summary="create a screenmirror object">
+        Before using screenmirror, a client should get a screenmirror object from display
+        server.
+      </description>
+      <arg name="id" type="new_id" interface="tizen_screenmirror" summary="new screenmirror object"/>
+      <arg name="output" type="object" interface="wl_output" summary="output object for screenmirror"/>
+    </request>
+  </interface>
+
+  <interface name="tizen_screenmirror" version="1">
+    <description summary="interface for screenmirror">
+      A client can use this interface to get stream images of screen. Before starting,
+      queue all buffers. Then, start a screenmirror. After starting, a dequeued event
+      will occur when drawing a captured image on a buffer is finished. You might
+      need to queue the dequeued buffer again to get a new image from display server.
+    </description>
+
+    <request name="destroy" type="destructor"/>
+
+    <request name="set_stretch">
+      <arg name="stretch" type="uint" summary="stretch type for screenmirror"/>
+    </request>
+
+    <request name="queue">
+      <description summary="queue a buffer"/>
+        <arg name="buffer" type="object" interface="wl_buffer" summary="buffer object for screenmirror"/>
+    </request>
+
+    <request name="dequeue">
+      <description summary="dequeue a buffer">
+        A user can dequeue a buffer from display server when he wants to take back it from server.
+      </description>
+      <arg name="buffer" type="object" interface="wl_buffer" summary="buffer object for screenmirror"/>
+    </request>
+
+    <request name="start"/>
+    <request name="stop"/>
+
+    <enum name="content">
+      <entry name="normal" value="0"/>
+      <entry name="video" value="1"/>
+    </enum>
+
+    <enum name="stretch">
+      <entry name="keep_ratio" value="0"/>
+      <entry name="fully" value="1"/>
+    </enum>
+
+    <event name="dequeued">
+      <description summary="dequeued event">
+        occurs when drawing a captured image on a buffer is finished
+      </description>
+      <arg name="buffer" type="object" interface="wl_buffer" summary="dequeued buffer which contains a captured image"/>
+    </event>
+
+    <event name="content">
+      <description summary="content changed event">
+        occurs when the content of a captured image is changed. (normal or video)
+      </description>
+      <arg name="content" type="uint"/>
+    </event>
+
+    <event name="stop">
+      <description summary="stop event">
+        occurs when the screenmirror is stopped eventually
+      </description>
+    </event>
+  </interface>
+
+  <interface name="tizen_buffer_pool" version="1">
+    <request name="authenticate">
+      <arg name="id" type="uint"/>
+    </request>
+
+    <request name="create_buffer">
+      <arg name="id" type="new_id" interface="wl_buffer"/>
+      <arg name="name" type="uint"/>
+      <arg name="width" type="int"/>
+      <arg name="height" type="int"/>
+      <arg name="stride" type="uint"/>
+      <arg name="format" type="uint"/>
+    </request>
+
+    <request name="create_planar_buffer">
+      <arg name="id" type="new_id" interface="wl_buffer"/>
+      <arg name="width" type="int"/>
+      <arg name="height" type="int"/>
+      <arg name="format" type="uint"/>
+      <arg name="name0" type="uint"/>
+      <arg name="offset0" type="int"/>
+      <arg name="stride0" type="int"/>
+      <arg name="name1" type="uint"/>
+      <arg name="offset1" type="int"/>
+      <arg name="stride1" type="int"/>
+      <arg name="name2" type="uint"/>
+      <arg name="offset2" type="int"/>
+      <arg name="stride2" type="int"/>
+    </request>
+
+    <event name="device">
+      <arg name="name" type="string"/>
+    </event>
+
+    <event name="authenticated"/>
+
+    <event name="capabilities">
+      <arg name="value" type="uint"/>
+    </event>
+
+    <event name="format">
+      <arg name="format" type="uint"/>
+    </event>
+
+    <enum name="error">
+      <entry name="invalid_format" value="0"/>
+      <entry name="invalid_name" value="1"/>
+    </enum>
+
+    <enum name="capability">
+      <entry name="default" value="0"/>
+      <entry name="video" value="0x1"/>
+      <entry name="screenmirror" value="0x2"/>
+    </enum>
+
+    <enum name="format">
+      <entry name="c8" value="0x20203843"/>
+      <entry name="rgb332" value="0x38424752"/>
+      <entry name="bgr233" value="0x38524742"/>
+      <entry name="xrgb4444" value="0x32315258"/>
+      <entry name="xbgr4444" value="0x32314258"/>
+      <entry name="rgbx4444" value="0x32315852"/>
+      <entry name="bgrx4444" value="0x32315842"/>
+      <entry name="argb4444" value="0x32315241"/>
+      <entry name="abgr4444" value="0x32314241"/>
+      <entry name="rgba4444" value="0x32314152"/>
+      <entry name="bgra4444" value="0x32314142"/>
+      <entry name="xrgb1555" value="0x35315258"/>
+      <entry name="xbgr1555" value="0x35314258"/>
+      <entry name="rgbx5551" value="0x35315852"/>
+      <entry name="bgrx5551" value="0x35315842"/>
+      <entry name="argb1555" value="0x35315241"/>
+      <entry name="abgr1555" value="0x35314241"/>
+      <entry name="rgba5551" value="0x35314152"/>
+      <entry name="bgra5551" value="0x35314142"/>
+      <entry name="rgb565" value="0x36314752"/>
+      <entry name="bgr565" value="0x36314742"/>
+      <entry name="rgb888" value="0x34324752"/>
+      <entry name="bgr888" value="0x34324742"/>
+      <entry name="xrgb8888" value="0x34325258"/>
+      <entry name="xbgr8888" value="0x34324258"/>
+      <entry name="rgbx8888" value="0x34325852"/>
+      <entry name="bgrx8888" value="0x34325842"/>
+      <entry name="argb8888" value="0x34325241"/>
+      <entry name="abgr8888" value="0x34324241"/>
+      <entry name="rgba8888" value="0x34324152"/>
+      <entry name="bgra8888" value="0x34324142"/>
+      <entry name="xrgb2101010" value="0x30335258"/>
+      <entry name="xbgr2101010" value="0x30334258"/>
+      <entry name="rgbx1010102" value="0x30335852"/>
+      <entry name="bgrx1010102" value="0x30335842"/>
+      <entry name="argb2101010" value="0x30335241"/>
+      <entry name="abgr2101010" value="0x30334241"/>
+      <entry name="rgba1010102" value="0x30334152"/>
+      <entry name="bgra1010102" value="0x30334142"/>
+      <entry name="yuyv" value="0x56595559"/>
+      <entry name="yvyu" value="0x55595659"/>
+      <entry name="uyvy" value="0x59565955"/>
+      <entry name="vyuy" value="0x59555956"/>
+      <entry name="ayuv" value="0x56555941"/>
+      <entry name="nv12" value="0x3231564e"/>
+      <entry name="nv21" value="0x3132564e"/>
+      <entry name="nv16" value="0x3631564e"/>
+      <entry name="nv61" value="0x3136564e"/>
+      <entry name="yuv410" value="0x39565559"/>
+      <entry name="yvu410" value="0x39555659"/>
+      <entry name="yuv411" value="0x31315559"/>
+      <entry name="yvu411" value="0x31315659"/>
+      <entry name="yuv420" value="0x32315559"/>
+      <entry name="yvu420" value="0x32315659"/>
+      <entry name="yuv422" value="0x36315559"/>
+      <entry name="yvu422" value="0x36315659"/>
+      <entry name="yuv444" value="0x34325559"/>
+      <entry name="yvu444" value="0x34325659"/>
+
+      <!-- specail formats for samsung exynos -->
+      <entry name="st12" value="0x32315453"/>
+      <entry name="sn12" value="0x32314e53"/>
+    </enum>
+  </interface>
+
+</protocol>