- Added the Sofia dbus talks (and now also all the slides).

This commit is contained in:
Derick Rethans
2009-04-29 09:26:21 +00:00
parent ee0e6143bc
commit 50bff042ad
39 changed files with 2142 additions and 1 deletions

52
dbus-sofia9.xml Normal file
View File

@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<presentation
template="css"
navmode="html"
navbarbackground="#4373b4"
navbartopiclinks="0"
navColor="#000000"
logo1=""
stylesheet="presentations/slides/ezc/ez.css"
backgroundfixed="1" >
<topic>DBUS</topic>
<title>PHP and DBUS</title>
<event>WebTech 2009</event>
<location>Veliko Turnovo, Bulgaria</location>
<date>Apr 26th, 2009</date>
<speaker>Derick Rethans</speaker>
<email>dr@ez.no</email>
<twitter>derickr</twitter>
<url>http://derickrethans.nl/talks.php</url>
<slide>slides/dbus/title.xml</slide>
<slide>slides/dbus/what-is-dbus.xml</slide>
<slide>slides/dbus/what-is-dbus-used-for.xml</slide>
<slide>slides/dbus/design-overview.xml</slide>
<slide>slides/dbus/message-types.xml</slide>
<slide>slides/dbus/identifying-objects.xml</slide>
<slide>slides/dbus/data-types.xml</slide>
<slide>slides/dbus/signatures.xml</slide>
<!-- PHP -->
<slide>slides/dbus/php-dbus-ext.xml</slide>
<slide>slides/dbus/php-as-client.xml</slide>
<slide>slides/dbus/data-type-mapping.xml</slide>
<slide>slides/dbus/data-type-mapping2.xml</slide>
<slide>slides/dbus/notify-hard.xml</slide>
<slide>slides/dbus/introspection.xml</slide>
<slide>slides/dbus/notify-introspect.xml</slide>
<slide>slides/dbus/php-as-server.xml</slide>
<slide>slides/dbus/signal.xml</slide>
<slide>slides/dbus/signal-send.xml</slide>
<slide>slides/dbus/skype.xml</slide>
<slide>slides/dbus/skype-theory-objects.xml</slide>
<slide>slides/dbus/skype-odd-api.xml</slide>
<slide>slides/dbus/skype-poll.xml</slide>
<slide>slides/dbus/skype-signal.xml</slide>
<slide>slides/dbus/pidgin.xml</slide>
<slide>slides/dbus/pidgin-example.xml</slide>
<slide>slides/dbus/what-next.xml</slide>
<slide>slides/internals/questions.xml</slide>
</presentation>

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Wikimedia Commons, User:Sven. Hand edited. :)-->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="469.157pt" height="72.905pt" viewBox="0 0 469.157 72.905"
xmlns="http://www.w3.org/2000/svg">
<g id="Layer_x0020_1" style="fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;">
<g style="stroke:none;">
<path d="M121.063,25.141c-0.454-0.156-1.068-0.273-1.843-0.352s-1.443-0.117-2.006-0.117c-0.938,0-1.646,0.239-2.123,0.717c-0.478,0.479-0.716,1.219-0.716,2.221v2.312h4.438v4.625h-4.438V55.11h-7.188V34.547h-2.375v-4.625h2.375v-3.234 c0-2.266,0.778-4.168,2.336-5.707c1.557-1.539,3.502-2.309,5.834-2.309c1.174,0,2.289,0.098,3.346,0.293s1.843,0.426,2.359,0.691v5.484z"/>
<path d="M139.36,37.485c-0.453-0.363-1.09-0.683-1.91-0.96c-0.82-0.276-1.785-0.415-2.895-0.415c-1.297,0-2.391,0.191-3.281,0.572s-1.633,0.852-2.227,1.412V55.11h-7.188V29.922l7.188-0.5v2.484l2.273-1.402c0.703-0.436,1.512-0.798,2.426-1.087 c0.914-0.288,1.754-0.433,2.52-0.433c0.812,0,1.465,0.051,1.957,0.152s0.871,0.215,1.137,0.34v8.008z"/>
<path d="M167.438,43.61H148.75c0.39,2.033,1.197,3.5,2.422,4.4s2.71,1.35,4.458,1.35c1.404,0,2.956-0.207,4.657-0.621c1.7-0.414,3.042-0.957,4.025-1.629v6.375c-0.922,0.654-2.31,1.172-4.161,1.553c-1.853,0.381-3.342,0.572-4.467,0.572 c-4.455,0-7.933-1.214-10.434-3.643c-2.501-2.428-3.751-5.68-3.751-9.756c0-4.106,1.276-7.421,3.831-9.943c2.554-2.521,5.744-3.783,9.571-3.783c3.826,0,6.876,1.349,9.149,4.045c2.272,2.697,3.401,6.391,3.386,11.08z M160.813,40.235 c-0.357-1.88-1.077-3.298-2.157-4.254c-1.08-0.955-2.421-1.434-4.021-1.434c-1.866,0-3.273,0.518-4.222,1.552s-1.523,2.413-1.725,4.136h12.125z"/>
<path d="M195.797,43.61H177.11c0.39,2.033,1.197,3.5,2.422,4.4s2.71,1.35,4.458,1.35c1.404,0,2.956-0.207,4.657-0.621c1.7-0.414,3.042-0.957,4.025-1.629v6.375c-0.922,0.654-2.31,1.172-4.161,1.553c-1.853,0.381-3.342,0.572-4.467,0.572 c-4.455,0-7.933-1.214-10.434-3.643c-2.501-2.428-3.751-5.68-3.751-9.756c0-4.106,1.276-7.421,3.831-9.943c2.554-2.521,5.744-3.783,9.571-3.783c3.826,0,6.876,1.349,9.149,4.045c2.272,2.697,3.401,6.391,3.386,11.08z M189.172,40.235 c-0.357-1.88-1.077-3.298-2.157-4.254c-1.08-0.955-2.421-1.434-4.021-1.434c-1.866,0-3.273,0.518-4.222,1.552s-1.523,2.413-1.725,4.136h12.125z"/>
<path d="M223.243,55.11h-5.438l-1.562-2.25l-3.778,2.05c-0.313,0.172-0.768,0.299-1.361,0.385c-0.595,0.085-1.111,0.128-1.549,0.128c-3.692,0-6.497-1.244-8.413-3.733c-1.917-2.488-2.883-5.611-2.898-9.368c-0.016-4.069,1.137-7.31,3.458-9.72 s5.39-3.616,9.204-3.616c1.094,0,2.055,0.086,2.883,0.258s1.626,0.477,2.393,0.914V19.11h7.062v36z M216.18,47.422V36.219c-0.392-0.488-1.041-0.91-1.948-1.265c-0.908-0.354-1.894-0.532-2.957-0.532c-1.973,0-3.439,0.578-4.401,1.733 c-0.963,1.155-1.443,2.99-1.443,5.504c0,2.562,0.512,4.476,1.537,5.74c1.025,1.266,2.414,1.897,4.166,1.897c1.127,0,2.116-0.185,2.97-0.556c0.853-0.37,1.545-0.81,2.077-1.319z"/>
<path d="M253.454,43.61h-18.688c0.39,2.033,1.197,3.5,2.422,4.4s2.71,1.35,4.458,1.35c1.404,0,2.956-0.207,4.657-0.621c1.7-0.414,3.042-0.957,4.025-1.629v6.375c-0.922,0.654-2.31,1.172-4.161,1.553c-1.853,0.381-3.342,0.572-4.467,0.572 c-4.455,0-7.933-1.214-10.434-3.643c-2.501-2.428-3.751-5.68-3.751-9.756c0-4.106,1.276-7.421,3.831-9.943c2.554-2.521,5.744-3.783,9.571-3.783c3.826,0,6.876,1.349,9.149,4.045c2.272,2.697,3.401,6.391,3.386,11.08z M246.829,40.235 c-0.357-1.88-1.077-3.298-2.157-4.254c-1.08-0.955-2.421-1.434-4.021-1.434c-1.866,0-3.273,0.518-4.222,1.552s-1.523,2.413-1.725,4.136h12.125z"/>
<path d="M276.313,46.474c0,2.749-0.984,4.959-2.951,6.63s-4.402,2.506-7.307,2.506c-1.358,0-2.986-0.138-4.883-0.411c-1.897-0.274-3.58-0.804-5.047-1.589v-6.312c1.156,0.646,2.469,1.203,3.938,1.672s3.172,0.703,5.109,0.703c1.391,0,2.512-0.2,3.363-0.602 c0.852-0.4,1.277-1.126,1.277-2.175c0-0.687-0.359-1.244-1.077-1.674s-1.966-0.723-3.745-0.879c-3.184-0.266-5.416-1.038-6.695-2.319c-1.28-1.28-1.92-2.998-1.92-5.153c0-2.436,0.98-4.442,2.941-6.02s4.371-2.366,7.23-2.366c1.25,0,2.586,0.113,4.008,0.34 s2.633,0.509,3.633,0.848v6.375c-1.25-0.557-2.496-0.967-3.738-1.23c-1.242-0.263-2.582-0.395-4.02-0.395c-1.156,0-2.059,0.196-2.707,0.587c-0.648,0.392-0.973,0.848-0.973,1.369c0,0.953,0.46,1.581,1.38,1.886s1.886,0.488,2.899,0.551 c3.086,0.203,5.405,0.969,6.956,2.296s2.327,3.115,2.327,5.363z"/>
<path d="M304.704,55.11h-8.574l-7.052-11.068l-1.499,1.394v9.675h-7.188v-36h7.188v19.421l9.669-9.671l4.769,3.185l-7.687,7.119l10.374,15.946z"/>
<path d="M318.938,50.735l-5.219,4.875c-2.156-0.891-3.773-2.192-4.852-3.905c-1.078-1.712-1.617-3.757-1.617-6.134V34.547h-2.375v-4.625h2.375V21.61l7.188-0.5v8.812h3.75v4.625h-3.75v9.009c0,1.799,0.406,3.293,1.219,4.481s1.906,2.088,3.281,2.697z"/>
<path d="M347.165,42.047c0,4.139-1.186,7.434-3.557,9.885c-2.371,2.452-5.623,3.678-9.756,3.678c-4.445,0-7.775-1.233-9.99-3.701c-2.215-2.467-3.322-5.754-3.322-9.861c0-3.732,1.192-6.926,3.579-9.58s5.631-3.982,9.733-3.982c4.117,0,7.365,1.227,9.744,3.678 c2.379,2.452,3.568,5.747,3.568,9.885z M339.915,42.047c0-2.036-0.536-3.848-1.606-5.434c-1.071-1.586-2.553-2.379-4.444-2.379c-2.174,0-3.729,0.724-4.667,2.169c-0.938,1.446-1.407,3.327-1.407,5.644c0,2.161,0.562,4.004,1.688,5.527 c1.125,1.523,2.634,2.285,4.526,2.285c2.11,0,3.623-0.617,4.538-1.854c0.914-1.236,1.372-3.223,1.372-5.959z"/>
<path d="M376.461,41.833c0,3.89-1.192,7.096-3.577,9.618c-2.385,2.523-5.282,3.784-8.691,3.784c-1.174,0-2.249-0.094-3.226-0.279c-0.978-0.186-1.771-0.426-2.381-0.721v8.5h-7.062V29.922l6.758-0.5l0.367,1.492l2.391-1.172c0.766-0.375,1.445-0.668,2.039-0.879 s1.297-0.316,2.109-0.316c3.453,0,6.195,1.254,8.227,3.761c2.031,2.508,3.047,5.683,3.047,9.524z M369.274,42.157c0-2.061-0.541-3.844-1.621-5.35s-2.568-2.26-4.463-2.26c-1.253,0-2.239,0.198-2.96,0.594c-0.721,0.396-1.269,0.808-1.644,1.234v11.859 c0.375,0.434,1.002,0.781,1.879,1.044s1.848,0.394,2.913,0.394c2.02,0,3.508-0.636,4.463-1.908c0.955-1.271,1.433-3.141,1.433-5.607z"/>
<path d="M389.211,55.11h-7.438v-7.625h7.438v7.625z"/>
<path d="M421.157,42.047c0,4.139-1.186,7.434-3.557,9.885c-2.371,2.452-5.623,3.678-9.756,3.678c-4.445,0-7.775-1.233-9.99-3.701c-2.215-2.467-3.322-5.754-3.322-9.861c0-3.732,1.192-6.926,3.579-9.58s5.631-3.982,9.733-3.982c4.117,0,7.365,1.227,9.744,3.678 c2.379,2.452,3.568,5.747,3.568,9.885z M413.907,42.047c0-2.036-0.536-3.848-1.606-5.434c-1.071-1.586-2.553-2.379-4.444-2.379c-2.174,0-3.729,0.724-4.667,2.169c-0.938,1.446-1.407,3.327-1.407,5.644c0,2.161,0.562,4.004,1.688,5.527 c1.125,1.523,2.634,2.285,4.526,2.285c2.11,0,3.623-0.617,4.538-1.854c0.914-1.236,1.372-3.223,1.372-5.959z"/>
<path d="M443.016,37.485c-0.453-0.363-1.09-0.683-1.91-0.96c-0.82-0.276-1.785-0.415-2.895-0.415c-1.297,0-2.391,0.191-3.281,0.572s-1.633,0.852-2.227,1.412V55.11h-7.188V29.922l7.188-0.5v2.484l2.273-1.402c0.703-0.436,1.512-0.798,2.426-1.087 c0.914-0.288,1.754-0.433,2.52-0.433c0.812,0,1.465,0.051,1.957,0.152s0.871,0.215,1.137,0.34v8.008z"/>
<path d="M469.157,51.914c0,1.577-0.301,2.994-0.9,4.251c-0.601,1.256-1.392,2.329-2.373,3.22c-0.967,0.874-2.034,1.592-3.203,2.153c-1.17,0.561-2.284,0.968-3.344,1.221l-6.242-0.023v-4.062c3.568,0,5.971-0.348,7.207-1.042c1.236-0.695,1.855-1.868,1.855-3.521 v-1.781l-2.509,1.688c-0.47,0.312-1.017,0.531-1.642,0.656s-1.204,0.188-1.735,0.188c-3.533,0-6.269-1.184-8.207-3.551s-2.907-5.59-2.907-9.668c0-3.797,1.134-6.918,3.401-9.363s5.121-3.668,8.562-3.668c1.126,0,2.275,0.19,3.448,0.57s2.244,0.981,3.214,1.805 l3.875-1.5l1.5,0.438v21.991z M462.344,46.782V36.735c-0.404-0.645-0.926-1.16-1.563-1.546s-1.509-0.579-2.612-0.579c-2.068,0-3.546,0.648-4.433,1.943c-0.887,1.296-1.329,2.794-1.329,4.495c0,2.264,0.458,4.121,1.376,5.572s2.31,2.177,4.176,2.177 c0.948,0,1.812-0.18,2.589-0.539s1.377-0.852,1.797-1.477z"/>
</g>
<g style="fill:#FFFFFF;stroke:#3B80AE;stroke-width:2.4588;">
<g>
<path style="stroke:#BABABA;" d="M85.277,40.796c2.058,7.884-2.667,15.942-10.551,17.999L27.143,71.21c-7.884,2.057-15.943-2.667-18-10.552l-7.448-28.55c-2.057-7.884,2.667-15.942,10.551-17.999L59.83,1.695c7.884-2.057,15.942,2.667,17.999,10.551l7.449,28.55z"/>
<path style="fill:#3B80AE;stroke:none;" d="M80.444,39.778c1.749,7.854-1.816,13.621-9.504,15.447l-42.236,11.02c-7.569,2.396-14.089-1.181-15.838-8.836L6.53,33.127c-1.749-8.145,0.709-12.889,9.503-15.447L58.27,6.661c8.144-1.826,14.089,1.363,15.838,8.835l6.336,24.282z"/>
</g>
<path style="opacity:0.5;fill:none;stroke:#FFFFFF;" d="M45.542,51.793L24.104,31.102l38.1-4.393L45.542,51.793z"/>
<path d="M72.325,28.769c0.405,1.55-0.525,3.136-2.075,3.541l-12.331,3.217c-1.551,0.404-3.137-0.525-3.542-2.076l-2.295-8.801c-0.405-1.551,0.524-3.137,2.076-3.542l12.33-3.217c1.551-0.405,3.137,0.525,3.542,2.076l2.295,8.801z"/>
<path d="M36.51,33.625c0.496,1.9-0.645,3.844-2.545,4.34l-15.112,3.943c-1.901,0.496-3.845-0.644-4.34-2.544l-2.814-10.786c-0.496-1.901,0.644-3.844,2.544-4.34l15.113-3.942c1.901-0.496,3.845,0.643,4.34,2.544l2.814,10.786z"/>
<path d="M52.493,53.208c0.278,1.065-0.36,2.154-1.425,2.432L42.6,57.848c-1.064,0.277-2.153-0.36-2.431-1.426l-1.577-6.043c-0.277-1.064,0.36-2.153,1.425-2.432l8.468-2.209c1.064-0.277,2.154,0.361,2.431,1.426l1.577,6.043z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.1 KiB

BIN
slides/dbus/Pidgin.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

431
slides/dbus/Pidgin.svg Normal file
View File

@@ -0,0 +1,431 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="48px"
height="48px"
id="svg4345"
sodipodi:version="0.32"
inkscape:version="0.44.1"
sodipodi:docbase="/home/hbons/Desktop/icons/48/scalable"
sodipodi:docname="pidgin.svg"
inkscape:export-filename="/home/hbons/Desktop/pidgin.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs4347">
<linearGradient
inkscape:collect="always"
id="linearGradient6563">
<stop
style="stop-color:white;stop-opacity:1;"
offset="0"
id="stop6565" />
<stop
style="stop-color:white;stop-opacity:0;"
offset="1"
id="stop6567" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient6537">
<stop
style="stop-color:white;stop-opacity:1;"
offset="0"
id="stop6539" />
<stop
style="stop-color:white;stop-opacity:0;"
offset="1"
id="stop6541" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient6506">
<stop
style="stop-color:#eeeeec;stop-opacity:1;"
offset="0"
id="stop6508" />
<stop
style="stop-color:#eeeeec;stop-opacity:0;"
offset="1"
id="stop6510" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient6493">
<stop
style="stop-color:#eeeeec;stop-opacity:1;"
offset="0"
id="stop6495" />
<stop
style="stop-color:#eeeeec;stop-opacity:0;"
offset="1"
id="stop6497" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient5304">
<stop
style="stop-color:#2e3436;stop-opacity:1;"
offset="0"
id="stop5306" />
<stop
style="stop-color:#2e3436;stop-opacity:0;"
offset="1"
id="stop5308" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient5280">
<stop
style="stop-color:#82508e;stop-opacity:1;"
offset="0"
id="stop5282" />
<stop
style="stop-color:#82508e;stop-opacity:0;"
offset="1"
id="stop5284" />
</linearGradient>
<linearGradient
id="linearGradient2804">
<stop
style="stop-color:black;stop-opacity:0;"
offset="0"
id="stop2806" />
<stop
id="stop2812"
offset="0.5"
style="stop-color:black;stop-opacity:1;" />
<stop
style="stop-color:black;stop-opacity:0;"
offset="1"
id="stop2808" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient25546"
id="radialGradient25572"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,0,0,0.994693,0,4.16407e-2)"
cx="7.8836637"
cy="1.5104795"
fx="7.8836637"
fy="1.5104795"
r="8.4883642" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient25546"
id="radialGradient25568"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,0,0,0.994693,0,4.16407e-2)"
cx="7.8836741"
cy="0.14505707"
fx="7.8836741"
fy="0.14505707"
r="8.4883642" />
<linearGradient
inkscape:collect="always"
id="linearGradient25546">
<stop
style="stop-color:white;stop-opacity:1;"
offset="0"
id="stop25548" />
<stop
style="stop-color:white;stop-opacity:0;"
offset="1"
id="stop25550" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient25546"
id="radialGradient25554"
cx="7.8836637"
cy="2.6242435"
fx="7.8836637"
fy="2.6242435"
r="8.4883642"
gradientTransform="matrix(1.131317,0,0,1.125313,-1.035262,-0.301139)"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient3800">
<stop
style="stop-color:#f4d9b1;stop-opacity:1.0000000;"
offset="0.0000000"
id="stop3802" />
<stop
style="stop-color:#df9725;stop-opacity:1.0000000;"
offset="1.0000000"
id="stop3804" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient5280"
id="radialGradient5286"
cx="15.004828"
cy="39.80859"
fx="15.004828"
fy="39.80859"
r="9.7225161"
gradientTransform="matrix(1,0,0,0.732283,0,10.65742)"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient5304"
id="linearGradient5310"
x1="12.606371"
y1="15.069461"
x2="12.606371"
y2="23.043955"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6493"
id="linearGradient6499"
x1="3.3105288"
y1="43.5"
x2="5.6917014"
y2="43.5"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6506"
id="linearGradient6512"
x1="15.645709"
y1="39.743458"
x2="15.645709"
y2="53.502155"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6537"
id="linearGradient6543"
x1="30.5"
y1="0.033532728"
x2="30.5"
y2="23.559282"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6563"
id="linearGradient6569"
x1="-1.6841649"
y1="39.902092"
x2="5.5366187"
y2="44.272076"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6563"
id="linearGradient6573"
gradientUnits="userSpaceOnUse"
x1="12.01321"
y1="38.950283"
x2="5.5366187"
y2="44.272076" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.1545694"
inkscape:cx="31.681369"
inkscape:cy="18.601404"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:grid-bbox="true"
inkscape:document-units="px"
inkscape:window-width="1274"
inkscape:window-height="966"
inkscape:window-x="3"
inkscape:window-y="25"
showguides="true"
inkscape:guide-bbox="true"
inkscape:grid-points="true" />
<metadata
id="metadata4350">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer">
<rect
style="opacity:0.23144105;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect6514"
width="5.0217423"
height="5.2252574"
x="42.978256"
y="44"
rx="0.28473777"
ry="2.6126287"
transform="matrix(7.168827,0,0,0.574134,-308.1037,19.73808)" />
<path
sodipodi:type="inkscape:offset"
inkscape:radius="-1.0057179"
inkscape:original="M 20.53125 1.5 C 17.192693 1.5 14.5 4.611235 14.5 8.46875 L 14.5 20.53125 C 14.5 24.388765 17.192693 27.5 20.53125 27.5 L 34.53125 27.5 L 34.53125 31.09375 L 39.34375 27.5 L 41.5 27.5 C 45.512737 27.5 46.5 24.38319 46.5 20.53125 L 46.5 8.46875 C 46.5 4.6112353 43.807307 1.5 40.46875 1.5 L 20.53125 1.5 z "
style="fill:none;fill-opacity:1;stroke:white;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
id="path6504"
d="M 20.53125,2.5 C 17.817519,2.5 15.5,5.0792547 15.5,8.46875 L 15.5,20.53125 C 15.5,23.920745 17.817519,26.5 20.53125,26.5 L 34.53125,26.5 C 35.082213,26.503178 35.528072,26.949037 35.53125,27.5 L 35.53125,29.09375 L 38.75,26.6875 C 38.923102,26.563771 39.130983,26.498125 39.34375,26.5 L 41.5,26.5 C 43.245978,26.5 44.034662,25.931926 44.625,24.9375 C 45.215338,23.943074 45.5,22.371297 45.5,20.53125 L 45.5,8.46875 C 45.5,5.079255 43.182481,2.5 40.46875,2.5 L 20.53125,2.5 z " />
<path
style="fill:#efefef;fill-opacity:1;stroke:#787878;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
d="M 20.53125,1.5 C 17.192693,1.5 14.5,4.611235 14.5,8.46875 L 14.5,20.53125 C 14.5,24.388765 17.192693,27.5 20.53125,27.5 L 34.530203,27.5 L 34.530203,31.107567 L 39.353553,27.485509 L 41.5,27.5 C 45.512737,27.5 46.5,24.38319 46.5,20.53125 L 46.5,8.46875 C 46.5,4.6112353 43.807307,1.5 40.46875,1.5 L 20.53125,1.5 z "
id="rect5498"
sodipodi:nodetypes="cccccccccccc" />
<path
sodipodi:type="inkscape:offset"
inkscape:radius="-1.044691"
inkscape:original="M 20.53125 1.5 C 17.192693 1.5 14.5 4.611235 14.5 8.46875 L 14.5 20.53125 C 14.5 24.388765 17.192693 27.5 20.53125 27.5 L 34.53125 27.5 L 34.53125 31.09375 L 39.34375 27.5 L 41.5 27.5 C 45.512737 27.5 46.5 24.38319 46.5 20.53125 L 46.5 8.46875 C 46.5 4.6112353 43.807307 1.5 40.46875 1.5 L 20.53125 1.5 z "
style="fill:url(#linearGradient6543);fill-opacity:1.0;stroke:white;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
id="path6535"
d="M 20.53125,2.53125 C 17.841732,2.53125 15.53125,5.0973912 15.53125,8.46875 L 15.53125,20.53125 C 15.53125,23.902609 17.841732,26.46875 20.53125,26.46875 L 34.53125,26.46875 C 35.097743,26.476048 35.555202,26.933507 35.5625,27.5 L 35.5625,29 L 38.71875,26.65625 C 38.901723,26.528628 39.120742,26.462922 39.34375,26.46875 L 41.5,26.46875 C 43.235888,26.46875 44.009537,25.921608 44.59375,24.9375 C 45.177963,23.953392 45.46875,22.367968 45.46875,20.53125 L 45.46875,8.46875 C 45.46875,5.0973915 43.158268,2.53125 40.46875,2.53125 L 20.53125,2.53125 z " />
<path
style="opacity:1;fill:#82508e;fill-opacity:1;stroke:#3b1941;stroke-width:1.00595677;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 15,13 C 8.3759979,13 3,18.600001 3,25.5 C 4.8460021,40.483064 0.49299658,38.484005 0.052646307,45.33795 C 0.052646307,47.422072 1.0380664,48.413461 3.1446965,48.413461 C 4.3321851,48.413461 29.360035,48.5596 32.051034,48.5596 C 34.165161,48.5596 34,46.5 34,46.5 C 34,43.834589 27.597902,41.598052 25.813453,39.641526 C 23.985035,37.640505 26,30.5 26,30.5 C 26.641306,28.9702 27,27.275084 27,25.5 C 27,18.600001 21.624002,13 15,13 z "
id="path5176"
sodipodi:nodetypes="cccccszcsc"
transform="matrix(1,0,0,0.988192,0.447354,-1.486208)" />
<path
sodipodi:type="arc"
style="opacity:1;fill:url(#radialGradient5286);fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path5273"
sodipodi:cx="15.004828"
sodipodi:cy="39.80859"
sodipodi:rx="9.7225161"
sodipodi:ry="7.119638"
d="M 24.727345 39.80859 A 9.7225161 7.119638 0 1 1 5.2823124,39.80859 A 9.7225161 7.119638 0 1 1 24.727345 39.80859 z"
transform="matrix(0.977113,0,0,1.123653,-0.214066,-6.870732)" />
<path
style="opacity:0.5152838;fill:#5c3466;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
d="M -42.833794,47.629347 C -42.833794,47.629347 -43.26687,44.687985 -40.223294,37.951005 C -40.223294,37.951005 -39.03087,40.509965 -38.631892,41.678764 C -39.153711,41.596001 -40.372039,41.685633 -40.372039,41.685633 C -40.038351,42.463101 -38.163796,45.952105 -36.121045,48.058218 C -37.780497,47.329365 -39.471111,47.196178 -39.471111,47.196178 C -39.009636,48.111847 -37.250115,48.69173 -36.943887,49.110993 C -36.943887,49.110993 -42.597127,49.864236 -42.833794,47.629347 z "
id="rect5312"
sodipodi:nodetypes="cccccccc"
transform="matrix(1.177457,0,0,1.083194,51.48278,-7.248017)" />
<path
style="opacity:0.5152838;fill:#5c3466;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
d="M -49.441852,47.4154 C -48.364983,40.273995 -40.690447,44.765623 -40.961409,37.951005 C -40.961409,37.951005 -39.025024,40.280009 -38.974466,41.581367 C -39.496285,41.498604 -39.881988,41.516405 -39.881988,41.516405 C -39.5483,42.293873 -38.196948,45.748112 -36.154197,47.854225 C -37.813649,47.125372 -38.925816,46.898039 -38.925816,46.898039 C -38.847603,47.794771 -38.376224,47.369394 -38.122982,48.215235 C -42.942294,48.046898 -46.252916,49.195571 -49.441852,47.4154 z "
id="path5317"
sodipodi:nodetypes="cccccccc"
transform="matrix(-1.070093,0,0,1.114946,-18.74027,-7.453016)" />
<path
transform="matrix(1,0,0,0.988192,0.40625,-1.486208)"
style="opacity:0.31004367;fill:url(#linearGradient5310);fill-opacity:1;stroke:url(#linearGradient6512);stroke-width:1.00595677;stroke-miterlimit:4;stroke-opacity:1"
d="M 15,14.0625 C 8.9877035,14.0625 4.0789961,19.13808 4.0625,25.46875 C 4.0624722,25.479427 4.0625,25.489316 4.0625,25.5 C 4.9744187,33.020507 4.3062656,37.469969 2.59375,40.59375 C -0.19778709,46.24536 1.5610206,47.490284 3.9033639,47.490284 C 5.8399452,47.490284 23.958121,47.46049 29.784094,47.46049 C 30.951301,47.46049 32.9375,47.964563 32.9375,46.5 C 32.9375,46.278257 32.737749,45.861323 32.1875,45.34375 C 31.637251,44.826177 30.81426,44.270409 29.90625,43.71875 C 28.99824,43.167091 28.02821,42.609033 27.15625,42.0625 C 26.28429,41.515967 25.511654,41.005793 24.96875,40.28125 C 24.358745,39.467156 24.078806,38.510169 24.024342,37.46875 C 23.969878,36.427331 24.107721,35.310041 24.224561,34.25 C 24.458241,32.129917 24.96875,30.28125 24.96875,30.28125 C 24.98374,30.216952 25.004663,30.154183 25.03125,30.09375 C 25.618731,28.692346 25.9375,27.131297 25.9375,25.5 C 25.9375,19.154404 21.022436,14.0625 15,14.0625 z "
id="path5241"
sodipodi:nodetypes="csscccssssssscssc" />
<path
transform="matrix(-1.162197,-1.219912,1.095788,-1.150206,-4.404363,64.58016)"
style="opacity:1;fill:#a46bb0;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
d="M 13.257119,24.626053 C 13.257119,26.227351 11.8279,27.316574 10.863875,27.316574 C 9.5428049,27.316574 8.4706318,26.01697 8.4706318,24.415672 C 8.4706318,23.024119 9.2055946,21.514771 10.526665,21.514771 C 11.847736,21.514771 13.257119,23.360971 13.257119,24.626053 z "
id="path5160"
sodipodi:nodetypes="csssc" />
<path
transform="matrix(1.46245,0,0,1.378883,-5.440518,-10.80605)"
style="opacity:1;fill:white;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
d="M 13.257119,24.626053 C 13.257119,26.227351 11.8279,27.316574 10.863875,27.316574 C 9.5428049,27.316574 8.4706318,26.01697 8.4706318,24.415672 C 8.4706318,23.024119 9.2055946,21.514771 10.526665,21.514771 C 11.847736,21.514771 13.257119,23.360971 13.257119,24.626053 z "
id="path5157"
sodipodi:nodetypes="csssc" />
<path
sodipodi:type="arc"
style="opacity:1;fill:#5c3566;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path5162"
sodipodi:cx="10.169642"
sodipodi:cy="24.3125"
sodipodi:rx="1.2410715"
sodipodi:ry="1.2946428"
d="M 11.410714 24.3125 A 1.2410715 1.2946428 0 1 1 8.928571,24.3125 A 1.2410715 1.2946428 0 1 1 11.410714 24.3125 z"
transform="matrix(1.208632,0,0,1.158617,-1.844007,-4.808565)" />
<path
sodipodi:type="arc"
style="opacity:1;fill:black;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path5164"
sodipodi:cx="10.169642"
sodipodi:cy="24.3125"
sodipodi:rx="1.2410715"
sodipodi:ry="1.2946428"
d="M 11.410714 24.3125 A 1.2410715 1.2946428 0 1 1 8.928571,24.3125 A 1.2410715 1.2946428 0 1 1 11.410714 24.3125 z"
transform="matrix(0.402878,0,0,0.386209,6.350228,13.9706)" />
<path
transform="matrix(0.871648,-1.084366,-0.821841,-1.022405,36.71113,59.50016)"
style="opacity:1;fill:#975fa3;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
d="M 13.257119,24.626053 C 13.257119,26.227351 11.8279,27.316574 10.863875,27.316574 C 9.5428049,27.316574 8.4706318,26.01697 8.4706318,24.415672 C 8.4706318,23.024119 9.2055946,21.514771 10.526665,21.514771 C 11.847736,21.514771 13.257119,23.360971 13.257119,24.626053 z "
id="path5167"
sodipodi:nodetypes="csssc" />
<path
transform="matrix(0.726374,-0.813272,-0.684868,-0.766801,34.41717,50.34012)"
style="opacity:1;fill:white;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
d="M 13.257119,24.626053 C 13.257119,26.227351 11.8279,27.316574 10.863875,27.316574 C 9.5428049,27.316574 8.4706318,26.01697 8.4706318,24.415672 C 8.4706318,23.024119 9.2055946,21.514771 10.526665,21.514771 C 11.847736,21.514771 13.257119,23.360971 13.257119,24.626053 z "
id="path5169"
sodipodi:nodetypes="csssc" />
<path
sodipodi:type="arc"
style="opacity:1;fill:#5c3566;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path5171"
sodipodi:cx="10.169642"
sodipodi:cy="24.3125"
sodipodi:rx="1.2410715"
sodipodi:ry="1.2946428"
d="M 11.410714 24.3125 A 1.2410715 1.2946428 0 1 1 8.928571,24.3125 A 1.2410715 1.2946428 0 1 1 11.410714 24.3125 z"
transform="matrix(1.208632,0,0,1.158617,13.15599,-4.808572)" />
<path
sodipodi:type="arc"
style="opacity:1;fill:black;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path5173"
sodipodi:cx="10.169642"
sodipodi:cy="24.3125"
sodipodi:rx="1.2410715"
sodipodi:ry="1.2946428"
d="M 11.410714 24.3125 A 1.2410715 1.2946428 0 1 1 8.928571,24.3125 A 1.2410715 1.2946428 0 1 1 11.410714 24.3125 z"
transform="matrix(0.402878,0,0,0.386209,21.35023,13.9706)" />
<rect
style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect5215"
width="5.6071429"
height="2.1785715"
x="16"
y="27"
transform="matrix(1.070064,0,0,0.918028,-1.173674,3.073548)"
rx="1.0892857"
ry="1.0892857" />
<path
transform="matrix(1.180326,0,0,0.867993,13.1795,-6.80859)"
style="fill:#f9751a;fill-opacity:1;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1"
d="M -0.99929609,42.004237 C 3.5188333,45.348102 4.1278823,38.950282 4.9828709,38.950282 C 5.8260957,38.950282 6.1724645,45.375511 10.014606,42.007796 C 9.2074596,43.955072 6.7265914,47.014858 5.6807127,47.014858 C 4.6230593,47.014858 0.31231911,44.880662 -0.99929609,42.004237 z "
id="rect5187"
sodipodi:nodetypes="czczc" />
<path
transform="matrix(1.236264,0,0,0.549587,-6.482886,4.775206)"
style="fill:#3b1941;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
d="M 11.651119,11.193815 C 12.963532,7.814583 16.999999,10.43431 16.999999,12.891665 L 13.737594,13.834879 L 11.651119,11.193815 z "
id="path5192"
sodipodi:nodetypes="cccc" />
<path
transform="matrix(1.50247,0,0,1,-7.59464,-1.139701)"
style="fill:#3b1941;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
d="M 11.689238,9.8218679 C 13.591296,8.0161941 17.219555,11.23544 17.564573,12.891665 L 14.543472,12.891665 L 11.689238,9.8218679 z "
id="rect5189"
sodipodi:nodetypes="cccc" />
<path
transform="matrix(1.180326,0,0,0.867993,13.1795,-6.80859)"
style="fill:url(#linearGradient6569);fill-opacity:1.0;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1"
d="M -0.99929609,42.004237 C 3.5188333,45.348102 4.1278823,38.950282 4.9828709,38.950282 C 5.8260957,38.950282 6.1724645,45.375511 10.014606,42.007796 C 9.2074596,43.955072 6.7265914,47.014858 5.6807127,47.014858 C 4.6230593,47.014858 0.31231911,44.880662 -0.99929609,42.004237 z "
id="path6561"
sodipodi:nodetypes="czczc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -0,0 +1,752 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="48px"
height="48px"
id="svg1306"
sodipodi:version="0.32"
inkscape:version="0.44+devel"
sodipodi:docbase="/home/andreas/project/application icons/48x48"
sodipodi:docname="rythmbox.svg"
inkscape:export-filename="/home/hbons/Desktop/rythmbox.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
sodipodi:modified="true">
<defs
id="defs1308">
<filter
inkscape:collect="always"
x="-0.106875"
width="1.21375"
y="-0.57"
height="2.14"
id="filter7087">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="0.855"
id="feGaussianBlur7089" />
</filter>
<linearGradient
inkscape:collect="always"
id="linearGradient4330">
<stop
style="stop-color:#3465a4;stop-opacity:1;"
offset="0"
id="stop4332" />
<stop
style="stop-color:#3465a4;stop-opacity:0;"
offset="1"
id="stop4334" />
</linearGradient>
<linearGradient
id="linearGradient2300"
inkscape:collect="always">
<stop
id="stop2302"
offset="0"
style="stop-color:#555753;stop-opacity:1;" />
<stop
id="stop2304"
offset="1"
style="stop-color:#555753;stop-opacity:0;" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2300"
id="radialGradient2596"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.113818,4.37208e-16,-1.132524e-16,0.539348,-2.124098,18.94132)"
cx="17.984474"
cy="40.604275"
fx="17.984474"
fy="40.604275"
r="21.030567" />
<linearGradient
inkscape:collect="always"
id="linearGradient4135">
<stop
style="stop-color:#555753;stop-opacity:1;"
offset="0"
id="stop4137" />
<stop
style="stop-color:#555753;stop-opacity:0;"
offset="1"
id="stop4139" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient4108">
<stop
style="stop-color:#888a85;stop-opacity:1;"
offset="0"
id="stop4110" />
<stop
style="stop-color:#888a85;stop-opacity:0;"
offset="1"
id="stop4112" />
</linearGradient>
<linearGradient
id="aigrd2"
gradientUnits="userSpaceOnUse"
x1="12.2744"
y1="32.4165"
x2="35.3912"
y2="14.2033">
<stop
offset="0"
style="stop-color:#FBFBFB"
id="stop3043" />
<stop
offset="0.5"
style="stop-color:#B6B6B6"
id="stop3045" />
<stop
offset="1"
style="stop-color:#E4E4E4"
id="stop3047" />
</linearGradient>
<linearGradient
id="aigrd1"
gradientUnits="userSpaceOnUse"
x1="14.9966"
y1="11.1885"
x2="32.511"
y2="34.3075">
<stop
offset="0"
style="stop-color:#EBEBEB"
id="stop3034" />
<stop
offset="0.5"
style="stop-color:#FFFFFF"
id="stop3036" />
<stop
offset="1"
style="stop-color:#EBEBEB"
id="stop3038" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient23419">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop23421" />
<stop
style="stop-color:#000000;stop-opacity:0;"
offset="1"
id="stop23423" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient23419"
id="radialGradient3507"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,0,0,0.25,0,31.22703)"
cx="23.334524"
cy="41.63604"
fx="23.334524"
fy="41.63604"
r="22.627417" />
<linearGradient
gradientTransform="translate(156.1887,-121.9111)"
y2="16.560732"
x2="24.511713"
y1="5.8732319"
x1="24.511713"
gradientUnits="userSpaceOnUse"
id="linearGradient3780"
xlink:href="#linearGradient2622"
inkscape:collect="always" />
<linearGradient
y2="7.8678756"
x2="60.071049"
y1="7.9206076"
x1="32.827568"
gradientTransform="matrix(0.750458,0,0,1.33252,156.1887,-121.9111)"
gradientUnits="userSpaceOnUse"
id="linearGradient3776"
xlink:href="#linearGradient2580"
inkscape:collect="always" />
<linearGradient
gradientTransform="translate(156.1887,-121.9111)"
y2="15.191534"
x2="22.435516"
y1="39.066536"
x1="24.588383"
gradientUnits="userSpaceOnUse"
id="linearGradient3773"
xlink:href="#linearGradient2614"
inkscape:collect="always" />
<linearGradient
gradientTransform="translate(156.1887,-121.9111)"
y2="26.625"
x2="25.375"
y1="20.3125"
x1="21.530331"
gradientUnits="userSpaceOnUse"
id="linearGradient3770"
xlink:href="#linearGradient2630"
inkscape:collect="always" />
<linearGradient
gradientTransform="translate(156.1887,-121.9111)"
y2="25.25"
x2="24.996323"
y1="37.625"
x1="25.850664"
gradientUnits="userSpaceOnUse"
id="linearGradient3766"
xlink:href="#linearGradient2339"
inkscape:collect="always" />
<linearGradient
y2="25.25"
x2="24.996323"
y1="37.625"
x1="25.850664"
gradientUnits="userSpaceOnUse"
id="linearGradient3762"
xlink:href="#linearGradient2339"
inkscape:collect="always" />
<linearGradient
y2="26.625"
x2="25.375"
y1="20.3125"
x1="21.530331"
gradientUnits="userSpaceOnUse"
id="linearGradient3760"
xlink:href="#linearGradient2630"
inkscape:collect="always" />
<linearGradient
y2="15.191534"
x2="22.435516"
y1="39.066536"
x1="24.588383"
gradientUnits="userSpaceOnUse"
id="linearGradient3758"
xlink:href="#linearGradient2614"
inkscape:collect="always" />
<linearGradient
y2="7.8678756"
x2="60.071049"
y1="7.9206076"
x1="32.827568"
gradientTransform="scale(0.750458,1.33252)"
gradientUnits="userSpaceOnUse"
id="linearGradient3756"
xlink:href="#linearGradient2580"
inkscape:collect="always" />
<linearGradient
y2="16.560732"
x2="24.511713"
y1="5.8732319"
x1="24.511713"
gradientUnits="userSpaceOnUse"
id="linearGradient3754"
xlink:href="#linearGradient2622"
inkscape:collect="always" />
<linearGradient
inkscape:collect="always"
id="linearGradient2630">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop2632" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop2634" />
</linearGradient>
<linearGradient
id="linearGradient2622">
<stop
style="stop-color:#e4a05d;stop-opacity:1;"
offset="0"
id="stop2624" />
<stop
style="stop-color:#af651d;stop-opacity:1;"
offset="1"
id="stop2626" />
</linearGradient>
<linearGradient
id="linearGradient2614">
<stop
style="stop-color:#e3aa57;stop-opacity:1;"
offset="0"
id="stop2616" />
<stop
style="stop-color:#eabd7c;stop-opacity:1;"
offset="1"
id="stop2618" />
</linearGradient>
<linearGradient
id="linearGradient2580">
<stop
id="stop2582"
offset="0"
style="stop-color:#ffffff;stop-opacity:1;" />
<stop
id="stop2586"
offset="1"
style="stop-color:#729fcf;stop-opacity:0" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient2339">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop2341" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop2343" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2580"
id="linearGradient320"
gradientUnits="userSpaceOnUse"
gradientTransform="scale(0.750458,1.33252)"
x1="32.827568"
y1="7.9206076"
x2="60.071049"
y2="7.8678756" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2339"
id="linearGradient2345"
x1="25.850664"
y1="37.625"
x2="24.996323"
y2="25.25"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2614"
id="linearGradient2620"
x1="24.588383"
y1="39.066536"
x2="22.435516"
y2="15.191534"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2622"
id="linearGradient2628"
x1="24.511713"
y1="5.8732319"
x2="24.511713"
y2="16.560732"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2630"
id="linearGradient2636"
x1="21.530331"
y1="20.3125"
x2="25.375"
y2="26.625"
gradientUnits="userSpaceOnUse" />
<radialGradient
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.917623,-1.354978e-3,3.632022e-4,0.148463,1.926889,37.03865)"
r="22.728432"
fy="43.636444"
fx="23.583666"
cy="43.636444"
cx="23.583666"
id="radialGradient2823"
xlink:href="#linearGradient2817"
inkscape:collect="always" />
<linearGradient
id="linearGradient2817"
inkscape:collect="always">
<stop
id="stop2819"
offset="0"
style="stop-color:#000000;stop-opacity:1;" />
<stop
id="stop2821"
offset="1"
style="stop-color:#000000;stop-opacity:0;" />
</linearGradient>
<linearGradient
id="linearGradient4928">
<stop
style="stop-color:#fce94f;stop-opacity:1;"
offset="0"
id="stop4930" />
<stop
style="stop-color:#fce94f;stop-opacity:0;"
offset="1"
id="stop4932" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4135"
id="linearGradient4141"
x1="13.031216"
y1="16.965229"
x2="20.151474"
y2="24.126549"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4108"
id="linearGradient4151"
gradientUnits="userSpaceOnUse"
x1="14.163054"
y1="18.147905"
x2="23.548317"
y2="27.538809" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4108"
id="linearGradient4155"
gradientUnits="userSpaceOnUse"
x1="14.163054"
y1="18.147905"
x2="23.548317"
y2="27.538809" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4135"
id="linearGradient4308"
gradientUnits="userSpaceOnUse"
x1="13.031216"
y1="16.965229"
x2="20.151474"
y2="24.126549" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4330"
id="linearGradient4336"
x1="4.3413424"
y1="12.867852"
x2="10.40265"
y2="12.867852"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4330"
id="linearGradient4340"
gradientUnits="userSpaceOnUse"
x1="4.3413424"
y1="12.867852"
x2="10.480678"
y2="12.867852" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4330"
id="linearGradient4346"
gradientUnits="userSpaceOnUse"
x1="4.3413424"
y1="12.867852"
x2="12.089368"
y2="12.867852" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4330"
id="linearGradient4348"
gradientUnits="userSpaceOnUse"
x1="4.3413424"
y1="12.867852"
x2="10.334218"
y2="12.867852" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="0.22745098"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="12.996038"
inkscape:cx="41.444096"
inkscape:cy="24.014367"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:grid-bbox="true"
inkscape:document-units="px"
stroke="#888a85"
fill="#729fcf"
inkscape:window-width="1680"
inkscape:window-height="974"
inkscape:window-x="0"
inkscape:window-y="26"
inkscape:showpageshadow="false"
showguides="true"
inkscape:guide-bbox="true" />
<metadata
id="metadata1311">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>Rhythmbox application icon</dc:title>
<dc:creator>
<cc:Agent>
<dc:title>Hylke Bons</dc:title>
</cc:Agent>
</dc:creator>
<dc:description />
<cc:license
rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
<dc:source>http://www.gnome.org</dc:source>
<dc:contributor>
<cc:Agent>
<dc:title>Andreas Nilsson</dc:title>
</cc:Agent>
</dc:contributor>
<dc:date>April 2007</dc:date>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
<cc:permits
rdf:resource="http://web.resource.org/cc/Reproduction" />
<cc:permits
rdf:resource="http://web.resource.org/cc/Distribution" />
<cc:requires
rdf:resource="http://web.resource.org/cc/Notice" />
<cc:permits
rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
<cc:requires
rdf:resource="http://web.resource.org/cc/ShareAlike" />
<cc:requires
rdf:resource="http://web.resource.org/cc/SourceCode" />
</cc:License>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer">
<rect
style="opacity:0.21195649;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter7087)"
id="rect6012"
width="16"
height="3"
x="12"
y="27"
rx="0.63793099"
ry="0.69375014"
transform="matrix(1.8125,0,0,1.6666663,-11.75,-6.999989)" />
<path
style="fill:#fbfbfa;fill-opacity:1;fill-rule:evenodd;stroke:#777b75;stroke-width:1.00000036;stroke-miterlimit:4;stroke-opacity:1"
d="M 16.953805,4.4857155 L 32.046218,4.4857155 C 33.407316,4.4857155 36.482336,8.8069603 36.482336,10.393127 L 34.503074,34.651185 C 34.503074,36.237351 33.407316,37.514302 32.046218,37.514302 L 16.953805,37.514302 C 15.592706,37.514302 14.496948,36.237351 14.496948,34.651185 L 12.517686,10.47324 C 12.517686,8.8870734 15.592706,4.4857155 16.953805,4.4857155 z "
id="path4304"
sodipodi:nodetypes="ccccccccc" />
<path
style="fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
d="M 15.492377,7.5 L 33.597727,7.5 C 35.230545,7.5 36.545052,8.8145069 36.545052,10.447325 L 36.545052,38.552675 C 36.545052,40.185493 35.230545,41.5 33.597727,41.5 L 15.492377,41.5 C 13.859559,41.5 12.545052,40.185493 12.545052,38.552675 L 12.545052,10.447325 C 12.545052,8.8145069 13.859559,7.5 15.492377,7.5 z "
id="rect2312" />
<path
sodipodi:type="inkscape:offset"
inkscape:radius="-0.95741493"
inkscape:original="M 15.5 7.5 C 13.867182 7.5 12.53125 8.8046821 12.53125 10.4375 L 12.53125 38.5625 C 12.53125 40.195318 13.867182 41.5 15.5 41.5 L 33.59375 41.5 C 35.226568 41.5 36.53125 40.19532 36.53125 38.5625 L 36.53125 10.4375 C 36.53125 8.8046819 35.226566 7.5 33.59375 7.5 L 15.5 7.5 z "
xlink:href="#rect2312"
style="opacity:0.5;fill:#d3d7cf;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
id="path4121"
inkscape:href="#rect2312"
d="M 15.5,8.46875 C 14.377189,8.46875 13.5,9.3269045 13.5,10.4375 L 13.5,38.5625 C 13.5,39.673096 14.377189,40.53125 15.5,40.53125 L 33.59375,40.53125 C 34.716562,40.53125 35.5625,39.685314 35.5625,38.5625 L 35.5625,10.4375 C 35.5625,9.3146893 34.716559,8.46875 33.59375,8.46875 L 15.5,8.46875 z " />
<path
sodipodi:type="arc"
style="opacity:1;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#6e706c;stroke-width:0.8296417;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path3187"
sodipodi:cx="23.548317"
sodipodi:cy="27.538809"
sodipodi:rx="7.4665399"
sodipodi:ry="7.4665399"
d="M 31.014857 27.538809 A 7.4665399 7.4665399 0 1 1 16.081777,27.538809 A 7.4665399 7.4665399 0 1 1 31.014857 27.538809 z"
transform="matrix(1.205309,0,0,1.205372,-3.882254,-13.69446)" />
<path
sodipodi:type="arc"
style="opacity:1;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#6e716b;stroke-width:1.86443472;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4062"
sodipodi:cx="23.548317"
sodipodi:cy="27.538809"
sodipodi:rx="7.4665399"
sodipodi:ry="7.4665399"
d="M 31.014857 27.538809 A 7.4665399 7.4665399 0 1 1 16.081777,27.538809 A 7.4665399 7.4665399 0 1 1 31.014857 27.538809 z"
transform="matrix(0.536801,0,0,0.53591,6.897113,19.74167)" />
<path
sodipodi:type="arc"
style="opacity:1;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#6e716b;stroke-width:1.86443472;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4064"
sodipodi:cx="23.548317"
sodipodi:cy="27.538809"
sodipodi:rx="7.4665399"
sodipodi:ry="7.4665399"
d="M 31.014857 27.538809 A 7.4665399 7.4665399 0 1 1 16.081777,27.538809 A 7.4665399 7.4665399 0 1 1 31.014857 27.538809 z"
transform="matrix(0.536801,0,0,0.53591,16.89624,19.74307)" />
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#92948f;stroke-width:7.38285732;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4066"
sodipodi:cx="23.548317"
sodipodi:cy="27.538809"
sodipodi:rx="7.4665399"
sodipodi:ry="7.4665399"
d="M 31.014857 27.538809 A 7.4665399 7.4665399 0 1 1 16.081777,27.538809 A 7.4665399 7.4665399 0 1 1 31.014857 27.538809 z"
transform="matrix(0.135561,0,0,0.135336,21.34475,15.77437)" />
<path
sodipodi:type="arc"
style="opacity:1;fill:url(#linearGradient4151);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.82952917;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4149"
sodipodi:cx="23.548317"
sodipodi:cy="27.538809"
sodipodi:rx="7.4665399"
sodipodi:ry="7.4665399"
d="M 31.014857 27.538809 A 7.4665399 7.4665399 0 1 1 16.081777,27.538809 A 7.4665399 7.4665399 0 1 1 31.014857 27.538809 z"
transform="matrix(0.468758,0,0,0.468758,8.461538,21.59095)" />
<path
sodipodi:type="arc"
style="opacity:1;fill:#92958f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:7.41484213;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4116"
sodipodi:cx="23.548317"
sodipodi:cy="27.538809"
sodipodi:rx="7.4665399"
sodipodi:ry="7.4665399"
d="M 31.014857 27.538809 A 7.4665399 7.4665399 0 1 1 16.081777,27.538809 A 7.4665399 7.4665399 0 1 1 31.014857 27.538809 z"
transform="matrix(6.806577e-2,0,0,6.773188e-2,17.88895,32.62902)" />
<path
sodipodi:type="arc"
style="opacity:0.5;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient4141);stroke-width:5.4645896;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4125"
sodipodi:cx="23.548317"
sodipodi:cy="27.538809"
sodipodi:rx="7.4665399"
sodipodi:ry="7.4665399"
d="M 16.111254,28.201619 A 7.4665399,7.4665399 0 0 1 24.20244,20.100977"
transform="matrix(0.734093,0,0,0.729884,7.213351,-0.600127)"
sodipodi:start="3.0527049"
sodipodi:end="4.8001087"
sodipodi:open="true" />
<path
sodipodi:type="arc"
style="opacity:1;fill:#92958f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:7.41484213;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4147"
sodipodi:cx="23.548317"
sodipodi:cy="27.538809"
sodipodi:rx="7.4665399"
sodipodi:ry="7.4665399"
d="M 31.014857 27.538809 A 7.4665399 7.4665399 0 1 1 16.081777,27.538809 A 7.4665399 7.4665399 0 1 1 31.014857 27.538809 z"
transform="matrix(6.806577e-2,0,0,6.773188e-2,27.88895,32.62902)" />
<path
sodipodi:type="arc"
style="opacity:1;fill:url(#linearGradient4155);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.82952917;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4153"
sodipodi:cx="23.548317"
sodipodi:cy="27.538809"
sodipodi:rx="7.4665399"
sodipodi:ry="7.4665399"
d="M 31.014857 27.538809 A 7.4665399 7.4665399 0 1 1 16.081777,27.538809 A 7.4665399 7.4665399 0 1 1 31.014857 27.538809 z"
transform="matrix(0.468758,0,0,0.468758,18.46154,21.59096)" />
<path
sodipodi:type="arc"
style="opacity:0.5;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.46830368;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4302"
sodipodi:cx="23.548317"
sodipodi:cy="27.538809"
sodipodi:rx="7.4665399"
sodipodi:ry="7.4665399"
d="M 31.014857 27.538809 A 7.4665399 7.4665399 0 1 1 16.081777,27.538809 A 7.4665399 7.4665399 0 1 1 31.014857 27.538809 z"
transform="matrix(0.405474,0,0,0.404799,19.92428,23.32987)" />
<path
sodipodi:type="arc"
style="opacity:0.5;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.46830368;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4300"
sodipodi:cx="23.548317"
sodipodi:cy="27.538809"
sodipodi:rx="7.4665399"
sodipodi:ry="7.4665399"
d="M 31.014857 27.538809 A 7.4665399 7.4665399 0 1 1 16.081777,27.538809 A 7.4665399 7.4665399 0 1 1 31.014857 27.538809 z"
transform="matrix(0.405474,0,0,0.404799,9.989672,23.35229)" />
<path
sodipodi:type="arc"
style="opacity:0.5;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient4308);stroke-width:5.4645896;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4306"
sodipodi:cx="23.548317"
sodipodi:cy="27.538809"
sodipodi:rx="7.4665399"
sodipodi:ry="7.4665399"
d="M 16.111254,28.201619 A 7.4665399,7.4665399 0 0 1 24.20244,20.100977"
transform="matrix(-0.734093,0,0,-0.729884,41.76684,39.58391)"
sodipodi:start="3.0527049"
sodipodi:end="4.8001087"
sodipodi:open="true" />
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient4336);stroke-width:0.92728224;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4328"
sodipodi:cx="14.761995"
sodipodi:cy="12.8681"
sodipodi:rx="10.638533"
sodipodi:ry="10.638533"
d="M 15.290321,23.493506 A 10.638533,10.638533 0 1 1 15.294224,2.2428892"
transform="matrix(1.074921,0,0,1.081931,5.063877,5.088535)"
sodipodi:start="1.5211144"
sodipodi:end="4.7624383"
sodipodi:open="true" />
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient4340);stroke-width:0.58226043;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4338"
sodipodi:cx="14.761995"
sodipodi:cy="12.8681"
sodipodi:rx="10.638533"
sodipodi:ry="10.638533"
d="M 15.290321,23.493506 A 10.638533,10.638533 0 1 1 15.294224,2.2428892"
transform="matrix(1.74176,0,0,1.693469,-3.681701,-2.287648)"
sodipodi:start="1.5211144"
sodipodi:end="4.7624383"
sodipodi:open="true" />
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient4346);stroke-width:0.92360175;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4342"
sodipodi:cx="14.761995"
sodipodi:cy="12.8681"
sodipodi:rx="10.638533"
sodipodi:ry="10.638533"
d="M 15.290321,23.493506 A 10.638533,10.638533 0 1 1 15.294224,2.2428892"
transform="matrix(-1.083505,0,0,1.081931,44.96756,5.569057)"
sodipodi:start="1.5211144"
sodipodi:end="4.7624383"
sodipodi:open="true" />
<path
sodipodi:type="arc"
style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient4348);stroke-width:0.58236963;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4344"
sodipodi:cx="14.761995"
sodipodi:cy="12.8681"
sodipodi:rx="10.638533"
sodipodi:ry="10.638533"
d="M 15.290321,23.493506 A 10.638533,10.638533 0 1 1 15.294224,2.2428892"
transform="matrix(-1.74176,0,0,1.692834,52.63886,-2.286506)"
sodipodi:start="1.5211144"
sodipodi:end="4.7624383"
sodipodi:open="true" />
<path
style="opacity:0.25;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
d="M -8.4881864,10.624088 L -8.0001114,10.603325 L -8.0001114,15.596538 C -8.0001114,15.596538 -7.9795094,15.181292 -8.4985674,14.869857 L -8.4881864,10.624088 z "
id="rect2271"
sodipodi:nodetypes="ccccc" />
<path
style="opacity:0.25;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
d="M -3.0052766,10.260586 L -2.5172016,10.20868 L -2.5172016,14.579024 C -2.5172016,14.579024 -2.4965996,14.18454 -3.0156576,13.873106 L -3.0052766,10.260586 z "
id="path2274"
sodipodi:nodetypes="ccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 27 KiB

View File

@@ -0,0 +1,26 @@
<slide>
<title>Data-type mapping</title>
<subtitle>From PHP to DBUS</subtitle>
<blurb>Basic types</blurb>
<list>
<bullet>boolean -> boolean</bullet>
<bullet>integer -> int32</bullet>
<bullet>double -> double</bullet>
<bullet>string -> string</bullet>
<bullet>array -> array (only basic types as values are supported)</bullet>
</list>
<blurb>Specific type classes</blurb>
<list>
<bullet>DbusByte, DbusBool, DbusInt16, DbusUInt16, DbusInt32, DbusUInt32, DbusInt64, DbusUInt64, DbusDouble</bullet>
</list>
<list>
<bullet>DbusArray( int $type, array $elements [, string $signature] )</bullet>
<bullet>DbusDict( int $type, array $elements )</bullet>
<bullet>DbusVariant( mixed $data )</bullet>
<bullet>DbusStruct( string $signature, array $elements )</bullet>
<bullet>DbusSet( array $elements )</bullet>
</list>
</slide>

View File

@@ -0,0 +1,21 @@
<slide>
<title>Data-type mapping</title>
<subtitle>From DBUS to PHP</subtitle>
<blurb>Basic types</blurb>
<list>
<bullet>boolean -> boolean</bullet>
<bullet>byte, int16, uint16, int32, uint32, int64, uint64 -> integer</bullet>
<bullet>double -> double</bullet>
<bullet>string -> string</bullet>
</list>
<blurb>Compound types</blurb>
<list>
<bullet>array -> DbusArray or DbusDict (depending on whether there is a dict-entry embedded)</bullet>
<bullet>dict-entry -> variable (could be anything)</bullet>
<bullet>variant -> DbusVariant</bullet>
<bullet>struct -> DbusStruct</bullet>
</list>
</slide>

View File

@@ -0,0 +1,21 @@
<slide>
<title>Data-types</title>
<blurb>Basic types</blurb>
<list>
<bullet>byte</bullet>
<bullet>boolean (0 = false, 1 = true)</bullet>
<bullet>integer (int16, uint16, int32, uint32, int64 and uint64)</bullet>
<bullet>double (IEEE 754 double)</bullet>
<bullet>string (UTF-8 string)</bullet>
</list>
<blurb>Compound types</blurb>
<list>
<bullet>array (contains elements of the same type)</bullet>
<bullet>struct (contains one or more complete types)</bullet>
<bullet>dictionary entry (contains a key (basic type) and a value, must be part of an array)</bullet>
<bullet>variant (contains a type and a value)</bullet>
</list>
</slide>

View File

@@ -0,0 +1,6 @@
<slide>
<title>Architecture</title>
<break lines="2"/>
<image align="center" filename="diagram.png"/>
</slide>

BIN
slides/dbus/diagram.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

197
slides/dbus/diagram.svg Normal file
View File

@@ -0,0 +1,197 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="800px"
height="600px"
id="svg2498"
sodipodi:version="0.32"
inkscape:version="0.46"
sodipodi:docname="diagram.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
inkscape:export-filename="/home/httpd/presentations/slides/dbus/diagram.png"
inkscape:export-xdpi="80.75"
inkscape:export-ydpi="80.75">
<defs
id="defs2500">
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow1Lend"
style="overflow:visible;">
<path
id="path3347"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
transform="scale(0.8) rotate(180) translate(12.5,0)" />
</marker>
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 300 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="800 : 300 : 1"
inkscape:persp3d-origin="400 : 200 : 1"
id="perspective2506" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.6"
inkscape:cx="110.83333"
inkscape:cy="300"
inkscape:current-layer="layer1"
inkscape:document-units="px"
showgrid="false"
inkscape:window-width="1389"
inkscape:window-height="966"
inkscape:window-x="0"
inkscape:window-y="25" />
<metadata
id="metadata2503">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer">
<g
id="g5283">
<rect
ry="26.666666"
rx="26.666666"
y="424.16666"
x="433.33331"
height="141.66667"
width="310"
id="rect3307"
style="fill:#ffec5e;fill-opacity:0.89999998;fill-rule:nonzero;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<text
sodipodi:linespacing="100%"
id="text3309"
y="506.616"
x="587.89508"
style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:MaxOT;-inkscape-font-specification:MaxOT"
xml:space="preserve"><tspan
y="506.616"
x="587.89508"
id="tspan3311"
sodipodi:role="line">Application 2</tspan></text>
</g>
<path
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#009100;stroke-width:2.99999976;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.96078431"
d="M 158.33333,421.87075 C 355.38425,-277.31797 473.61479,133.66857 578.33329,416.75475"
id="path4119"
sodipodi:nodetypes="cs" />
<path
style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#e05d37;stroke-width:3.00000024;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.96078431"
d="M 638.32527,426.70338 C 445.96603,-283.83704 330.55049,133.82207 228.32529,421.5043"
id="path4709"
sodipodi:nodetypes="cs" />
<text
xml:space="preserve"
style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#4c9c43;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:MaxOT;-inkscape-font-specification:MaxOT"
x="96.666664"
y="295"
id="text4729"
sodipodi:linespacing="100%"><tspan
sodipodi:role="line"
id="tspan4731"
x="96.666664"
y="295">Method Call</tspan></text>
<text
xml:space="preserve"
style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#bd3737;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:MaxOT;-inkscape-font-specification:MaxOT"
x="668.33337"
y="285"
id="text4733"
sodipodi:linespacing="100%"><tspan
sodipodi:role="line"
id="tspan4735"
x="668.33337"
y="285">Method Return</tspan></text>
<path
style="fill:none;fill-rule:evenodd;stroke:#131fff;stroke-width:3.00000024;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 396.66668,230 L 315.00001,416.66668"
id="path4737" />
<path
style="fill:none;fill-rule:evenodd;stroke:#131fff;stroke-width:3.00000024;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 400.6198,229.16664 L 482.28647,417.49998"
id="path5254" />
<g
id="g4721">
<rect
ry="26.666666"
rx="26.666666"
y="93.333336"
x="243.33333"
height="141.66667"
width="310"
id="rect2508"
style="fill:#84ce84;fill-opacity:0.93137252;fill-rule:nonzero;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<text
sodipodi:linespacing="100%"
id="text3288"
y="175.78267"
x="397.89508"
style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:MaxOT;-inkscape-font-specification:MaxOT"
xml:space="preserve"><tspan
y="175.78267"
x="397.89508"
id="tspan3290"
sodipodi:role="line">DBus Daemon</tspan></text>
</g>
<text
xml:space="preserve"
style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#120b84;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:MaxOT;-inkscape-font-specification:MaxOT"
x="396.66666"
y="376.66669"
id="text5256"
sodipodi:linespacing="100%"><tspan
sodipodi:role="line"
id="tspan5258"
x="396.66666"
y="376.66669">Signals</tspan></text>
<g
id="g5278">
<rect
ry="26.666666"
rx="26.666666"
y="424.16666"
x="53.33334"
height="141.66667"
width="310"
id="rect3299"
style="fill:#aaa6fa;fill-opacity:0.65686275;fill-rule:nonzero;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<text
sodipodi:linespacing="100%"
id="text5274"
y="503.672"
x="208.86185"
style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:MaxOT;-inkscape-font-specification:MaxOT"
xml:space="preserve"><tspan
y="503.672"
x="213.3306"
id="tspan5276"
sodipodi:role="line">Application 1</tspan></text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.6 KiB

BIN
slides/dbus/gnome.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -0,0 +1,119 @@
<?xml version="1.0" encoding="us-ascii" ?>
<!-- Generator: Adobe Illustrator 9.0, SVG Export Plug-In -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000303 Stylable//EN" "http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-stylable.dtd" [
<!ENTITY st0 "fill:url(#aigrd2);">
<!ENTITY st1 "opacity:0.48;">
<!ENTITY st2 "opacity:0.64;">
<!ENTITY st3 "opacity:0.48;fill:url(#aigrd3);">
<!ENTITY st4 "fill:url(#aigrd1);stroke:#000000;stroke-width:8.4729;">
<!ENTITY st5 "fill-rule:nonzero;clip-rule:nonzero;fill:#FFFFFF;stroke:#000000;stroke-miterlimit:4;">
<!ENTITY st6 "fill:#000000;">
<!ENTITY st7 "stroke:none;">
]>
<svg width="226pt" height="225pt" viewBox="0 0 226 225" xml:space="preserve">
<g id="Layer_x0020_1" style="&st5;">
<g style="&st7;">
<g style="&st1;">
<image width="226" height="225" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADTCAYAAADESVzGAAAABGdBTUEAAK/INwWK6QAAABl0RVh0
U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAePSURBVHjaYmAYBaNgFOAEAAE0ikbBKMAD
AAJoFI2CUYAHAATQKBoFowAPAAigUTQKRgEeABBAo2gUjAI8ACCARtEoGAV4AEAAjaJRMArwAIAA
GkWjYBTgAQABNIpGwSjAAwACaBSNglGABwAE0CgaBaMADwAIoFE0CkYBHgAQQKNoFIwCPAAggEbR
KBgFeABAAI2iUTAK8ACAABpFo2AU4AEAATSKRsEowAMAAmgUjYJRgAcABNAoGgWjAA8ACKBRNApG
AR4AEECjaBSMAjwAIIBG0SgYBXgAQACNolEwCvAAgAAaRaNgFOABAAE0ikbBKMADAAJoFI2CUYAH
AATQKBoFowAPAAigUTQKRgEeABBAo2gUjAI8ACCARtEoGAV4AEAAjaJRMArwAIAAGkWjYBTgAQAB
NIpGwSjAAwACaBSNglGABwAE0CgaBaMADwAIoFE0CkYBHgAQQKNoFIwCPAAggEbRKBgFeABAAI2i
UTAK8ACAABpFo2AU4AEAATSKRsEowAMAAmgUjYJRgAcABNAoGgWjAA8ACKBRNApGAR4AEECjaBSM
AjwAIIBG0SgYBXgAQACNolEwCvAAgAAaRaNgFOABAAE0ikbBKMADAAJoFI2CUYAHAATQKBoFowAP
AAigUTQKRgEeABBAo2gUjAI8ACCARtEoGAV4AEAAjaJRMArwAIAAGkWjYBTgAQABNIpGwSjAAwAC
aBSNglGABwAE0CgaBaMADwAIoFE0CkYBHgAQQKNoFIwCPAAggEbRKBgFeABAAI2iUTAK8ACAABpF
o2AU4AEAATSKRsEowAMAAmgUjYJRgAcABNAoGgWjAA8ACKBRNApGAR4AEECjaBSMAjwAIIBG0SgY
BXgAQACNolEwCvAAgAAaRaNgFOABAAE0ikbBKMADAAJoFI2CUYAHAATQKBoFowAPAAigUTQKRgEe
ABBAo2gUjAI8ACCARtEoGAV4AEAAjaJRMArwAIAAGkWjYBTgAQABNIpGwSjAAwACaBSNglGABwAE
0CgaBaMADwAIoFE0CkYBHgAQQKNoFIwCPAAggEbRKBgFeABAAI2iUTAK8ACAABpFo2AU4AEAATSK
RsEowAMAAmgUjYJRgAcABNAoGgWjAA8ACKBRNApGAR4AEECjaBSMAjwAIIBG0SgYBXgAQACNolEw
CvAAgAAaRaNgFOABAAE0ikbBKMADAAJoFI2CUYAHAATQKBoFowAPAAigUTQKRgEeABBAo2gUjAI8
ACCARtEoGAV4AEAAjaJRMArwAIAAGkWjYBTgAQABNIpGwSjAAwACaBSNglGABwAE0CgaBaMADwAI
oFE0CkYBHgAQQKNoFIwCPAAggEbRKBgFeABAAI2iUTAK8ACAABpFo2AU4AEAATSKRsEowAMAAmgU
jYJRgAcABNAoGgWjAA8ACKBRNApGAR4AEECjaBSMAjwAIIBG0SgYBXgAQACNolEwCvAAgAAaRaNg
FOABAAE0ikbBKMADAAJoFI2CUYAHAATQKBoFowAPAAigUTQKRgEeABBAo2gUjAI8ACCARtEoGAV4
AEAAjaJRMArwAIAAGkWjYBTgAQABNIpGwSjAAwACaBSNglGABwAE0CgaBaMADwAIoFE0CkYBHgAQ
QKNoFIwCPAAggEbRKBgFeABAAI2iUTAK8ACAABpFo2AU4AEAATSKRsEowAMAAmgUjYJRgAcABNAo
GgWjAA8ACKBRNApGAR4AEECjaBSMAjwAIIBG0SgYBXgAQACNolEwCvAAgAAaRaNgFOABAAE0ikbB
KMADAAJoFI2CUYAHAATQKBoFowAPAAigUTQKRgEeABBAo2gUjAI8ACCARtEoGAV4AEAAjaJRMArw
AIAAGkWjYBTgAQABNIpGwSjAAwACaBSNglGABwAE0CgaBaMADwAIoFE0CkYBHgAQQKNoFIwCPAAg
gEbRKBgFeABAAI2iUTAK8ACAABpFo2AU4AEAATSKRsEowAMAAmgUjYJRgAcABNAoGgWjAA8ACKBR
NApGAR4AEECjaBSMAjwAIIBG0SgYBXgAQACNolEwCvAAgAAaRaNgFOABAAE0ikbBKMADAAJoFI2C
UYAHAATQKBoFowAPAAigUTQKRgEeABBAo2gUjAI8ACCARtEoGAV4AEAAjaJRMArwAIAAGkWjYBTg
AQABNIpGwSjAAwACaBSNglGABwAE0CgaBaMADwAIoFE0CkYBHgAQQKNoFIwCPAAggEbRKBgFeABA
AI2iUTAK8ACAABpFo2AU4AEAATSKRsEowAMAAmgUjYJRgAcABNAoGgWjAA8ACKBRNApGAR4AEECj
aBSMAjwAIIBG0SgYBXgAQACNolEwCvAAgAAaRaNgFOABAAE0ikbBKMADAAJoFI2CUYAHAATQKBoF
owAPAAigUTQKRgEeABBAo2gUjAI8ACCARtEoGAV4AEAAjaJRMArwAIAAGkWjYBTgAQABNIpGwSjA
AwACaBSNglGABwAE0CgaBaMADwAIoFE0CkYBHgAQQKNoFIwCPAAggEbRKBgFeABAAI2iUTAK8ACA
ABpFo2AU4AEAATSKRsEowAMAAmgUjYJRgAcABBgAlFEAAfuYg1cAAAAASUVORK5CYII="/>
</g>
<radialGradient id="aigrd1" cx="81.0659" cy="78.3418" r="137.5831" fx="81.0659" fy="78.3418" gradientUnits="userSpaceOnUse">
<stop offset="0" style="stop-color:#E1E1DE"/>
<stop offset="1" style="stop-color:#293133"/>
</radialGradient>
<path style="&st4;" d="M185.822,161.514c0,12.154-9.854,22.01-22.01,22.01H61.178c-12.156,0-22.012-9.855-22.012-22.01V58.878c0-12.157,9.855-22.011,22.012-22.011h102.634c12.156,0,22.01,9.854,22.01,22.011v102.635z"/>
<linearGradient id="aigrd2" gradientUnits="userSpaceOnUse" x1="90.1099" y1="26.3491" x2="122.0016" y2="97.8025">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="0.1359" style="stop-color:#F6F6F6"/>
<stop offset="1" style="stop-color:#C4C4C4"/>
</linearGradient>
<path style="&st0;" d="M64.042,44.956c-9.256,0-16.785,7.531-16.785,16.787V94.83c38.391,19.848,85.22-47.411,130.476-29.003v-4.084c0-9.256-7.529-16.787-16.785-16.787H64.042z"/>
<g>
<g>
<g>
<path style="&st2;" d="M143.719,50.78c-19.83,0-23.549,28.245-12.395,28.245s32.227-28.245,12.395-28.245z"/>
<path style="&st2;" d="M110.792,75.524c5.94,0.363,12.456-22.667,1.292-21.219c-11.161,1.448-7.235,20.855-1.292,21.219z"/>
<path style="&st2;" d="M83.571,89.834c4.224-1.858,0.543-20.048-6.64-15.087c-7.182,4.96,2.414,16.945,6.64,15.087z"/>
<path style="&st2;" d="M95.472,80.314c5.03-1.025,5.306-21.653-3.663-17.953c-8.97,3.7-1.362,18.979,3.663,17.953z"/>
<path id="newshape" style="&st2;" d="M121.732,126.479c0.893,6.813-5,10.178-10.77,5.785c-18.366-13.982,30.413-20.96,27.198-40.065c-2.668-15.857-51.326-10.977-56.867,13.837c-3.751,16.785,15.438,40.066,35.46,40.066c9.85,0,21.211-8.893,23.336-20.16
c1.623-8.59-19.104-5.148-18.357,0.537z"/>
</g>
</g>
<g style="&st2;">
<path d="M87.831,157.334l-1.201,2.303c-0.338-0.306-0.86-0.609-1.565-0.912c-0.705-0.302-1.311-0.453-1.818-0.453c-1.587,0-2.839,0.539-3.757,1.617c-0.918,1.078-1.377,2.523-1.377,4.334c0,1.722,0.449,3.098,1.347,4.129c0.898,1.029,2.12,1.545,3.667,1.545
c1.019,0,1.857-0.278,2.518-0.835v-3.165h-2.25v-2.438h5.125v7.201c-0.683,0.557-1.562,0.99-2.637,1.301s-2.145,0.467-3.208,0.467c-2.312,0-4.145-0.758-5.499-2.274s-2.031-3.519-2.031-6.009c0-2.488,0.738-4.512,2.213-6.068s3.462-2.336,5.958-2.336
c1.77,0,3.274,0.531,4.516,1.594z"/>
<path d="M101.671,172.365l-7.844-10.188v9.969h-2.75v-16.125h1.375l7.625,9.719v-9.719h2.75v16.344h-1.156z"/>
<path d="M105.36,163.952c0-2.297,0.629-4.239,1.888-5.829c1.259-1.588,2.942-2.383,5.049-2.383c2.32,0,4.091,0.719,5.318,2.158c1.226,1.438,1.839,3.456,1.839,6.054s-0.641,4.659-1.921,6.187c-1.281,1.525-3.1,2.289-5.456,2.289
c-2.166,0-3.827-0.756-4.983-2.268s-1.734-3.58-1.734-6.208z M108.329,163.951c0,1.891,0.319,3.354,0.959,4.391c0.639,1.037,1.569,1.555,2.789,1.555c1.433,0,2.526-0.508,3.279-1.521c0.753-1.016,1.13-2.489,1.13-4.424c0-3.786-1.396-5.68-4.188-5.68
c-1.278,0-2.259,0.514-2.943,1.539s-1.025,2.406-1.025,4.141z"/>
<path d="M137.042,172.146h-2.781l-1.656-8.688l-3.25,8.906h-1.031l-3.266-8.906l-1.766,8.688h-2.75l3.25-16.125h1.531l3.516,10.844l3.422-10.844h1.5l3.281,16.125z"/>
<path d="M141.702,158.553v3.781h5.219v2.438h-5.219v4.844h7.313v2.531h-10.188v-16.125h10.188v2.531h-7.313z"/>
</g>
</g>
<g style="&st6;">
<g>
<g>
<path d="M142.719,49.78c-19.83,0-23.549,28.245-12.395,28.245s32.227-28.245,12.395-28.245z"/>
<path d="M109.792,74.524c5.94,0.363,12.456-22.667,1.292-21.219c-11.161,1.448-7.235,20.855-1.292,21.219z"/>
<path d="M82.571,88.834c4.224-1.858,0.543-20.048-6.64-15.087c-7.182,4.96,2.414,16.945,6.64,15.087z"/>
<path d="M94.472,79.314c5.03-1.025,5.306-21.653-3.663-17.953c-8.97,3.7-1.362,18.979,3.663,17.953z"/>
<path d="M120.732,125.479c0.893,6.813-5,10.178-10.77,5.785c-18.366-13.982,30.413-20.96,27.198-40.065c-2.668-15.857-51.326-10.977-56.867,13.837c-3.751,16.785,15.438,40.066,35.46,40.066c9.85,0,21.211-8.893,23.336-20.16
c1.623-8.59-19.104-5.148-18.357,0.537z"/>
</g>
</g>
<g>
<path d="M86.831,156.334l-1.201,2.303c-0.338-0.306-0.86-0.609-1.565-0.912c-0.705-0.302-1.311-0.453-1.818-0.453c-1.587,0-2.839,0.539-3.757,1.617c-0.918,1.078-1.377,2.523-1.377,4.334c0,1.722,0.449,3.098,1.347,4.129c0.898,1.029,2.12,1.545,3.667,1.545
c1.019,0,1.857-0.278,2.518-0.835v-3.165h-2.25v-2.438h5.125v7.201c-0.683,0.557-1.562,0.99-2.637,1.301s-2.145,0.467-3.208,0.467c-2.312,0-4.145-0.758-5.499-2.274s-2.031-3.519-2.031-6.009c0-2.488,0.738-4.512,2.213-6.068s3.462-2.336,5.958-2.336
c1.77,0,3.274,0.531,4.516,1.594z"/>
<path d="M100.671,171.365l-7.844-10.188v9.969h-2.75v-16.125h1.375l7.625,9.719v-9.719h2.75v16.344h-1.156z"/>
<path d="M104.36,162.952c0-2.297,0.629-4.239,1.888-5.829c1.259-1.588,2.942-2.383,5.049-2.383c2.319,0,4.091,0.719,5.318,2.158c1.226,1.438,1.839,3.456,1.839,6.054s-0.641,4.659-1.921,6.187c-1.281,1.525-3.1,2.289-5.456,2.289
c-2.166,0-3.827-0.756-4.983-2.268s-1.734-3.58-1.734-6.208z M107.329,162.951c0,1.891,0.319,3.354,0.959,4.391c0.639,1.037,1.569,1.555,2.789,1.555c1.433,0,2.526-0.508,3.279-1.521c0.753-1.016,1.13-2.489,1.13-4.424c0-3.786-1.396-5.68-4.188-5.68
c-1.278,0-2.259,0.514-2.943,1.539s-1.025,2.406-1.025,4.141z"/>
<path d="M136.042,171.146h-2.781l-1.656-8.688l-3.25,8.906h-1.031l-3.266-8.906l-1.766,8.688h-2.75l3.25-16.125h1.531l3.516,10.844l3.422-10.844h1.5l3.281,16.125z"/>
<path d="M140.702,157.553v3.781h5.219v2.438h-5.219v4.844h7.313v2.531h-10.188v-16.125h10.188v2.531h-7.313z"/>
</g>
</g>
<linearGradient id="aigrd3" gradientUnits="userSpaceOnUse" x1="111.7104" y1="31" x2="112.9217" y2="104.0708">
<stop offset="0" style="stop-color:#FFFFFF"/>
<stop offset="0.2401" style="stop-color:#EDECEC"/>
<stop offset="1" style="stop-color:#BBBBBA"/>
</linearGradient>
<path style="&st3;" d="M64.042,44.956c-9.256,0-16.785,7.531-16.785,16.787V94.83c38.391,19.848,85.22-47.411,130.476-29.003v-4.084c0-9.256-7.529-16.787-16.785-16.787H64.042z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.5 KiB

View File

@@ -0,0 +1,15 @@
<slide>
<title>Identifying objects</title>
<list>
<bullet>*Bus*: Communication pathways that clients can transport messages over</bullet>
<bullet>*Connection*: Every connection to the bus has one (or more) unique names (random and well-known) (~:1.363~ or ~nl.derickrethans.test~).</bullet>
<bullet>*Object*: A communications end-point that a process exports to offer its services (~/nl/derickrethans/test~).</bullet>
<bullet>*Proxy*: A client-level representation of an object on the bus.</bullet>
<bullet>*Method*: A function on an object; they have input and output parameters and are called through proxies.</bullet>
<bullet>*Signal*: One way communications from an object to registered clients.</bullet>
<bullet>*Members*: A collection of methods and signals.</bullet>
<bullet>*Interface*: A collection of members; each object can implement multiple interfaces (~nl.derickrethans.test~, ~org.freedesktop.DBus.Introspectable~).</bullet>
</list>
</slide>

View File

@@ -0,0 +1,61 @@
<slide>
<title>Introspection</title>
<list>
<bullet>Most services provide information about their methods' arguments through ~org.freedesktop.DBus.Introspectable~.</bullet>
<bullet>The DBUS extension currently switches between *i* and *u* only.</bullet>
</list>
<example><![CDATA[<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node>
<interface name="org.freedesktop.Notifications">
<method name="Notify">
<arg name="app_name" type="s" direction="in"/>
<arg name="id" type="u" direction="in"/>
<arg name="icon" type="s" direction="in"/>
<arg name="summary" type="s" direction="in"/>
<arg name="body" type="s" direction="in"/>
<arg name="actions" type="as" direction="in"/>
<arg name="hints" type="a{sv}" direction="in"/>
<arg name="timeout" type="i" direction="in"/>
<arg name="return_id" type="u" direction="out"/>
</method>
<method name="GetServerInformation">
<arg name="return_name" type="s" direction="out"/>
<arg name="return_vendor" type="s" direction="out"/>
<arg name="return_version" type="s" direction="out"/>
<arg name="return_spec_version" type="s" direction="out"/>
</method>
<method name="GetCapabilities">
<arg name="return_caps" type="as" direction="out"/>
</method>
<method name="CloseNotification">
<arg name="id" type="u" direction="in"/>
</method>
</interface>
<interface name="org.freedesktop.DBus.Introspectable">
<method name="Introspect">
<arg name="data" direction="out" type="s"/>
</method>
</interface>
<interface name="org.freedesktop.DBus.Properties">
<method name="Get">
<arg name="interface" direction="in" type="s"/>
<arg name="propname" direction="in" type="s"/>
<arg name="value" direction="out" type="v"/>
</method>
<method name="Set">
<arg name="interface" direction="in" type="s"/>
<arg name="propname" direction="in" type="s"/>
<arg name="value" direction="in" type="v"/>
</method>
<method name="GetAll">
<arg name="interface" direction="in" type="s"/>
<arg name="props" direction="out" type="a{sv}"/>
</method>
</interface>
</node>]]></example>
</slide>

View File

@@ -0,0 +1,28 @@
<slide>
<title>Message Types</title>
<blurb>Method calls</blurb>
<list>
<bullet>From one application to another</bullet>
</list>
<break/>
<blurb>Method returns</blurb>
<list>
<bullet>Upon succesfull method execution</bullet>
</list>
<break/>
<blurb>Method error returns</blurb>
<list>
<bullet>Upon a failure while executing the method</bullet>
</list>
<break/>
<blurb>Signals</blurb>
<list>
<bullet>Broadcast from one application to all others</bullet>
</list>
<break/>
</slide>

View File

@@ -0,0 +1,30 @@
<slide>
<title>Talking to a DBUS object from PHP</title>
<subtitle>Using explicit integer types</subtitle>
<blurb>notify.php:</blurb>
<example><![CDATA[<?php
$d = new Dbus( Dbus::BUS_SESSION );
$n = new DbusObject(
$d, // dbus connection
"org.freedesktop.Notifications", // connection name
"/org/freedesktop/Notifications", // object
"org.freedesktop.Notifications" // interface
);
$id = $n->Notify(
'Testapp', new DBusUInt32( 0 ), // app_name, replaces_id
'iceweasel', 'Testing http://ez.no', 'Test Notification', // app_icon, summary, body
new DBusArray( DBus::STRING, array() ), // actions
new DBusDict( // hints
DBus::VARIANT,
array(
'x' => new DBusVariant( 500 ), // x position on screen
'y' => new DBusVariant( 500 ), // y position on screen
'desktop-entry' => new DBusVariant( 'rhythmbox' )
)
),
1000 // expire timeout in msec
);
echo $id[0], "\n";
?>]]></example>
</slide>

View File

@@ -0,0 +1,30 @@
<slide>
<title>Talking to a DBUS object from PHP</title>
<subtitle>Using introspection to select the correct integer type</subtitle>
<blurb>notify-introspect.php:</blurb>
<example><![CDATA[<?php
$d = new Dbus( Dbus::BUS_SESSION, true );
$n = new DbusObject(
$d, // dbus connection
"org.freedesktop.Notifications", // connection name
"/org/freedesktop/Notifications", // object
"org.freedesktop.Notifications" // interface
);
$id = $n->Notify(
'Testapp', 0, // app_name, replaces_id
'iceweasel', 'Testing http://ez.no', 'Test Notification', // app_icon, summary, body
new DBusArray( DBus::STRING, array() ), // actions
new DBusDict( // hints
DBus::VARIANT,
array(
'x' => new DBusVariant( 500 ), // x position on screen
'y' => new DBusVariant( 500 ), // y position on screen
'desktop-entry' => new DBusVariant( 'rhythmbox' )
)
),
1000 // expire timeout in msec
);
echo $id[0], "\n";
?>]]></example>
</slide>

BIN
slides/dbus/openmoko.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -0,0 +1,22 @@
<slide>
<title>Talking to a DBUS object from PHP</title>
<subtitle>Activating the screensaver</subtitle>
<blurb>screensaver.php:</blurb>
<example><![CDATA[<?php
$d = new Dbus;
$n = new DbusObject(
$d,
"org.gnome.ScreenSaver",
"/org/gnome/ScreenSaver",
"org.gnome.ScreenSaver"
);
var_dump( $n->GetActive() );
$n->SetActive( true );
var_dump( $n->GetActive() );
sleep( 5 );
$n->SetActive( false );
?>]]></example>
</slide>

View File

@@ -0,0 +1,31 @@
<slide>
<title>Providing DBUS services through PHP</title>
<list>
<bullet>Request a connection name</bullet>
<bullet>Register a class that provides methods</bullet>
<bullet>Introspection is not yet supported</bullet>
</list>
<example><![CDATA[<?php
$d = new Dbus( Dbus::BUS_SESSION, true );
$d->requestName( 'nl.derickrethans.test' );
$d->registerObject(
'/nl/derickrethans/test', 'nl.derickrethans.test', 'testClass' );
class testClass {
static function echoOne( $a ) {
return $a;
}
static function echoTwo( $a, $b ) {
return new DbusSet( $a, $b );
}
}
do {
$s = $d->waitLoop( 1000 );
} while ( true );
?> ]]></example>
</slide>

View File

@@ -0,0 +1,13 @@
<slide>
<title>PHP DBUS extension</title>
<list>
<bullet>DBUS bindings using the low-level C library (libdbus)</bullet>
<bullet>Provides proxy objects</bullet>
<bullet>Implements automatic-marshalling of data</bullet>
<bullet>Provides specific classes for full control</bullet>
<bullet>Support for method invocation, method calls, sending and receiving signals</bullet>
<bullet>(Basic) support for introspection</bullet>
</list>
</slide>

View File

@@ -0,0 +1,31 @@
<slide>
<title>Pidgin example</title>
<subtitle>Listing which buddies are online</subtitle>
<example><![CDATA[<?php
$d = new Dbus;
$n = new DbusObject( $d,
"im.pidgin.purple.PurpleService",
"/im/pidgin/purple/PurpleObject",
"im.pidgin.purple.PurpleInterface"
);
$data = $n->PurpleAccountsGetAllActive();
foreach ( $data[0]->getData() as $account )
{
$buddies = $n->PurpleFindBuddies( $account, '' );
$protocol = $n->PurpleAccountGetProtocolName( $account );
echo $protocol[0], "\n";
foreach ( $buddies[0]->getData() as $buddyId )
{
$online = $n->PurpleBuddyIsOnline( $buddyId );
$alias = $n->PurpleBuddyGetAlias( $buddyId );
if ( $online[0] )
{
printf( "- %s\n", $alias[0] );
}
}
}
?>]]></example>
</slide>

14
slides/dbus/pidgin.xml Normal file
View File

@@ -0,0 +1,14 @@
<slide>
<title>Pidgin</title>
<subtitle>Implements things through a proper interface</subtitle>
<list>
<bullet>It exposes everything through some form of objecty model</bullet>
<bullet>A new method for every functionality</bullet>
<bullet>Uses IDs to identify objects</bullet>
<bullet>Uses signals extensively</bullet>
<bullet>It's not documented very well, but it matches the internal C API</bullet>
</list>
<image align="center" filename="Pidgin.png"/>
</slide>

View File

@@ -0,0 +1,17 @@
<slide>
<title>Sending signals</title>
<example><![CDATA[<?php
$d = new Dbus( Dbus::BUS_SESSION, true );
$d->requestName( 'nl.derickrethans.test' );
$s = new DbusSignal(
$d,
'/nl/derickrethans/SignalObject',
'nl.derickrethans.Interface',
'TestSignal'
);
$s->send( "ze data", new DBusArray( Dbus::STRING, array( 'one', 'two' ) ) );
?> ]]></example>
</slide>

30
slides/dbus/signal.xml Normal file
View File

@@ -0,0 +1,30 @@
<slide>
<title>Watching signals</title>
<example><![CDATA[<?php
$d = new Dbus;
$d->addWatch( 'org.freedesktop.PowerManagement.Backlight' );
$d->addWatch( 'nl.derickrethans.Interface' );
do
{
$s = $d->waitLoop( 1000 );
if ( !$s ) continue;
if ( $s->matches(
"org.freedesktop.PowerManagement.Backlight", "BrightnessChanged" )
{
$b = $s->getData();
echo "Brightness: {$b[0]}\n";
}
if ( $s->matches( 'nl.derickrethans.Interface', 'TestSignal' ) )
{
var_dump( $s->getData() );
}
}
while ( true );
?> ]]></example>
</slide>

View File

@@ -0,0 +1,16 @@
<slide>
<title>Signatures</title>
<blurb>Each method call has a signature for incoming and outgoing parameters</blurb>
<break/>
<blurb>Examples:</blurb>
<list>
<bullet>*ii*: two 32bit signed integers</bullet>
<bullet>*tn*: a 64bit unsigned integer, and a 16bit signed integer</bullet>
<bullet>*ssiib*: two strings, two integers and a byte</bullet>
<bullet>*ad*: an array of doubles (each array has one type following to determine the child's type)</bullet>
<bullet>*a{sv}*: an array containing dictionary entries with a string key, and a variant value</bullet>
<bullet>*a(iiss)*: an array containing a struct with two integers and two strings</bullet>
<bullet>*aai*: an array of arrays containing integers</bullet>
</list>
</slide>

View File

@@ -0,0 +1,11 @@
<slide>
<title>Skype</title>
<subtitle>Odd DBUS API</subtitle>
<list>
<bullet>Everything in and out happens with a weird string protocol</bullet>
<bullet>It does not make use of objects at all</bullet>
<bullet>It doesn't send signals, but you have to provide a callback</bullet>
</list>
</slide>

View File

@@ -0,0 +1,30 @@
<slide>
<title>Skype in polling mode</title>
<example><![CDATA[<?php
$d = new Dbus( Dbus::BUS_SESSION, true );
$n = new DbusObject( $d, "com.Skype.API", "/com/Skype", "com.Skype.API");
$n->Invoke( "NAME PHP" );
$n->Invoke( "PROTOCOL 7" );
$chatId = $n->Invoke( "CHAT CREATE username" );
list( $ignore, $id, $stuff, $stuff2 ) = explode( " ", $chatId[0] );
$n->Invoke( "OPEN CHAT $id" );
while ( true )
{
$r = $n->Invoke( "GET CHAT $id RECENTCHATMESSAGES" );
list( $ignore, $dummy, $dummy, $messageIds ) = explode( ' ', $r[0], 4 );
foreach( explode( ", ", $messageIds ) as $messageId )
{
$data = $n->Invoke( "GET CHATMESSAGE $messageId FROM_HANDLE" );
list( $a, $b, $c, $name ) = explode( ' ', $data[0], 4 );
$data = $n->Invoke( "GET CHATMESSAGE $messageId BODY" );
list( $a, $b, $c, $body ) = explode( ' ', $data[0], 4 );
echo $name, ": ", $body, "\n";
$n->Invoke( "SET CHATMESSAGE $messageId SEEN" );
}
sleep( 30 );
}
?>]]></example>
</slide>

View File

@@ -0,0 +1,31 @@
<slide>
<title>Skype with callback</title>
<subtitle>Instead they should have used signals...</subtitle>
<example><![CDATA[<?php
$d = new Dbus( Dbus::BUS_SESSION, true );
$n = new DbusObject( $d, "com.Skype.API", "/com/Skype", "com.Skype.API");
$n->Invoke( "NAME PHP" ); $n->Invoke( "PROTOCOL 7" );
$chatId = $n->Invoke( "CHAT CREATE username" );
list( $ignore, $id, $stuff, $stuff2 ) = explode( " ", $chatId[0] );
var_dump( $n->Invoke( "OPEN CHAT $id" ) );
class testClass {
static function notify($a) {
global $n;
@list( $a, $b, $c ) = explode( ' ', $a, 3 );
if ( $a === "CHATMESSAGE" ) {
$data = $n->Invoke( "GET CHATMESSAGE $b BODY" );
list( $a, $b, $c, $body ) = explode( ' ', $data[0], 4 );
echo $body, "\n";
}
}
}
$d->registerObject(
'/com/Skype/Client', 'com.Skype.API.Client', 'testClass' );
do {
$s = $d->waitLoop( 1000 );
} while ( true );
?>]]></example>
</slide>

View File

@@ -0,0 +1,20 @@
<slide>
<title>Skype</title>
<subtitle>Objects</subtitle>
<list>
<bullet>USER object</bullet>
<bullet>PROFILE object</bullet>
<bullet>CALL object</bullet>
<bullet>MESSAGE object</bullet>
<bullet>CHAT object</bullet>
<bullet>CHATMEMBER object</bullet>
<bullet>CHATMESSAGE object</bullet>
<bullet>VOICEMAIL object</bullet>
<bullet>SMS object</bullet>
<bullet>APPLICATION object</bullet>
<bullet>GROUP object</bullet>
<bullet>FILETRANSFER object</bullet>
</list>
</slide>

BIN
slides/dbus/skype.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

10
slides/dbus/skype.xml Normal file
View File

@@ -0,0 +1,10 @@
<slide>
<title>Skype</title>
<list>
<bullet>Implements (on Linux) a DBUS API for communications</bullet>
<bullet>Documented at https://developer.skype.com/Docs/ApiDoc/src (sparsely)</bullet>
</list>
<image align="center" filename="skype.png"/>
</slide>

View File

@@ -7,7 +7,7 @@
<break/>
<blurb class="event-date">:-:event:-: - :-:location:-:</blurb>
<break/>
<blurb class="event-presenter">Derick Rethans - dr@ez.no</blurb>
<blurb class="event-presenter">Derick Rethans - dr@ez.no - twitter: @:-:twitter:-:</blurb>
<break/>
<blurb class="pres-url-small">:-:url:-:</blurb>
</slide>

View File

@@ -0,0 +1,19 @@
<slide>
<title>What is DBUS used for?</title>
<list>
<bullet>On the (GNOME) desktop: Avahi, CUPS, GConf, Nautilus, Network Manager, Power Manager, Screen Saver, Volume Manager</bullet>
<bullet>System level elements: HAL</bullet>
<bullet>Gnome applications: Pidgin, Rhythmbox</bullet>
<bullet>Other applications: skype</bullet>
<bullet>But also on the Openmoko platform (freesmartphone.org)</bullet>
</list>
<break lines="2"/>
<div align="center">
<image filename="gnome.png"/>
<image filename="Pidgin.png"/>
<image filename="Rhythmbox_logo.png"/>
<image filename="openmoko.png"/>
<image filename="skype.png"/>
</div>
</slide>

View File

@@ -0,0 +1,13 @@
<slide>
<title>What is DBUS?</title>
<list>
<bullet>Part of the freedesktop.org project</bullet>
<bullet>It is meant to replace Corba (GNOME) and DCOP (KDE)</bullet>
<bullet>A message bus system, a simple way for applications to talk to one another</bullet>
<bullet>It consists of a deamon, a library and a protocol</bullet>
<bullet>It is both meant for system level and session level communication</bullet>
</list>
<image align="center" filename="Freedesktop-logo.png"/>
</slide>

View File

@@ -0,0 +1,8 @@
<slide>
<title>What's the real goal?</title>
<list>
<bullet>Running apps on the OpenMoko</bullet>
<bullet>With PHP-GTK</bullet>
</list>
</slide>