Add a diagram showing the relationship between various

parts of QCA.

svn path=/trunk/kdesupport/qca/; revision=706171
This commit is contained in:
Brad Hards 2007-08-29 15:58:39 +00:00
parent 92118dd014
commit 954265c872
5 changed files with 5202 additions and 1 deletions

View File

@ -566,7 +566,7 @@ EXAMPLE_RECURSIVE = NO
# directories that contain image that are included in the documentation (see
# the \image command).
IMAGE_PATH =
IMAGE_PATH = images
# The INPUT_FILTER tag can be used to specify a program that doxygen should
# invoke to filter for each input file. Doxygen will invoke the filter program

View File

@ -129,6 +129,20 @@
for authentication, your situation may be more suited to using
Kerberos than SASL or TLS).
\subsection intro-design Design
The architecture of %QCA is shown below:
\image html qca-arch.png "QCA Architecture"
\image latex qca-arch.eps "QCA Architecture"
Application authors normally only need to use the User API. The
provider API is available for plugin authors, but can also
be used by application authors to provide very specific capabilities.
For more information on the design of %QCA, you might like to review
the \ref architecture description.
\section availability Availability
\subsection qca2code Current development

4874
images/qca-arch.eps Normal file

File diff suppressed because it is too large Load Diff

BIN
images/qca-arch.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

313
images/qca-arch.svg Normal file
View File

@ -0,0 +1,313 @@
<?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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="744.09448819"
height="1052.3622047"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.45.1"
sodipodi:docbase="/home/bradh"
sodipodi:docname="qca-arch.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs4">
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow2Lend"
style="overflow:visible;">
<path
id="path11975"
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
transform="scale(1.1) rotate(180) translate(1,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Lstart"
orient="auto"
refY="0.0"
refX="0.0"
id="Arrow2Lstart"
style="overflow:visible">
<path
id="path11972"
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
transform="scale(1.1) translate(1,0)" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
gridtolerance="10000"
guidetolerance="10"
objecttolerance="10"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.3492222"
inkscape:cx="475.84893"
inkscape:cy="507.33883"
inkscape:document-units="px"
inkscape:current-layer="layer1"
inkscape:window-width="1280"
inkscape:window-height="729"
inkscape:window-x="0"
inkscape:window-y="0" />
<metadata
id="metadata7">
<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
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<rect
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
id="rect2160"
width="168.69115"
height="233.32437"
x="286.70642"
y="429.78156" />
<rect
style="fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect3134"
width="185.59149"
height="29.423277"
x="503.70898"
y="434.30725" />
<text
xml:space="preserve"
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="368.11102"
y="497.88052"
id="text4105"><tspan
sodipodi:role="line"
id="tspan4107"
x="368.11102"
y="497.88052">Core QCA library</tspan><tspan
sodipodi:role="line"
x="368.11102"
y="512.88052"
id="tspan4117">(libqca)</tspan></text>
<text
xml:space="preserve"
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="587.36017"
y="452.32239"
id="text7034"><tspan
sodipodi:role="line"
id="tspan7036"
x="587.36017"
y="452.32239">GnuPG-based plugin</tspan></text>
<rect
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.87437826px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="rect7044"
width="168.88092"
height="157.35104"
x="69.640457"
y="429.9487" />
<text
xml:space="preserve"
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="115.46945"
y="471.40652"
id="text7064"><tspan
sodipodi:role="line"
id="tspan7066"
x="115.46945"
y="471.40652">Application</tspan></text>
<rect
style="fill:none;stroke:#000000;stroke-width:0.9484126;stroke-opacity:1"
id="rect7068"
width="168.81155"
height="42.521194"
x="69.672821"
y="587.35339" />
<text
xml:space="preserve"
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="151.22769"
y="606.68561"
id="text7070"><tspan
sodipodi:role="line"
id="tspan7072"
x="151.22769"
y="606.68561">Client-side provider</tspan><tspan
sodipodi:role="line"
x="151.22769"
y="621.68561"
id="tspan7074">(if used)</tspan></text>
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow2Lstart);marker-end:url(#Arrow2Lend);stroke-opacity:1"
d="M 501.70806,449.88179 C 457.68495,449.88179 457.68495,449.88179 457.68495,449.88179"
id="path10980" />
<rect
style="fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect7076"
width="184.11676"
height="29.43088"
x="503.70898"
y="480.47388" />
<text
xml:space="preserve"
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="589.71906"
y="496.26929"
id="text7078"><tspan
sodipodi:role="line"
id="tspan7080"
x="589.71906"
y="496.26929">OpenSSL-based plugin</tspan></text>
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow2Lstart);marker-end:url(#Arrow2Lend);stroke-opacity:1"
d="M 501.70806,496.03305 C 457.68495,496.03305 457.68495,496.03305 457.68495,496.03305"
id="path12151" />
<rect
style="fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect7082"
width="184.85413"
height="29.427074"
x="503.70898"
y="529.39282" />
<text
xml:space="preserve"
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="591.20135"
y="544.44519"
id="text7084"><tspan
sodipodi:role="line"
id="tspan7086"
x="591.20135"
y="544.44519">Smartcard (PKCS-11) plugin</tspan></text>
<rect
style="fill:none;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect8067"
width="184.11676"
height="29.43088"
x="514.92169"
y="599.1095" />
<rect
style="fill:#ffffff;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect7094"
width="184.11676"
height="29.43088"
x="508.84338"
y="592.2049" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow2Lstart);marker-end:url(#Arrow2Lend);stroke-opacity:1"
d="M 501.70806,542.67659 C 457.68495,542.67659 457.68495,542.67659 457.68495,542.67659"
id="path12153" />
<rect
style="fill:#ffffff;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect7088"
width="184.11676"
height="29.43088"
x="503.70898"
y="584.23737" />
<text
xml:space="preserve"
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="589.34845"
y="600.03278"
id="text7090"><tspan
sodipodi:role="line"
id="tspan7092"
x="589.34845"
y="600.03278">Other plugins</tspan></text>
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow2Lstart);marker-end:url(#Arrow2Lend);stroke-opacity:1"
d="M 501.70806,598.75366 C 457.68495,598.75366 457.68495,598.75366 457.68495,598.75366"
id="path12155" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.03144789px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow2Lstart);marker-end:url(#Arrow2Lend);stroke-opacity:1"
d="M 286.07811,482.68206 C 239.0548,482.68206 239.0548,482.68206 239.0548,482.68206"
id="path12157" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.03144789px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow2Lstart);marker-end:url(#Arrow2Lend);stroke-opacity:1"
d="M 286.07811,607.93831 C 239.0548,607.93831 239.0548,607.93831 239.0548,607.93831"
id="path13130" />
<text
xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="-536.06805"
y="484.35336"
id="text13137"
transform="matrix(0,-1,1,0,0,0)"><tspan
sodipodi:role="line"
id="tspan13139"
x="-536.06805"
y="484.35336">---------Provider API---------</tspan></text>
<text
xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="558.77972"
y="-257.89087"
id="text13141"
transform="matrix(0,1,-1,0,0,0)"><tspan
sodipodi:role="line"
id="tspan13143"
x="558.77972"
y="-257.89087">Provider API</tspan></text>
<text
xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;fill:#00ff00;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="443.15756"
y="-257.14972"
id="text15083"
transform="matrix(0,1,-1,0,0,0)"><tspan
sodipodi:role="line"
id="tspan15085"
x="443.15756"
y="-257.14972">User API</tspan></text>
<rect
style="fill:#ffffff;stroke:#000000;stroke-width:1.55542469;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect15087"
width="109.70339"
height="29.875454"
x="311.65579"
y="618.66467" />
<text
xml:space="preserve"
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="317.21982"
y="635.82587"
id="text15089"><tspan
sodipodi:role="line"
id="tspan15091"
x="317.21982"
y="635.82587">Internal Provider</tspan></text>
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.87666082px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow2Lstart);marker-end:url(#Arrow2Lend);stroke-opacity:1"
d="M 366.87805,584.8962 C 366.87805,618.38061 366.87805,618.38061 366.87805,618.38061"
id="path15093" />
<text
xml:space="preserve"
style="font-size:16px;font-style:normal;font-weight:normal;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
x="366.72021"
y="603.25006"
id="text15095"><tspan
sodipodi:role="line"
id="tspan15097"
x="366.72021"
y="603.25006"
style="font-size:10px;text-align:center;text-anchor:middle">Provider API</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB