ultimatepp/bazaar/Functions4U/src.tpp/StaticPlugin_en-us.tpp
koldo 8937e52d00 Functions4U: Added FindAdd
git-svn-id: svn://ultimatepp.org/upp/trunk@12949 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2019-04-05 07:08:26 +00:00

57 lines
No EOL
13 KiB
C++

topic "StaticPlugin";
[l288;2 $$1,0#27521748481378242620020725143825:desc]
[H6;0 $$2,0#05600065144404261032431302351956:begin]
[i448;a25;kKO9;2 $$3,0#37138531426314131252341829483370:codeitem]
[0 $$4,0#96390100711032703541132217272105:end]
[ $$0,0#00000000000000000000000000000000:Default]
[{_}%EN-US
[ {{10000@(113.42.0) [s0; [*@7;4 Functions4U Reference. StaticPlugin]]}}&]
[s0;*@3;4 &]
[s0;# [2 Sometimes it is necessary to access files, devices or other
services through an API that hides a lower level layer from different
sources.]&]
[s0;#2 &]
[s0;# [2 If this lower level source is known at compile time, these
API could be implemented using virtual functions.]&]
[s0;#2 &]
[s0;# [2 However if the plugin has to be defined at run time, StaticPlugin
can help. This will be explained with an example:]&]
[s0;#2 &]
[s0;# [2 There is a StaticPlugin demo in Functions4U`_Demo package.
It is a dummy API to access spreadsheet files using OpenOffice
Calc or Microsoft Excel. This is the class diagram:]&]
[s0;#2 &]
[s0;= [2
@@image:2093&1525
(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)
]&]
[s0;#2 &]
[s0;# [2 SpreadsheetAPI class includes just the API list of functions]&]
[s0;#2 &]
[s0;# [2 Spreadsheet class implements the by default API that usually
it is just a stub. However this is the class really used in the
programs. Once called PluginInit(), this class will call the
right API low level function.]&]
[s0;#2 &]
[s0;# [2 OpenSpreasheet and ExcelSpreadsheet include the low level
API and related private methods and variables.]&]
[s0;#2 &]
[s0;#2 &]
[s0;# [2 In addition to this sample, StaticPlugin is used in ][^topic`:`/`/OfficeAutomation`/srcdoc`/OfficeAutomation`$en`-us^2 O
fficeAutomation][2 to choose between Open/LibreOffice and Microsoft
Office to access spreadsheets and wordprocessing files.]&]
[s0;2 &]
[s0;2 &]
[ {{10000@1 [s0; [*2 StaticPlugin functions]]}}&]
[s2;2%- &]
[s3;:PluginRegister`(a`, b`, c`):%- [* PluginRegister]([*@3 User`_class],
[*@3 Low`_level`_class, name])&]
[s1;%- Registers [*@3 Low`_level`_class] with [*@3 name] as a class that
implements API in [*@3 User`_class. ]&]
[s4;%- &]
[s2;%- &]
[s3;:PluginInit`(a`, b`):%- [* PluginInit]([*@3 API`_var], [*@3 name])&]
[s1; Initializes [%-*@3 API`_var] (that has been declared as [%-*@3 User`_class])
with [%-*@3 Low`_level`_class] of name [%-*@3 name].&]
[s4; &]
[s0; ]]