docs: new section about plugin-specific modems

This commit is contained in:
Aleksander Morgado
2012-03-02 13:06:42 +01:00
parent 52ff02323d
commit 480fe4b808
4 changed files with 2136 additions and 3 deletions

View File

@@ -2,7 +2,9 @@
# Generation of the additional PNG files from DIA files
# (list of original '.dia' files with '.png' extension)
DIAGRAMS = \
ModemManager-states.dia
ModemManager-states.dia \
ModemManager-interface-initialization-sequence.dia \
ModemManager-interface-initialization-sequence-subclassed.dia
# The wanted PNG files
DIAGRAMS_PNG = $(notdir $(DIAGRAMS:.dia=.png))
@@ -50,7 +52,7 @@ MKDB_OPTIONS = --output-format=xml --sgml-mode --name-space=mm
# Images to copy into HTML directory
HTML_IMAGES = \
ModemManager-states.png \
$(DIAGRAMS_PNG) \
$(NULL)
# Note that PNG files are also added in content_files so that

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,999 @@
<?xml version="1.0" encoding="UTF-8"?>
<dia:diagram xmlns:dia="http://www.lysator.liu.se/~alla/dia/">
<dia:diagramdata>
<dia:attribute name="background">
<dia:color val="#ffffff"/>
</dia:attribute>
<dia:attribute name="pagebreak">
<dia:color val="#000099"/>
</dia:attribute>
<dia:attribute name="paper">
<dia:composite type="paper">
<dia:attribute name="name">
<dia:string>#Letter#</dia:string>
</dia:attribute>
<dia:attribute name="tmargin">
<dia:real val="2.5399999618530273"/>
</dia:attribute>
<dia:attribute name="bmargin">
<dia:real val="2.5399999618530273"/>
</dia:attribute>
<dia:attribute name="lmargin">
<dia:real val="2.5399999618530273"/>
</dia:attribute>
<dia:attribute name="rmargin">
<dia:real val="2.5399999618530273"/>
</dia:attribute>
<dia:attribute name="is_portrait">
<dia:boolean val="true"/>
</dia:attribute>
<dia:attribute name="scaling">
<dia:real val="1"/>
</dia:attribute>
<dia:attribute name="fitto">
<dia:boolean val="false"/>
</dia:attribute>
</dia:composite>
</dia:attribute>
<dia:attribute name="grid">
<dia:composite type="grid">
<dia:attribute name="width_x">
<dia:real val="0.50000000000000011"/>
</dia:attribute>
<dia:attribute name="width_y">
<dia:real val="0.50000000000000011"/>
</dia:attribute>
<dia:attribute name="visible_x">
<dia:int val="1"/>
</dia:attribute>
<dia:attribute name="visible_y">
<dia:int val="1"/>
</dia:attribute>
<dia:composite type="color"/>
</dia:composite>
</dia:attribute>
<dia:attribute name="color">
<dia:color val="#d8e5e5"/>
</dia:attribute>
<dia:attribute name="guides">
<dia:composite type="guides">
<dia:attribute name="hguides"/>
<dia:attribute name="vguides"/>
</dia:composite>
</dia:attribute>
</dia:diagramdata>
<dia:layer name="Background" visible="true" active="true">
<dia:object type="Flowchart - Box" version="0" id="O0">
<dia:attribute name="obj_pos">
<dia:point val="7.795,2.8075"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="7.745,2.7575;19.845,23.3575"/>
</dia:attribute>
<dia:attribute name="elem_corner">
<dia:point val="7.795,2.8075"/>
</dia:attribute>
<dia:attribute name="elem_width">
<dia:real val="12"/>
</dia:attribute>
<dia:attribute name="elem_height">
<dia:real val="20.5"/>
</dia:attribute>
<dia:attribute name="border_width">
<dia:real val="0.10000000149011612"/>
</dia:attribute>
<dia:attribute name="inner_color">
<dia:color val="#eaeeff"/>
</dia:attribute>
<dia:attribute name="show_background">
<dia:boolean val="true"/>
</dia:attribute>
<dia:attribute name="padding">
<dia:real val="0.5"/>
</dia:attribute>
<dia:attribute name="text">
<dia:composite type="text">
<dia:attribute name="string">
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="font">
<dia:font family="sans" style="0" name="Helvetica"/>
</dia:attribute>
<dia:attribute name="height">
<dia:real val="0.80000000000000004"/>
</dia:attribute>
<dia:attribute name="pos">
<dia:point val="13.795,13.2525"/>
</dia:attribute>
<dia:attribute name="color">
<dia:color val="#000000"/>
</dia:attribute>
<dia:attribute name="alignment">
<dia:enum val="1"/>
</dia:attribute>
</dia:composite>
</dia:attribute>
</dia:object>
<dia:object type="Flowchart - Box" version="0" id="O1">
<dia:attribute name="obj_pos">
<dia:point val="20.795,2.8075"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="20.745,2.7575;33.845,16.8575"/>
</dia:attribute>
<dia:attribute name="elem_corner">
<dia:point val="20.795,2.8075"/>
</dia:attribute>
<dia:attribute name="elem_width">
<dia:real val="13"/>
</dia:attribute>
<dia:attribute name="elem_height">
<dia:real val="14.000000000000004"/>
</dia:attribute>
<dia:attribute name="border_width">
<dia:real val="0.10000000149011612"/>
</dia:attribute>
<dia:attribute name="inner_color">
<dia:color val="#fae9e9"/>
</dia:attribute>
<dia:attribute name="show_background">
<dia:boolean val="true"/>
</dia:attribute>
<dia:attribute name="padding">
<dia:real val="0.5"/>
</dia:attribute>
<dia:attribute name="text">
<dia:composite type="text">
<dia:attribute name="string">
<dia:string>##</dia:string>
</dia:attribute>
<dia:attribute name="font">
<dia:font family="sans" style="0" name="Helvetica"/>
</dia:attribute>
<dia:attribute name="height">
<dia:real val="0.80000000000000004"/>
</dia:attribute>
<dia:attribute name="pos">
<dia:point val="27.295,10.0025"/>
</dia:attribute>
<dia:attribute name="color">
<dia:color val="#000000"/>
</dia:attribute>
<dia:attribute name="alignment">
<dia:enum val="1"/>
</dia:attribute>
</dia:composite>
</dia:attribute>
</dia:object>
<dia:object type="Flowchart - Box" version="0" id="O2">
<dia:attribute name="obj_pos">
<dia:point val="2.795,3.8075"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="2.745,3.7575;8.845,6.8575"/>
</dia:attribute>
<dia:attribute name="elem_corner">
<dia:point val="2.795,3.8075"/>
</dia:attribute>
<dia:attribute name="elem_width">
<dia:real val="6"/>
</dia:attribute>
<dia:attribute name="elem_height">
<dia:real val="3"/>
</dia:attribute>
<dia:attribute name="show_background">
<dia:boolean val="true"/>
</dia:attribute>
<dia:attribute name="padding">
<dia:real val="0.5"/>
</dia:attribute>
<dia:attribute name="text">
<dia:composite type="text">
<dia:attribute name="string">
<dia:string>#interface
initialization#</dia:string>
</dia:attribute>
<dia:attribute name="font">
<dia:font family="sans" style="0" name="Helvetica"/>
</dia:attribute>
<dia:attribute name="height">
<dia:real val="0.80000000000000004"/>
</dia:attribute>
<dia:attribute name="pos">
<dia:point val="5.795,5.1025"/>
</dia:attribute>
<dia:attribute name="color">
<dia:color val="#000000"/>
</dia:attribute>
<dia:attribute name="alignment">
<dia:enum val="1"/>
</dia:attribute>
</dia:composite>
</dia:attribute>
</dia:object>
<dia:object type="Flowchart - Box" version="0" id="O3">
<dia:attribute name="obj_pos">
<dia:point val="10.295,4.3075"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="10.245,4.2575;17.345,6.2575"/>
</dia:attribute>
<dia:attribute name="elem_corner">
<dia:point val="10.295,4.3075"/>
</dia:attribute>
<dia:attribute name="elem_width">
<dia:real val="7"/>
</dia:attribute>
<dia:attribute name="elem_height">
<dia:real val="1.9000000000000001"/>
</dia:attribute>
<dia:attribute name="show_background">
<dia:boolean val="true"/>
</dia:attribute>
<dia:attribute name="padding">
<dia:real val="0.5"/>
</dia:attribute>
<dia:attribute name="text">
<dia:composite type="text">
<dia:attribute name="string">
<dia:string>#Capabilities#</dia:string>
</dia:attribute>
<dia:attribute name="font">
<dia:font family="sans" style="0" name="Helvetica"/>
</dia:attribute>
<dia:attribute name="height">
<dia:real val="0.80000000000000004"/>
</dia:attribute>
<dia:attribute name="pos">
<dia:point val="13.795,5.4525"/>
</dia:attribute>
<dia:attribute name="color">
<dia:color val="#000000"/>
</dia:attribute>
<dia:attribute name="alignment">
<dia:enum val="1"/>
</dia:attribute>
</dia:composite>
</dia:attribute>
</dia:object>
<dia:object type="Flowchart - Box" version="0" id="O4">
<dia:attribute name="obj_pos">
<dia:point val="10.295,7.3075"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="10.245,7.2575;17.345,9.2575"/>
</dia:attribute>
<dia:attribute name="elem_corner">
<dia:point val="10.295,7.3075"/>
</dia:attribute>
<dia:attribute name="elem_width">
<dia:real val="7"/>
</dia:attribute>
<dia:attribute name="elem_height">
<dia:real val="1.9000000000000001"/>
</dia:attribute>
<dia:attribute name="show_background">
<dia:boolean val="true"/>
</dia:attribute>
<dia:attribute name="padding">
<dia:real val="0.5"/>
</dia:attribute>
<dia:attribute name="text">
<dia:composite type="text">
<dia:attribute name="string">
<dia:string>#Manufacturer#</dia:string>
</dia:attribute>
<dia:attribute name="font">
<dia:font family="sans" style="0" name="Helvetica"/>
</dia:attribute>
<dia:attribute name="height">
<dia:real val="0.80000000000000004"/>
</dia:attribute>
<dia:attribute name="pos">
<dia:point val="13.795,8.4525"/>
</dia:attribute>
<dia:attribute name="color">
<dia:color val="#000000"/>
</dia:attribute>
<dia:attribute name="alignment">
<dia:enum val="1"/>
</dia:attribute>
</dia:composite>
</dia:attribute>
</dia:object>
<dia:object type="Flowchart - Box" version="0" id="O5">
<dia:attribute name="obj_pos">
<dia:point val="10.295,10.3075"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="10.245,10.2575;17.345,12.2575"/>
</dia:attribute>
<dia:attribute name="elem_corner">
<dia:point val="10.295,10.3075"/>
</dia:attribute>
<dia:attribute name="elem_width">
<dia:real val="7"/>
</dia:attribute>
<dia:attribute name="elem_height">
<dia:real val="1.9000000000000001"/>
</dia:attribute>
<dia:attribute name="show_background">
<dia:boolean val="true"/>
</dia:attribute>
<dia:attribute name="padding">
<dia:real val="0.5"/>
</dia:attribute>
<dia:attribute name="text">
<dia:composite type="text">
<dia:attribute name="string">
<dia:string>#Model#</dia:string>
</dia:attribute>
<dia:attribute name="font">
<dia:font family="sans" style="0" name="Helvetica"/>
</dia:attribute>
<dia:attribute name="height">
<dia:real val="0.80000000000000004"/>
</dia:attribute>
<dia:attribute name="pos">
<dia:point val="13.795,11.4525"/>
</dia:attribute>
<dia:attribute name="color">
<dia:color val="#000000"/>
</dia:attribute>
<dia:attribute name="alignment">
<dia:enum val="1"/>
</dia:attribute>
</dia:composite>
</dia:attribute>
</dia:object>
<dia:object type="Flowchart - Box" version="0" id="O6">
<dia:attribute name="obj_pos">
<dia:point val="10.295,13.3075"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="10.245,13.2575;17.345,15.2575"/>
</dia:attribute>
<dia:attribute name="elem_corner">
<dia:point val="10.295,13.3075"/>
</dia:attribute>
<dia:attribute name="elem_width">
<dia:real val="7"/>
</dia:attribute>
<dia:attribute name="elem_height">
<dia:real val="1.9000000000000001"/>
</dia:attribute>
<dia:attribute name="show_background">
<dia:boolean val="true"/>
</dia:attribute>
<dia:attribute name="padding">
<dia:real val="0.5"/>
</dia:attribute>
<dia:attribute name="text">
<dia:composite type="text">
<dia:attribute name="string">
<dia:string>#Revision#</dia:string>
</dia:attribute>
<dia:attribute name="font">
<dia:font family="sans" style="0" name="Helvetica"/>
</dia:attribute>
<dia:attribute name="height">
<dia:real val="0.80000000000000004"/>
</dia:attribute>
<dia:attribute name="pos">
<dia:point val="13.795,14.4525"/>
</dia:attribute>
<dia:attribute name="color">
<dia:color val="#000000"/>
</dia:attribute>
<dia:attribute name="alignment">
<dia:enum val="1"/>
</dia:attribute>
</dia:composite>
</dia:attribute>
</dia:object>
<dia:object type="Flowchart - Box" version="0" id="O7">
<dia:attribute name="obj_pos">
<dia:point val="8.9075,18.9075"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="8.8575,18.8575;18.7325,22.3575"/>
</dia:attribute>
<dia:attribute name="elem_corner">
<dia:point val="8.9075,18.9075"/>
</dia:attribute>
<dia:attribute name="elem_width">
<dia:real val="9.7750000000000004"/>
</dia:attribute>
<dia:attribute name="elem_height">
<dia:real val="3.3999999999999986"/>
</dia:attribute>
<dia:attribute name="show_background">
<dia:boolean val="true"/>
</dia:attribute>
<dia:attribute name="padding">
<dia:real val="0.5"/>
</dia:attribute>
<dia:attribute name="text">
<dia:composite type="text">
<dia:attribute name="string">
<dia:string>#Last step:
export interface#</dia:string>
</dia:attribute>
<dia:attribute name="font">
<dia:font family="sans" style="0" name="Helvetica"/>
</dia:attribute>
<dia:attribute name="height">
<dia:real val="0.80000000000000004"/>
</dia:attribute>
<dia:attribute name="pos">
<dia:point val="13.795,20.4025"/>
</dia:attribute>
<dia:attribute name="color">
<dia:color val="#000000"/>
</dia:attribute>
<dia:attribute name="alignment">
<dia:enum val="1"/>
</dia:attribute>
</dia:composite>
</dia:attribute>
</dia:object>
<dia:object type="Flowchart - Box" version="0" id="O8">
<dia:attribute name="obj_pos">
<dia:point val="21.795,4.3075"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="21.745,4.2575;32.845,6.2575"/>
</dia:attribute>
<dia:attribute name="elem_corner">
<dia:point val="21.795,4.3075"/>
</dia:attribute>
<dia:attribute name="elem_width">
<dia:real val="11"/>
</dia:attribute>
<dia:attribute name="elem_height">
<dia:real val="1.9000000000000001"/>
</dia:attribute>
<dia:attribute name="show_background">
<dia:boolean val="true"/>
</dia:attribute>
<dia:attribute name="padding">
<dia:real val="0.5"/>
</dia:attribute>
<dia:attribute name="text">
<dia:composite type="text">
<dia:attribute name="string">
<dia:string>#Generic capabilities loading#</dia:string>
</dia:attribute>
<dia:attribute name="font">
<dia:font family="sans" style="0" name="Helvetica"/>
</dia:attribute>
<dia:attribute name="height">
<dia:real val="0.80000000000000004"/>
</dia:attribute>
<dia:attribute name="pos">
<dia:point val="27.295,5.4525"/>
</dia:attribute>
<dia:attribute name="color">
<dia:color val="#000000"/>
</dia:attribute>
<dia:attribute name="alignment">
<dia:enum val="1"/>
</dia:attribute>
</dia:composite>
</dia:attribute>
</dia:object>
<dia:object type="Flowchart - Box" version="0" id="O9">
<dia:attribute name="obj_pos">
<dia:point val="21.795,7.3075"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="21.745,7.2575;32.845,9.2575"/>
</dia:attribute>
<dia:attribute name="elem_corner">
<dia:point val="21.795,7.3075"/>
</dia:attribute>
<dia:attribute name="elem_width">
<dia:real val="11"/>
</dia:attribute>
<dia:attribute name="elem_height">
<dia:real val="1.9000000000000001"/>
</dia:attribute>
<dia:attribute name="show_background">
<dia:boolean val="true"/>
</dia:attribute>
<dia:attribute name="padding">
<dia:real val="0.5"/>
</dia:attribute>
<dia:attribute name="text">
<dia:composite type="text">
<dia:attribute name="string">
<dia:string>#Generic manufacturer loading#</dia:string>
</dia:attribute>
<dia:attribute name="font">
<dia:font family="sans" style="0" name="Helvetica"/>
</dia:attribute>
<dia:attribute name="height">
<dia:real val="0.80000000000000004"/>
</dia:attribute>
<dia:attribute name="pos">
<dia:point val="27.295,8.4525"/>
</dia:attribute>
<dia:attribute name="color">
<dia:color val="#000000"/>
</dia:attribute>
<dia:attribute name="alignment">
<dia:enum val="1"/>
</dia:attribute>
</dia:composite>
</dia:attribute>
</dia:object>
<dia:object type="Flowchart - Box" version="0" id="O10">
<dia:attribute name="obj_pos">
<dia:point val="21.795,10.3075"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="21.745,10.2575;32.845,12.2575"/>
</dia:attribute>
<dia:attribute name="elem_corner">
<dia:point val="21.795,10.3075"/>
</dia:attribute>
<dia:attribute name="elem_width">
<dia:real val="11"/>
</dia:attribute>
<dia:attribute name="elem_height">
<dia:real val="1.9000000000000001"/>
</dia:attribute>
<dia:attribute name="show_background">
<dia:boolean val="true"/>
</dia:attribute>
<dia:attribute name="padding">
<dia:real val="0.5"/>
</dia:attribute>
<dia:attribute name="text">
<dia:composite type="text">
<dia:attribute name="string">
<dia:string>#Generic model loading#</dia:string>
</dia:attribute>
<dia:attribute name="font">
<dia:font family="sans" style="0" name="Helvetica"/>
</dia:attribute>
<dia:attribute name="height">
<dia:real val="0.80000000000000004"/>
</dia:attribute>
<dia:attribute name="pos">
<dia:point val="27.295,11.4525"/>
</dia:attribute>
<dia:attribute name="color">
<dia:color val="#000000"/>
</dia:attribute>
<dia:attribute name="alignment">
<dia:enum val="1"/>
</dia:attribute>
</dia:composite>
</dia:attribute>
</dia:object>
<dia:object type="Flowchart - Box" version="0" id="O11">
<dia:attribute name="obj_pos">
<dia:point val="21.795,13.3075"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="21.745,13.2575;32.845,15.2575"/>
</dia:attribute>
<dia:attribute name="elem_corner">
<dia:point val="21.795,13.3075"/>
</dia:attribute>
<dia:attribute name="elem_width">
<dia:real val="11"/>
</dia:attribute>
<dia:attribute name="elem_height">
<dia:real val="1.9000000000000001"/>
</dia:attribute>
<dia:attribute name="show_background">
<dia:boolean val="true"/>
</dia:attribute>
<dia:attribute name="padding">
<dia:real val="0.5"/>
</dia:attribute>
<dia:attribute name="text">
<dia:composite type="text">
<dia:attribute name="string">
<dia:string>#Generic revision loading#</dia:string>
</dia:attribute>
<dia:attribute name="font">
<dia:font family="sans" style="0" name="Helvetica"/>
</dia:attribute>
<dia:attribute name="height">
<dia:real val="0.80000000000000004"/>
</dia:attribute>
<dia:attribute name="pos">
<dia:point val="27.295,14.4525"/>
</dia:attribute>
<dia:attribute name="color">
<dia:color val="#000000"/>
</dia:attribute>
<dia:attribute name="alignment">
<dia:enum val="1"/>
</dia:attribute>
</dia:composite>
</dia:attribute>
</dia:object>
<dia:object type="Standard - Line" version="0" id="O12">
<dia:attribute name="obj_pos">
<dia:point val="17.295,5.2575"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="17.245,4.8957;21.9068,5.6193"/>
</dia:attribute>
<dia:attribute name="conn_endpoints">
<dia:point val="17.295,5.2575"/>
<dia:point val="21.795,5.2575"/>
</dia:attribute>
<dia:attribute name="numcp">
<dia:int val="1"/>
</dia:attribute>
<dia:attribute name="line_style">
<dia:enum val="4"/>
</dia:attribute>
<dia:attribute name="end_arrow">
<dia:enum val="22"/>
</dia:attribute>
<dia:attribute name="end_arrow_length">
<dia:real val="0.5"/>
</dia:attribute>
<dia:attribute name="end_arrow_width">
<dia:real val="0.5"/>
</dia:attribute>
<dia:connections>
<dia:connection handle="0" to="O3" connection="8"/>
<dia:connection handle="1" to="O8" connection="7"/>
</dia:connections>
</dia:object>
<dia:object type="Standard - Line" version="0" id="O13">
<dia:attribute name="obj_pos">
<dia:point val="17.295,11.2575"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="17.245,10.8957;21.9068,11.6193"/>
</dia:attribute>
<dia:attribute name="conn_endpoints">
<dia:point val="17.295,11.2575"/>
<dia:point val="21.795,11.2575"/>
</dia:attribute>
<dia:attribute name="numcp">
<dia:int val="1"/>
</dia:attribute>
<dia:attribute name="line_style">
<dia:enum val="4"/>
</dia:attribute>
<dia:attribute name="end_arrow">
<dia:enum val="22"/>
</dia:attribute>
<dia:attribute name="end_arrow_length">
<dia:real val="0.5"/>
</dia:attribute>
<dia:attribute name="end_arrow_width">
<dia:real val="0.5"/>
</dia:attribute>
<dia:connections>
<dia:connection handle="0" to="O5" connection="8"/>
<dia:connection handle="1" to="O10" connection="7"/>
</dia:connections>
</dia:object>
<dia:object type="Standard - Line" version="0" id="O14">
<dia:attribute name="obj_pos">
<dia:point val="17.295,8.2575"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="17.245,7.8957;21.9068,8.6193"/>
</dia:attribute>
<dia:attribute name="conn_endpoints">
<dia:point val="17.295,8.2575"/>
<dia:point val="21.795,8.2575"/>
</dia:attribute>
<dia:attribute name="numcp">
<dia:int val="1"/>
</dia:attribute>
<dia:attribute name="line_style">
<dia:enum val="4"/>
</dia:attribute>
<dia:attribute name="end_arrow">
<dia:enum val="22"/>
</dia:attribute>
<dia:attribute name="end_arrow_length">
<dia:real val="0.5"/>
</dia:attribute>
<dia:attribute name="end_arrow_width">
<dia:real val="0.5"/>
</dia:attribute>
<dia:connections>
<dia:connection handle="0" to="O4" connection="8"/>
<dia:connection handle="1" to="O9" connection="7"/>
</dia:connections>
</dia:object>
<dia:object type="Standard - Line" version="0" id="O15">
<dia:attribute name="obj_pos">
<dia:point val="17.295,14.2575"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="17.245,13.8957;21.9068,14.6193"/>
</dia:attribute>
<dia:attribute name="conn_endpoints">
<dia:point val="17.295,14.2575"/>
<dia:point val="21.795,14.2575"/>
</dia:attribute>
<dia:attribute name="numcp">
<dia:int val="1"/>
</dia:attribute>
<dia:attribute name="line_style">
<dia:enum val="4"/>
</dia:attribute>
<dia:attribute name="end_arrow">
<dia:enum val="22"/>
</dia:attribute>
<dia:attribute name="end_arrow_length">
<dia:real val="0.5"/>
</dia:attribute>
<dia:attribute name="end_arrow_width">
<dia:real val="0.5"/>
</dia:attribute>
<dia:connections>
<dia:connection handle="0" to="O6" connection="8"/>
<dia:connection handle="1" to="O11" connection="7"/>
</dia:connections>
</dia:object>
<dia:object type="Standard - Line" version="0" id="O16">
<dia:attribute name="obj_pos">
<dia:point val="13.795,6.2075"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="13.4332,6.1575;14.1568,7.4193"/>
</dia:attribute>
<dia:attribute name="conn_endpoints">
<dia:point val="13.795,6.2075"/>
<dia:point val="13.795,7.3075"/>
</dia:attribute>
<dia:attribute name="numcp">
<dia:int val="1"/>
</dia:attribute>
<dia:attribute name="end_arrow">
<dia:enum val="22"/>
</dia:attribute>
<dia:attribute name="end_arrow_length">
<dia:real val="0.5"/>
</dia:attribute>
<dia:attribute name="end_arrow_width">
<dia:real val="0.5"/>
</dia:attribute>
<dia:connections>
<dia:connection handle="0" to="O3" connection="13"/>
<dia:connection handle="1" to="O4" connection="2"/>
</dia:connections>
</dia:object>
<dia:object type="Standard - Line" version="0" id="O17">
<dia:attribute name="obj_pos">
<dia:point val="13.795,9.2075"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="13.4332,9.1575;14.1568,10.4193"/>
</dia:attribute>
<dia:attribute name="conn_endpoints">
<dia:point val="13.795,9.2075"/>
<dia:point val="13.795,10.3075"/>
</dia:attribute>
<dia:attribute name="numcp">
<dia:int val="1"/>
</dia:attribute>
<dia:attribute name="end_arrow">
<dia:enum val="22"/>
</dia:attribute>
<dia:attribute name="end_arrow_length">
<dia:real val="0.5"/>
</dia:attribute>
<dia:attribute name="end_arrow_width">
<dia:real val="0.5"/>
</dia:attribute>
<dia:connections>
<dia:connection handle="0" to="O4" connection="13"/>
<dia:connection handle="1" to="O5" connection="2"/>
</dia:connections>
</dia:object>
<dia:object type="Standard - Line" version="0" id="O18">
<dia:attribute name="obj_pos">
<dia:point val="13.795,12.2075"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="13.4332,12.1575;14.1568,13.4193"/>
</dia:attribute>
<dia:attribute name="conn_endpoints">
<dia:point val="13.795,12.2075"/>
<dia:point val="13.795,13.3075"/>
</dia:attribute>
<dia:attribute name="numcp">
<dia:int val="1"/>
</dia:attribute>
<dia:attribute name="end_arrow">
<dia:enum val="22"/>
</dia:attribute>
<dia:attribute name="end_arrow_length">
<dia:real val="0.5"/>
</dia:attribute>
<dia:attribute name="end_arrow_width">
<dia:real val="0.5"/>
</dia:attribute>
<dia:connections>
<dia:connection handle="0" to="O5" connection="13"/>
<dia:connection handle="1" to="O6" connection="2"/>
</dia:connections>
</dia:object>
<dia:object type="Standard - Line" version="0" id="O19">
<dia:attribute name="obj_pos">
<dia:point val="13.795,15.2075"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="13.4332,15.1575;14.1568,19.0193"/>
</dia:attribute>
<dia:attribute name="conn_endpoints">
<dia:point val="13.795,15.2075"/>
<dia:point val="13.795,18.9075"/>
</dia:attribute>
<dia:attribute name="numcp">
<dia:int val="1"/>
</dia:attribute>
<dia:attribute name="end_arrow">
<dia:enum val="22"/>
</dia:attribute>
<dia:attribute name="end_arrow_length">
<dia:real val="0.5"/>
</dia:attribute>
<dia:attribute name="end_arrow_width">
<dia:real val="0.5"/>
</dia:attribute>
<dia:connections>
<dia:connection handle="0" to="O6" connection="13"/>
<dia:connection handle="1" to="O7" connection="2"/>
</dia:connections>
</dia:object>
<dia:object type="Flowchart - Box" version="0" id="O20">
<dia:attribute name="obj_pos">
<dia:point val="12.295,15.7481"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="12.245,15.6981;15.345,17.9169"/>
</dia:attribute>
<dia:attribute name="elem_corner">
<dia:point val="12.295,15.7481"/>
</dia:attribute>
<dia:attribute name="elem_width">
<dia:real val="3"/>
</dia:attribute>
<dia:attribute name="elem_height">
<dia:real val="2.1188222000437547"/>
</dia:attribute>
<dia:attribute name="border_width">
<dia:real val="0.10000000149011612"/>
</dia:attribute>
<dia:attribute name="show_background">
<dia:boolean val="true"/>
</dia:attribute>
<dia:attribute name="padding">
<dia:real val="0.5"/>
</dia:attribute>
<dia:attribute name="text">
<dia:composite type="text">
<dia:attribute name="string">
<dia:string>#...#</dia:string>
</dia:attribute>
<dia:attribute name="font">
<dia:font family="sans" style="0" name="Helvetica"/>
</dia:attribute>
<dia:attribute name="height">
<dia:real val="1.0188221985536385"/>
</dia:attribute>
<dia:attribute name="pos">
<dia:point val="13.795,17.0556"/>
</dia:attribute>
<dia:attribute name="color">
<dia:color val="#000000"/>
</dia:attribute>
<dia:attribute name="alignment">
<dia:enum val="1"/>
</dia:attribute>
</dia:composite>
</dia:attribute>
</dia:object>
<dia:object type="Standard - Text" version="1" id="O21">
<dia:attribute name="obj_pos">
<dia:point val="8.295,2.3075"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="8.295,1.495;16.0375,2.515"/>
</dia:attribute>
<dia:attribute name="text">
<dia:composite type="text">
<dia:attribute name="string">
<dia:string>#MMIfaceModem#</dia:string>
</dia:attribute>
<dia:attribute name="font">
<dia:font family="sans" style="80" name="Helvetica-Bold"/>
</dia:attribute>
<dia:attribute name="height">
<dia:real val="1.0929055457761345"/>
</dia:attribute>
<dia:attribute name="pos">
<dia:point val="8.295,2.3075"/>
</dia:attribute>
<dia:attribute name="color">
<dia:color val="#000000"/>
</dia:attribute>
<dia:attribute name="alignment">
<dia:enum val="0"/>
</dia:attribute>
</dia:composite>
</dia:attribute>
<dia:attribute name="valign">
<dia:enum val="3"/>
</dia:attribute>
</dia:object>
<dia:object type="Standard - Line" version="0" id="O22">
<dia:attribute name="obj_pos">
<dia:point val="8.795,5.3075"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="8.74336,4.91628;10.4067,5.63948"/>
</dia:attribute>
<dia:attribute name="conn_endpoints">
<dia:point val="8.795,5.3075"/>
<dia:point val="10.295,5.2575"/>
</dia:attribute>
<dia:attribute name="numcp">
<dia:int val="1"/>
</dia:attribute>
<dia:attribute name="end_arrow">
<dia:enum val="22"/>
</dia:attribute>
<dia:attribute name="end_arrow_length">
<dia:real val="0.5"/>
</dia:attribute>
<dia:attribute name="end_arrow_width">
<dia:real val="0.5"/>
</dia:attribute>
<dia:connections>
<dia:connection handle="0" to="O2" connection="8"/>
<dia:connection handle="1" to="O3" connection="7"/>
</dia:connections>
</dia:object>
<dia:object type="Standard - Text" version="1" id="O23">
<dia:attribute name="obj_pos">
<dia:point val="21.295,2.3075"/>
</dia:attribute>
<dia:attribute name="obj_bb">
<dia:rectangle val="21.295,1.495;32.0075,2.515"/>
</dia:attribute>
<dia:attribute name="text">
<dia:composite type="text">
<dia:attribute name="string">
<dia:string>#MMBroadbandModem#</dia:string>
</dia:attribute>
<dia:attribute name="font">
<dia:font family="sans" style="80" name="Helvetica-Bold"/>
</dia:attribute>
<dia:attribute name="height">
<dia:real val="1.0929055457761345"/>
</dia:attribute>
<dia:attribute name="pos">
<dia:point val="21.295,2.3075"/>
</dia:attribute>
<dia:attribute name="color">
<dia:color val="#000000"/>
</dia:attribute>
<dia:attribute name="alignment">
<dia:enum val="0"/>
</dia:attribute>
</dia:composite>
</dia:attribute>
<dia:attribute name="valign">
<dia:enum val="3"/>
</dia:attribute>
</dia:object>
</dia:layer>
</dia:diagram>

View File

@@ -433,7 +433,7 @@ mm_plugin_create (void)
</para>
<itemizedlist>
<listitem>
<emphasis>Modem interface initialization</emphasis>
<para><emphasis>Modem interface initialization</emphasis></para>
<para>
The <link linkend="gdbus-org.freedesktop.ModemManager1.Modem">Modem interface</link>
provides common actions and information available in the majority of the modems
@@ -639,6 +639,55 @@ mm_plugin_create (void)
</itemizedlist>
</section>
</chapter>
<chapter id="ref-overview-plugin-specific-modems">
<title>Plugin-specific Modems</title>
<para>
ModemManager plugins exist in order to handle all non-standard vendor-specific behaviour
that needs to get supported.
</para>
<para>
Plugins will provide their own Modem object implementations, usually subclassing the
generic <structname>MMBroadbandModem</structname> object. As previously explained, this
object implements every interface that may be exported by the Modem object in DBus; and
then, depending on the per-interface support checks, the interface will end up being
really exported or not.
</para>
<para>
Each interface defines every step to be run during the initialization, enabling or
disabling sequences. Then, the object implementing the interface may or may not provide
the implementation of such step. By default, the generic
<structname>MMBroadbandModem</structname> object implements already most of the steps
in the interfaces providing common features:
</para>
<figure id="mm-modemmanager-interface-initialization-sequence">
<title>Modem interface initialization sequence</title>
<graphic fileref="ModemManager-interface-initialization-sequence.png" format="PNG"></graphic>
</figure>
<para>
Vendor-specific subclasses of <structname>MMBroadbandModem</structname> are then able to
either provide their own implementation of a given step (in the image below, a custom
implementation for capabilities checking); or even completely disable the step if they
know that there is no way to run it (in the image below, revision string loading is
removed).
</para>
<figure id="mm-modemmanager-interface-initialization-sequence-subclassed">
<title>Modem interface initialization sequence subclassed</title>
<graphic fileref="ModemManager-interface-initialization-sequence-subclassed.png" format="PNG"></graphic>
</figure>
<para>
These subclass-able steps are all implemented as standard GIO asynchronous functions,
so subclassing a step involves implementing both the async method which receives the
input arguments to the action and the corresponding <literal>_finish()</literal> method
which provides the results of the action once the operation is ready.
</para>
<para>
It is worth noting that these steps and the asynchronous methods implementing them
don't assume that an AT port will be used to implement the real action. This means
that any other kind of port may be really used (e.g. QCDM or QMI) in the implementation,
or even that a static reply can be returned (e.g. Iridium modems will always report
"Iridium" as current OperatorName).
</para>
</chapter>
</part>