2
\providecommand\hyper@newdestlabel[2]{}
3
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
4
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
5
\global\let\oldcontentsline\contentsline
6
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
7
\global\let\oldnewlabel\newlabel
8
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
9
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
10
\AtEndDocument{\ifx\hyper@anchor\@undefined
11
\let\contentsline\oldcontentsline
12
\let\newlabel\oldnewlabel
15
\global\let\hyper@last\relax
16
\gdef\HyperFirstAtBeginDocument#1{#1}
17
\providecommand\HyField@AuxAddToFields[1]{}
18
\providecommand\HyField@AuxAddToCoFields[2]{}
19
\@writefile{toc}{\contentsline {subsection}{\numberline {0.1}Anatomy of a Service}{1}{subsection.0.1}}
20
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Anatomy of a Ubuntu Service}}{1}{figure.1}}
21
\newlabel{fig:service_anatomy}{{1}{1}{Anatomy of a Ubuntu Service}{figure.1}{}}
22
\@writefile{toc}{\contentsline {section}{\numberline {1}Service implementation}{2}{section.1}}
23
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}documentation}{2}{subsection.1.1}}
24
\@writefile{toc}{\contentsline {section}{\numberline {2}Service Description Language}{3}{section.2}}
25
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Service Description File}{3}{subsection.2.1}}
26
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}available data types}{3}{subsection.2.2}}
27
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.1}timestamp}{3}{subsubsection.2.2.1}}
28
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Awesome Image}}{4}{figure.2}}
29
\newlabel{fig:awesome_image}{{2}{4}{Awesome Image}{figure.2}{}}
30
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.2}enum}{4}{subsubsection.2.2.2}}
31
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.3}struct}{4}{subsubsection.2.2.3}}
32
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.4}object type}{4}{subsubsection.2.2.4}}
33
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Awesome Image}}{5}{figure.3}}
34
\newlabel{fig:awesome_image}{{3}{5}{Awesome Image}{figure.3}{}}
35
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Service Definition}{5}{subsection.2.3}}
36
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4}Interface Definition}{5}{subsection.2.4}}
37
\@writefile{toc}{\contentsline {subsection}{\numberline {2.5}Property Definition}{5}{subsection.2.5}}
38
\@writefile{toc}{\contentsline {subsection}{\numberline {2.6}Signal Definition}{5}{subsection.2.6}}
39
\@writefile{toc}{\contentsline {subsection}{\numberline {2.7}Operation Definition}{5}{subsection.2.7}}
40
\@writefile{toc}{\contentsline {subsection}{\numberline {2.8}Objects}{5}{subsection.2.8}}
41
\@writefile{toc}{\contentsline {paragraph}{settings}{5}{section*.2}}
42
\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces Awesome Image}}{6}{figure.4}}
43
\newlabel{fig:awesome_image}{{4}{6}{Awesome Image}{figure.4}{}}
44
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.8.1}application confinement}{7}{subsubsection.2.8.1}}
45
\@writefile{toc}{\contentsline {subsection}{\numberline {2.9}client}{7}{subsection.2.9}}
46
\@writefile{toc}{\contentsline {subsection}{\numberline {2.10}transport}{7}{subsection.2.10}}
47
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.10.1}requirements for a transport}{7}{subsubsection.2.10.1}}
48
\@writefile{toc}{\contentsline {subsection}{\numberline {2.11}generators}{7}{subsection.2.11}}
49
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.11.1}Mitigating the risk of complexity of writing the generators}{7}{subsubsection.2.11.1}}
50
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.11.2}Cost of Development and Maintenance}{7}{subsubsection.2.11.2}}
51
\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces Awesome Image}}{8}{figure.5}}
52
\newlabel{fig:awesome_image}{{5}{8}{Awesome Image}{figure.5}{}}
53
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.11.3}transport generator}{8}{subsubsection.2.11.3}}
54
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.11.4}documenation generator}{8}{subsubsection.2.11.4}}
55
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.11.5}Semantically wrong..}{8}{subsubsection.2.11.5}}
56
\@writefile{toc}{\contentsline {section}{\numberline {3}Future Work}{8}{section.3}}
57
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}References between services}{8}{subsection.3.1}}
58
\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces Awesome Image}}{9}{figure.6}}
59
\newlabel{fig:awesome_image}{{6}{9}{Awesome Image}{figure.6}{}}
60
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Asynchronous and Stateless Operations}{9}{subsection.3.2}}
61
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Property Patch updates or Transactions}{9}{subsection.3.3}}
62
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Property validity depends on other property}{9}{subsection.3.4}}
63
\@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces Awesome Image}}{10}{figure.7}}
64
\newlabel{fig:awesome_image}{{7}{10}{Awesome Image}{figure.7}{}}
65
\@writefile{toc}{\contentsline {section}{\numberline {4}Implementation Considerations}{10}{section.4}}
66
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Generators}{10}{subsection.4.1}}
67
\@writefile{toc}{\contentsline {section}{\numberline {5}Prototype}{10}{section.5}}
68
\@writefile{lof}{\contentsline {figure}{\numberline {8}{\ignorespaces Awesome Image}}{11}{figure.8}}
69
\newlabel{fig:awesome_image}{{8}{11}{Awesome Image}{figure.8}{}}
70
\@writefile{toc}{\contentsline {section}{\numberline {A}Appendix: Case Studies}{11}{appendix.A}}
71
\@writefile{toc}{\contentsline {subsection}{\numberline {A.1}Transition from Bluez4 to Bluez5}{11}{subsection.A.1}}
72
\@writefile{toc}{\contentsline {subsection}{\numberline {A.2}Ubuntu for Android}{11}{subsection.A.2}}
73
\@writefile{toc}{\contentsline {subsection}{\numberline {A.3}Wi-Fi on BQ Aquaris 4.5}{11}{subsection.A.3}}
74
\@writefile{toc}{\contentsline {section}{\numberline {B}Appendix: Considerations for Writing Service Definitions}{11}{appendix.B}}
75
\@writefile{toc}{\contentsline {subsection}{\numberline {B.1}On Properties}{11}{subsection.B.1}}
76
\@writefile{toc}{\contentsline {subsection}{\numberline {B.2}On Operations}{12}{subsection.B.2}}
77
\@writefile{toc}{\contentsline {subsection}{\numberline {B.3}On Interfaces}{12}{subsection.B.3}}
78
\@writefile{toc}{\contentsline {subsubsection}{\numberline {B.3.1}Low Power Environments}{12}{subsubsection.B.3.1}}
79
\@writefile{toc}{\contentsline {section}{\numberline {C}Appendix: Lessons Learned From the Past}{13}{appendix.C}}
80
\@writefile{toc}{\contentsline {subsection}{\numberline {C.1}XML}{13}{subsection.C.1}}
81
\@writefile{toc}{\contentsline {subsection}{\numberline {C.2}GObject Introspection}{13}{subsection.C.2}}
82
\@writefile{toc}{\contentsline {subsection}{\numberline {C.3}D-Bus Introspection}{13}{subsection.C.3}}
83
\@writefile{toc}{\contentsline {subsection}{\numberline {C.4}Cascading bindings are a PITA}{13}{subsection.C.4}}
84
\@writefile{toc}{\contentsline {section}{\numberline {D}Appendix: Case Study: Ubuntu Power Service}{13}{appendix.D}}
85
\@writefile{toc}{\contentsline {subsection}{\numberline {D.1}Screen Brightness}{13}{subsection.D.1}}
86
\@writefile{toc}{\contentsline {subsection}{\numberline {D.2}System Reboot}{14}{subsection.D.2}}