comparison code-doc/plugguard_8h.html @ 50:8260c0f4e05b website

Update code docs for 2.3
author cannam
date Tue, 04 Oct 2011 13:47:23 +0000
parents 0976232e353b
children
comparison
equal deleted inserted replaced
49:f75f330aa130 50:8260c0f4e05b
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
3 <title>VampPluginSDK: plugguard.h File Reference</title> 5 <title>VampPluginSDK: plugguard.h File Reference</title>
4 <link href="tabs.css" rel="stylesheet" type="text/css"> 6
5 <link href="doxygen.css" rel="stylesheet" type="text/css"> 7 <link href="tabs.css" rel="stylesheet" type="text/css"/>
6 </head><body> 8 <link href="doxygen.css" rel="stylesheet" type="text/css" />
7 <!-- Generated by Doxygen 1.5.8 --> 9 <link href="navtree.css" rel="stylesheet" type="text/css"/>
8 <div class="navigation" id="top"> 10 <script type="text/javascript" src="jquery.js"></script>
9 <div class="tabs"> 11 <script type="text/javascript" src="resize.js"></script>
10 <ul> 12 <script type="text/javascript" src="navtree.js"></script>
11 <li><a href="main.html"><span>Main&nbsp;Page</span></a></li> 13 <script type="text/javascript">
14 $(document).ready(initResizable);
15 </script>
16
17
18 </head>
19 <body>
20 <div id="top"><!-- do not remove this div! -->
21
22
23 <div id="titlearea">
24 <table cellspacing="0" cellpadding="0">
25 <tbody>
26 <tr style="height: 56px;">
27
28
29 <td style="padding-left: 0.5em;">
30 <div id="projectname">VampPluginSDK
31 &#160;<span id="projectnumber">2.1</span>
32 </div>
33
34 </td>
35
36
37
38 </tr>
39 </tbody>
40 </table>
41 </div>
42
43 <!-- Generated by Doxygen 1.7.5.1 -->
44 <div id="navrow1" class="tabs">
45 <ul class="tablist">
46 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
12 <li><a href="namespaces.html"><span>Namespaces</span></a></li> 47 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
13 <li><a href="annotated.html"><span>Classes</span></a></li> 48 <li><a href="annotated.html"><span>Classes</span></a></li>
14 <li class="current"><a href="files.html"><span>Files</span></a></li> 49 <li class="current"><a href="files.html"><span>Files</span></a></li>
15 <li><a href="dirs.html"><span>Directories</span></a></li> 50 <li><a href="dirs.html"><span>Directories</span></a></li>
16 </ul> 51 </ul>
17 </div> 52 </div>
18 <div class="tabs"> 53 <div id="navrow2" class="tabs2">
19 <ul> 54 <ul class="tablist">
20 <li><a href="files.html"><span>File&nbsp;List</span></a></li> 55 <li><a href="files.html"><span>File&#160;List</span></a></li>
21 <li><a href="globals.html"><span>File&nbsp;Members</span></a></li> 56 <li><a href="globals.html"><span>File&#160;Members</span></a></li>
22 </ul> 57 </ul>
23 </div> 58 </div>
24 <div class="navpath"><a class="el" href="dir_5b77fce4b90561041d958141b45c7c55.html">vamp-sdk</a> 59 </div>
60 <div id="side-nav" class="ui-resizable side-nav-resizable">
61 <div id="nav-tree">
62 <div id="nav-tree-contents">
63 </div>
64 </div>
65 <div id="splitbar" style="-moz-user-select:none;"
66 class="ui-resizable-handle">
25 </div> 67 </div>
26 </div> 68 </div>
69 <script type="text/javascript">
70 initNavTree('plugguard_8h.html','');
71 </script>
72 <div id="doc-content">
73 <div class="header">
74 <div class="summary">
75 <a href="#define-members">Defines</a> </div>
76 <div class="headertitle">
77 <div class="title">plugguard.h File Reference</div> </div>
78 </div>
27 <div class="contents"> 79 <div class="contents">
28 <h1>plugguard.h File Reference</h1>
29 <p>
30 <a href="plugguard_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
31 <tr><td></td></tr>
32 <tr><td colspan="2"><br><h2>Defines</h2></td></tr>
33 <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugguard_8h.html#3bf4e97f131677e5e1505a7a9582d68a">_VAMP_IN_PLUGINSDK</a>&nbsp;&nbsp;&nbsp;1</td></tr>
34 80
35 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Normal usage should be:. <a href="#3bf4e97f131677e5e1505a7a9582d68a"></a><br></td></tr> 81 <p><a href="plugguard_8h_source.html">Go to the source code of this file.</a></p>
36 <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugguard_8h.html#1a2724ea453971288d3218e4eab3072c">_VAMP_SDK_PLUGSPACE_BEGIN</a>(h)</td></tr> 82 <table class="memberdecls">
37 83 <tr><td colspan="2"><h2><a name="define-members"></a>
38 <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugguard_8h.html#c879bb1077ecc6132ea3581ef9033753">_VAMP_SDK_PLUGSPACE_END</a>(h)</td></tr> 84 Defines</h2></td></tr>
39 85 <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugguard_8h.html#a3bf4e97f131677e5e1505a7a9582d68a">_VAMP_IN_PLUGINSDK</a>&#160;&#160;&#160;1</td></tr>
86 <tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Normal usage should be: <a href="#a3bf4e97f131677e5e1505a7a9582d68a"></a><br/></td></tr>
87 <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugguard_8h.html#a1a2724ea453971288d3218e4eab3072c">_VAMP_SDK_PLUGSPACE_BEGIN</a>(h)</td></tr>
88 <tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="plugguard_8h.html#ac879bb1077ecc6132ea3581ef9033753">_VAMP_SDK_PLUGSPACE_END</a>(h)</td></tr>
40 </table> 89 </table>
41 <hr><h2>Define Documentation</h2> 90 <hr/><h2>Define Documentation</h2>
42 <a class="anchor" name="3bf4e97f131677e5e1505a7a9582d68a"></a><!-- doxytag: member="plugguard.h::_VAMP_IN_PLUGINSDK" ref="3bf4e97f131677e5e1505a7a9582d68a" args="" --> 91 <a class="anchor" id="a3bf4e97f131677e5e1505a7a9582d68a"></a><!-- doxytag: member="plugguard.h::_VAMP_IN_PLUGINSDK" ref="a3bf4e97f131677e5e1505a7a9582d68a" args="" -->
43 <div class="memitem"> 92 <div class="memitem">
44 <div class="memproto"> 93 <div class="memproto">
45 <table class="memname"> 94 <table class="memname">
46 <tr> 95 <tr>
47 <td class="memname">#define _VAMP_IN_PLUGINSDK&nbsp;&nbsp;&nbsp;1 </td> 96 <td class="memname">#define _VAMP_IN_PLUGINSDK&#160;&#160;&#160;1</td>
48 </tr> 97 </tr>
49 </table> 98 </table>
50 </div> 99 </div>
51 <div class="memdoc"> 100 <div class="memdoc">
52 101
53 <p> 102 <p>Normal usage should be: </p>
54 Normal usage should be:.
55 <p>
56 <ul> 103 <ul>
57 <li>Plugins include <a class="el" href="vamp-sdk_2Plugin_8h.html">vamp-sdk/Plugin.h</a> or <a class="el" href="vamp-sdk_2PluginBase_8h.html">vamp-sdk/PluginBase.h</a>. These files include this header, which specifies an appropriate namespace for the plugin classes to avoid any risk of conflict with non-plugin class implementations in the host on load.</li></ul> 104 <li>Plugins include <a class="el" href="vamp-sdk_2Plugin_8h.html">vamp-sdk/Plugin.h</a> or <a class="el" href="vamp-sdk_2PluginBase_8h.html">vamp-sdk/PluginBase.h</a>. These files include this header, which specifies an appropriate namespace for the plugin classes to avoid any risk of conflict with non-plugin class implementations in the host on load.</li>
58 <p> 105 </ul>
59 <ul> 106 <ul>
60 <li>Hosts include <a class="el" href="vamp-hostsdk_2Plugin_8h.html">vamp-hostsdk/Plugin.h</a>, <a class="el" href="vamp-hostsdk_2PluginBase_8h.html">vamp-hostsdk/PluginBase.h</a>, vamp-hostsdk/PluginHostAdapter, <a class="el" href="PluginLoader_8h.html">vamp-hostsdk/PluginLoader.h</a> etc. These files include <a class="el" href="hostguard_8h.html">vamp-hostsdk/hostguard.h</a>, which makes a note that we are in a host. A file such as <a class="el" href="vamp-hostsdk_2Plugin_8h.html">vamp-hostsdk/Plugin.h</a> then simply includes <a class="el" href="vamp-sdk_2Plugin_8h.html">vamp-sdk/Plugin.h</a>, and this guard header takes notice of the fact that it has been included from a host and leaves the plugin namespace unset.</li></ul> 107 <li>Hosts include <a class="el" href="vamp-hostsdk_2Plugin_8h.html">vamp-hostsdk/Plugin.h</a>, <a class="el" href="vamp-hostsdk_2PluginBase_8h.html">vamp-hostsdk/PluginBase.h</a>, vamp-hostsdk/PluginHostAdapter, <a class="el" href="PluginLoader_8h.html">vamp-hostsdk/PluginLoader.h</a> etc. These files include <a class="el" href="hostguard_8h.html">vamp-hostsdk/hostguard.h</a>, which makes a note that we are in a host. A file such as <a class="el" href="vamp-hostsdk_2Plugin_8h.html">vamp-hostsdk/Plugin.h</a> then simply includes <a class="el" href="vamp-sdk_2Plugin_8h.html">vamp-sdk/Plugin.h</a>, and this guard header takes notice of the fact that it has been included from a host and leaves the plugin namespace unset.</li>
61 <p> 108 </ul>
62 Problems will occur when a host includes files directly from the vamp-sdk directory. There are two reasons this might happen: mistake, perhaps owing to ignorance of the fact that this isn't allowed (particularly since it was the normal mechanism in v1 of the SDK); and a wish to incorporate plugin code directly into the host rather than having to load it.<p> 109 <p>Problems will occur when a host includes files directly from the vamp-sdk directory. There are two reasons this might happen: mistake, perhaps owing to ignorance of the fact that this isn't allowed (particularly since it was the normal mechanism in v1 of the SDK); and a wish to incorporate plugin code directly into the host rather than having to load it.</p>
63 What if the host does include a vamp-sdk header by mistake? We can catch it if it's included before something from vamp-hostsdk. If it's included after something from vamp-hostsdk, it will work OK anyway. The remaining problem case is where nothing from vamp-hostsdk is included in the same file. We can't catch that. 110 <p>What if the host does include a vamp-sdk header by mistake? We can catch it if it's included before something from vamp-hostsdk. If it's included after something from vamp-hostsdk, it will work OK anyway. The remaining problem case is where nothing from vamp-hostsdk is included in the same file. We can't catch that. </p>
64 <p>Definition at line <a class="el" href="plugguard_8h-source.html#l00072">72</a> of file <a class="el" href="plugguard_8h-source.html">plugguard.h</a>.</p> 111
112 <p>Definition at line <a class="el" href="plugguard_8h_source.html#l00072">72</a> of file <a class="el" href="plugguard_8h_source.html">plugguard.h</a>.</p>
65 113
66 </div> 114 </div>
67 </div><p> 115 </div>
68 <a class="anchor" name="1a2724ea453971288d3218e4eab3072c"></a><!-- doxytag: member="plugguard.h::_VAMP_SDK_PLUGSPACE_BEGIN" ref="1a2724ea453971288d3218e4eab3072c" args="(h)" --> 116 <a class="anchor" id="a1a2724ea453971288d3218e4eab3072c"></a><!-- doxytag: member="plugguard.h::_VAMP_SDK_PLUGSPACE_BEGIN" ref="a1a2724ea453971288d3218e4eab3072c" args="(h)" -->
69 <div class="memitem"> 117 <div class="memitem">
70 <div class="memproto"> 118 <div class="memproto">
71 <table class="memname"> 119 <table class="memname">
72 <tr> 120 <tr>
73 <td class="memname">#define _VAMP_SDK_PLUGSPACE_BEGIN </td> 121 <td class="memname">#define _VAMP_SDK_PLUGSPACE_BEGIN</td>
74 <td>(</td> 122 <td>(</td>
75 <td class="paramtype">h&nbsp;</td> 123 <td class="paramtype">&#160;</td>
76 <td class="paramname"> </td> 124 <td class="paramname">h</td><td>)</td>
77 <td>&nbsp;)&nbsp;</td>
78 <td></td> 125 <td></td>
79 </tr> 126 </tr>
80 </table> 127 </table>
81 </div> 128 </div>
82 <div class="memdoc"> 129 <div class="memdoc">
83 130
84 <p> 131 <p>Definition at line <a class="el" href="plugguard_8h_source.html#l00075">75</a> of file <a class="el" href="plugguard_8h_source.html">plugguard.h</a>.</p>
85
86 <p>Definition at line <a class="el" href="plugguard_8h-source.html#l00075">75</a> of file <a class="el" href="plugguard_8h-source.html">plugguard.h</a>.</p>
87 132
88 </div> 133 </div>
89 </div><p> 134 </div>
90 <a class="anchor" name="c879bb1077ecc6132ea3581ef9033753"></a><!-- doxytag: member="plugguard.h::_VAMP_SDK_PLUGSPACE_END" ref="c879bb1077ecc6132ea3581ef9033753" args="(h)" --> 135 <a class="anchor" id="ac879bb1077ecc6132ea3581ef9033753"></a><!-- doxytag: member="plugguard.h::_VAMP_SDK_PLUGSPACE_END" ref="ac879bb1077ecc6132ea3581ef9033753" args="(h)" -->
91 <div class="memitem"> 136 <div class="memitem">
92 <div class="memproto"> 137 <div class="memproto">
93 <table class="memname"> 138 <table class="memname">
94 <tr> 139 <tr>
95 <td class="memname">#define _VAMP_SDK_PLUGSPACE_END </td> 140 <td class="memname">#define _VAMP_SDK_PLUGSPACE_END</td>
96 <td>(</td> 141 <td>(</td>
97 <td class="paramtype">h&nbsp;</td> 142 <td class="paramtype">&#160;</td>
98 <td class="paramname"> </td> 143 <td class="paramname">h</td><td>)</td>
99 <td>&nbsp;)&nbsp;</td>
100 <td></td> 144 <td></td>
101 </tr> 145 </tr>
102 </table> 146 </table>
103 </div> 147 </div>
104 <div class="memdoc"> 148 <div class="memdoc">
105 149
106 <p> 150 <p>Definition at line <a class="el" href="plugguard_8h_source.html#l00076">76</a> of file <a class="el" href="plugguard_8h_source.html">plugguard.h</a>.</p>
107
108 <p>Definition at line <a class="el" href="plugguard_8h-source.html#l00076">76</a> of file <a class="el" href="plugguard_8h-source.html">plugguard.h</a>.</p>
109 151
110 </div> 152 </div>
111 </div><p>
112 </div> 153 </div>
113 <hr size="1"><address style="text-align: right;"><small>Generated on Thu Sep 24 13:40:13 2009 for VampPluginSDK by&nbsp; 154 </div>
114 <a href="http://www.doxygen.org/index.html"> 155 </div>
115 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address> 156 <div id="nav-path" class="navpath">
157 <ul>
158 <li class="navelem"><a class="el" href="plugguard_8h.html">plugguard.h</a> </li>
159
160 <li class="footer">Generated on Tue Oct 4 2011 14:38:49 for VampPluginSDK by
161 <a href="http://www.doxygen.org/index.html">
162 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
163 </ul>
164 </div>
165
166
116 </body> 167 </body>
117 </html> 168 </html>