1 <HTML> |
1 <?xml version="1.0" encoding="UTF-8" standalone="no"?><html xmlns="http://www.w3.org/1999/xhtml"><head><title>Help for Macros in CommonMacros.inc</title></head><body><p><h1>Table of contents</h1><p><a href="#DeclareMethod">DeclareMethod</a></p> |
2 <HEAD> |
2 <p><a href="#GenerateDefaultFunctionBody">GenerateDefaultFunctionBody</a></p> |
3 <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
3 <p><a href="#DefineMethod">DefineMethod</a></p> |
4 <TITLE>Help for Macros in CommonMacros.inc</TITLE> |
4 <p><a href="#GenerateMethod">GenerateMethod</a></p> |
5 </HEAD> |
5 <p><a href="#DefineMethodWithOwnedBody">DefineMethodWithOwnedBody</a></p> |
6 <BODY> |
6 <p><a href="#GenerateMethodWithOwnedBody">GenerateMethodWithOwnedBody</a></p> |
7 <P> |
7 <p><a href="#GenerateMethodWithVariantArguments">GenerateMethodWithVariantArguments</a></p> |
8 <H1>Table of contents</H1> |
8 <p><a href="#GenerateVirtualMethodOverrideForEventHandler">GenerateVirtualMethodOverrideForEventHandler</a></p> |
9 <P> |
9 <p><a href="#GenerateUserEventHandlerFunction">GenerateUserEventHandlerFunction</a></p> |
10 <A href="#DeclareMethod">DeclareMethod</A> |
10 </p><p><a name="DeclareMethod"/><h2>DeclareMethod</h2><p><p>Declares a method, e.g., the prototype.</p></p><h3>Arguments</h3><table border="1" cellpadding="3"><th>Argument</th><th>Req'd?</th><th>Default</th><th>Description</th><tr><td>FunctionName</td><td>yes</td><td> </td><td><p><p>name of function</p></p></td></tr><tr><td>FunctionArgs</td><td>yes</td><td> </td><td><p><p>canonical argument list (e.g. "const TInt& aArg, TInt aFoo = 3")</p></p></td></tr><tr><td>FunctionName</td><td>yes</td><td> </td><td><p><p>name of function</p></p></td></tr><tr><td>FunctionArgs</td><td>yes</td><td> </td><td><p><p>canonical argument list (e.g. "const TInt& aArg, TInt aFoo = 3")</p></p></td></tr><tr><td>DeclLocation</td><td>no</td><td> </td><td><p><p>name of location into which to add the prototype (either this or DeclPhase must be defined)</p></p></td></tr><tr><td>DeclPhase</td><td>no</td><td> </td><td><p><p>name of phase into which to add the prototype (either this or DeclLocation must be defined)</p></p></td></tr><tr><td>ReturnType</td><td>no</td><td>void</td><td><p><p>return type for function</p></p></td></tr><tr><td>IsStatic</td><td>no</td><td>false</td><td><p><p>is the function static?</p></p></td></tr><tr><td>IsVirtual</td><td>no</td><td>false</td><td><p><p>is the function virtual? (ignored if IsStatic)</p></p></td></tr><tr><td>IsConst</td><td>no</td><td>false</td><td><p><p>add 'const' modifier to function?</p></p></td></tr><tr><td>DeclLocation</td><td>no</td><td> </td><td><p><p>name of location into which to add the prototype (either this or DeclPhase must be defined)</p></p></td></tr><tr><td>DeclPhase</td><td>no</td><td> </td><td><p><p>name of phase into which to add the prototype (either this or DeclLocation must be defined)</p></p></td></tr><tr><td>ReturnType</td><td>no</td><td>void</td><td><p><p>return type for function</p></p></td></tr><tr><td>IsStatic</td><td>no</td><td>false</td><td><p><p>is the function static?</p></p></td></tr><tr><td>IsVirtual</td><td>no</td><td>false</td><td><p><p>is the function virtual? (ignored if IsStatic)</p></p></td></tr><tr><td>IsConst</td><td>no</td><td>false</td><td><p><p>add 'const' modifier to function?</p></p></td></tr></table> |
11 </P> |
11 <a name="GenerateDefaultFunctionBody"/><h2>GenerateDefaultFunctionBody</h2><p><p>Create the default body for a function. If FunctionBody is set, emits that. If ReturnType is not void and DefaultReturn is set, create a return statement using its value.</p></p><h3>Arguments</h3><table border="1" cellpadding="3"><th>Argument</th><th>Req'd?</th><th>Default</th><th>Description</th><tr><td>FunctionLocationId</td><td>yes</td><td> </td><td><p><p>name of the function location to define; body is named id+_BODY</p></p></td></tr><tr><td>FunctionLocationId</td><td>yes</td><td> </td><td><p><p>name of the function location to define; body is named id+_BODY</p></p></td></tr><tr><td>DefaultReturn</td><td>no</td><td> </td><td><p><p>default value to return; overridden if FunctionBody is specified</p></p></td></tr><tr><td>ReturnType</td><td>no</td><td>void</td><td><p><p>return type for function</p></p></td></tr><tr><td>FunctionBody</td><td>no</td><td> </td><td><p><p>text inside function body (comment and/or code)</p></p></td></tr><tr><td>DefaultReturn</td><td>no</td><td> </td><td><p><p>default value to return; overridden if FunctionBody is specified</p></p></td></tr><tr><td>ReturnType</td><td>no</td><td>void</td><td><p><p>return type for function</p></p></td></tr><tr><td>FunctionBody</td><td>no</td><td> </td><td><p><p>text inside function body (comment and/or code)</p></p></td></tr></table> |
12 |
12 <a name="DefineMethod"/><h2>DefineMethod</h2><p><p>Defines a method to one location, optionally generating body text, or a default return statement. The generated function is owned by default.</p></p><h3>Arguments</h3><table border="1" cellpadding="3"><th>Argument</th><th>Req'd?</th><th>Default</th><th>Description</th><tr><td>DefnLocation</td><td>yes</td><td> </td><td><p><p>name of location into which to add the function</p></p></td></tr><tr><td>FunctionName</td><td>yes</td><td> </td><td><p><p>name of function</p></p></td></tr><tr><td>FunctionArgs</td><td>yes</td><td> </td><td><p><p>canonical argument list (e.g. "const TInt& aArg, TInt aFoo = 3")</p></p></td></tr><tr><td>DefnLocation</td><td>yes</td><td> </td><td><p><p>name of location into which to add the function</p></p></td></tr><tr><td>FunctionName</td><td>yes</td><td> </td><td><p><p>name of function</p></p></td></tr><tr><td>FunctionArgs</td><td>yes</td><td> </td><td><p><p>canonical argument list (e.g. "const TInt& aArg, TInt aFoo = 3")</p></p></td></tr><tr><td>IsOwned</td><td>no</td><td>true</td><td><p><p>is the function body owned?</p></p></td></tr><tr><td>IsConst</td><td>no</td><td>false</td><td><p><p>add 'const' modifier to function?</p></p></td></tr><tr><td>ClassName</td><td>no</td><td>${className}</td><td><p><p>the class name</p></p></td></tr><tr><td>FunctionComment</td><td>no</td><td> </td><td><p><p>comment appearing before function defn</p></p></td></tr><tr><td>IsEventHandler</td><td>no</td><td>false</td><td><p><p>is the function body the user event handler?</p></p></td></tr><tr><td>Initializers</td><td>no</td><td> </td><td><p><p>provide any initializer expressions, e.g. for constructors, appearing on a separate line after the argument list and before the function body. Do not provide the leading colon (':') as this is added automatically</p></p></td></tr><tr><td>Realize</td><td>no</td><td>false</td><td><p><p>If true, force the function to be generated. Otherwise, the function is generated only if the FunctionBody is non-empty or if another template contributions to the FunctionLocationId.</p></p></td></tr><tr><td>IsOwned</td><td>no</td><td>true</td><td><p><p>is the function body owned?</p></p></td></tr><tr><td>IsConst</td><td>no</td><td>false</td><td><p><p>add 'const' modifier to function?</p></p></td></tr><tr><td>ClassName</td><td>no</td><td>${className}</td><td><p><p>the class name</p></p></td></tr><tr><td>FunctionComment</td><td>no</td><td> </td><td><p><p>comment appearing before function defn</p></p></td></tr><tr><td>IsEventHandler</td><td>no</td><td>false</td><td><p><p>is the function body the user event handler?</p></p></td></tr><tr><td>Initializers</td><td>no</td><td> </td><td><p><p>provide any initializer expressions, e.g. for constructors, appearing on a separate line after the argument list and before the function body. Do not provide the leading colon (':') as this is added automatically</p></p></td></tr><tr><td>Realize</td><td>no</td><td>false</td><td><p><p>If true, force the function to be generated. Otherwise, the function is generated only if the FunctionBody is non-empty or if another template contributions to the FunctionLocationId.</p></p></td></tr></table><p>Inherited from <a href="#GenerateDefaultFunctionBody">GenerateDefaultFunctionBody</a>:</p><table border="1" cellpadding="3"><th>Argument</th><th>Req'd?</th><th>Default</th><th>Description</th><tr><td>FunctionLocationId</td><td>yes</td><td> </td><td><p><p>name of the function location to define; body is named id+_BODY</p></p></td></tr><tr><td>DefaultReturn</td><td>no</td><td> </td><td><p><p>default value to return; overridden if FunctionBody is specified</p></p></td></tr><tr><td>ReturnType</td><td>no</td><td>void</td><td><p><p>return type for function</p></p></td></tr><tr><td>FunctionBody</td><td>no</td><td> </td><td><p><p>text inside function body (comment and/or code)</p></p></td></tr></table> |
13 <P> |
13 <a name="GenerateMethod"/><h2>GenerateMethod</h2><p><p>Declares and defines a method to one location and adds the prototype to another location.</p></p><h3>Arguments</h3><table border="1" cellpadding="3"><th>Argument</th><th>Req'd?</th><th>Default</th><th>Description</th></table><p>Inherited from <a href="#DeclareMethod">DeclareMethod</a>:</p><table border="1" cellpadding="3"><th>Argument</th><th>Req'd?</th><th>Default</th><th>Description</th><tr><td>FunctionName</td><td>yes</td><td> </td><td><p><p>name of function</p></p></td></tr><tr><td>FunctionArgs</td><td>yes</td><td> </td><td><p><p>canonical argument list (e.g. "const TInt& aArg, TInt aFoo = 3")</p></p></td></tr><tr><td>DeclLocation</td><td>no</td><td> </td><td><p><p>name of location into which to add the prototype (either this or DeclPhase must be defined)</p></p></td></tr><tr><td>DeclPhase</td><td>no</td><td> </td><td><p><p>name of phase into which to add the prototype (either this or DeclLocation must be defined)</p></p></td></tr><tr><td>ReturnType</td><td>no</td><td>void</td><td><p><p>return type for function</p></p></td></tr><tr><td>IsStatic</td><td>no</td><td>false</td><td><p><p>is the function static?</p></p></td></tr><tr><td>IsVirtual</td><td>no</td><td>false</td><td><p><p>is the function virtual? (ignored if IsStatic)</p></p></td></tr><tr><td>IsConst</td><td>no</td><td>false</td><td><p><p>add 'const' modifier to function?</p></p></td></tr></table><p>Inherited from <a href="#DefineMethod">DefineMethod</a>:</p><table border="1" cellpadding="3"><th>Argument</th><th>Req'd?</th><th>Default</th><th>Description</th><tr><td>FunctionLocationId</td><td>yes</td><td> </td><td><p><p>name of the function location to define; body is named id+_BODY</p></p></td></tr><tr><td>DefnLocation</td><td>yes</td><td> </td><td><p><p>name of location into which to add the function</p></p></td></tr><tr><td>DefaultReturn</td><td>no</td><td> </td><td><p><p>default value to return; overridden if FunctionBody is specified</p></p></td></tr><tr><td>FunctionBody</td><td>no</td><td> </td><td><p><p>text inside function body (comment and/or code)</p></p></td></tr><tr><td>IsOwned</td><td>no</td><td>true</td><td><p><p>is the function body owned?</p></p></td></tr><tr><td>ClassName</td><td>no</td><td>${className}</td><td><p><p>the class name</p></p></td></tr><tr><td>FunctionComment</td><td>no</td><td> </td><td><p><p>comment appearing before function defn</p></p></td></tr><tr><td>IsEventHandler</td><td>no</td><td>false</td><td><p><p>is the function body the user event handler?</p></p></td></tr><tr><td>Initializers</td><td>no</td><td> </td><td><p><p>provide any initializer expressions, e.g. for constructors, appearing on a separate line after the argument list and before the function body. Do not provide the leading colon (':') as this is added automatically</p></p></td></tr><tr><td>Realize</td><td>no</td><td>false</td><td><p><p>If true, force the function to be generated. Otherwise, the function is generated only if the FunctionBody is non-empty or if another template contributions to the FunctionLocationId.</p></p></td></tr></table> |
14 <A href="#GenerateDefaultFunctionBody">GenerateDefaultFunctionBody</A> |
14 <a name="DefineMethodWithOwnedBody"/><h2>DefineMethodWithOwnedBody</h2><p><p>Defines a method with an owned body section. </p><p> The generated function is not owned by default, unlike Method. There may be uses for an owned function with a named owned region, though. </p><p> Also, no default function code is generated, so the provided StartFunctionBody, FunctionBody, and EndFunctionBody must account for any return statements.</p></p><h3>Arguments</h3><table border="1" cellpadding="3"><th>Argument</th><th>Req'd?</th><th>Default</th><th>Description</th><tr><td>FunctionBody</td><td>no</td><td> </td><td><p><p>text inside owned part of function body</p></p></td></tr><tr><td>OwnedRegionLocationId</td><td>no</td><td>$(FunctionLocationId)_BODY</td><td><p><p>location id for enclosed body</p></p></td></tr><tr><td>OwnedRegionName</td><td>no</td><td>Generated Contents</td><td><p><p>region name for enclosed body</p></p></td></tr><tr><td>StartFunctionBody</td><td>no</td><td> </td><td><p><p>text inside function body (comment and/or code) before the owned section</p></p></td></tr><tr><td>EndFunctionBody</td><td>no</td><td> </td><td><p><p>text inside function body (comment and/or code) after the owned section</p></p></td></tr><tr><td>FunctionBody</td><td>no</td><td> </td><td><p><p>text inside owned part of function body</p></p></td></tr><tr><td>OwnedRegionLocationId</td><td>no</td><td>$(FunctionLocationId)_BODY</td><td><p><p>location id for enclosed body</p></p></td></tr><tr><td>OwnedRegionName</td><td>no</td><td>Generated Contents</td><td><p><p>region name for enclosed body</p></p></td></tr><tr><td>StartFunctionBody</td><td>no</td><td> </td><td><p><p>text inside function body (comment and/or code) before the owned section</p></p></td></tr><tr><td>EndFunctionBody</td><td>no</td><td> </td><td><p><p>text inside function body (comment and/or code) after the owned section</p></p></td></tr></table><p>Inherited from <a href="#DefineMethod">DefineMethod</a>:</p><table border="1" cellpadding="3"><th>Argument</th><th>Req'd?</th><th>Default</th><th>Description</th><tr><td>FunctionLocationId</td><td>yes</td><td> </td><td><p><p>name of the function location to define; body is named id+_BODY</p></p></td></tr><tr><td>DefnLocation</td><td>yes</td><td> </td><td><p><p>name of location into which to add the function</p></p></td></tr><tr><td>FunctionName</td><td>yes</td><td> </td><td><p><p>name of function</p></p></td></tr><tr><td>FunctionArgs</td><td>yes</td><td> </td><td><p><p>canonical argument list (e.g. "const TInt& aArg, TInt aFoo = 3")</p></p></td></tr><tr><td>DefaultReturn</td><td>no</td><td> </td><td><p><p>default value to return; overridden if FunctionBody is specified</p></p></td></tr><tr><td>ReturnType</td><td>no</td><td>void</td><td><p><p>return type for function</p></p></td></tr><tr><td>IsOwned</td><td>no</td><td>true</td><td><p><p>is the function body owned?</p></p></td></tr><tr><td>IsConst</td><td>no</td><td>false</td><td><p><p>add 'const' modifier to function?</p></p></td></tr><tr><td>ClassName</td><td>no</td><td>${className}</td><td><p><p>the class name</p></p></td></tr><tr><td>FunctionComment</td><td>no</td><td> </td><td><p><p>comment appearing before function defn</p></p></td></tr><tr><td>IsEventHandler</td><td>no</td><td>false</td><td><p><p>is the function body the user event handler?</p></p></td></tr><tr><td>Initializers</td><td>no</td><td> </td><td><p><p>provide any initializer expressions, e.g. for constructors, appearing on a separate line after the argument list and before the function body. Do not provide the leading colon (':') as this is added automatically</p></p></td></tr><tr><td>Realize</td><td>no</td><td>false</td><td><p><p>If true, force the function to be generated. Otherwise, the function is generated only if the FunctionBody is non-empty or if another template contributions to the FunctionLocationId.</p></p></td></tr></table> |
15 </P> |
15 <a name="GenerateMethodWithOwnedBody"/><h2>GenerateMethodWithOwnedBody</h2><p><p>Declares and defines a method with an owned body section to one location and adds the prototype to another location. </p><p> The generated function is not owned by default, unlike Method. There may be uses for an owned function with a named owned region, though.</p></p><h3>Arguments</h3><table border="1" cellpadding="3"><th>Argument</th><th>Req'd?</th><th>Default</th><th>Description</th></table><p>Inherited from <a href="#DefineMethodWithOwnedBody">DefineMethodWithOwnedBody</a>:</p><table border="1" cellpadding="3"><th>Argument</th><th>Req'd?</th><th>Default</th><th>Description</th><tr><td>FunctionLocationId</td><td>yes</td><td> </td><td><p><p>name of the function location to define; body is named id+_BODY</p></p></td></tr><tr><td>DefnLocation</td><td>yes</td><td> </td><td><p><p>name of location into which to add the function</p></p></td></tr><tr><td>FunctionName</td><td>yes</td><td> </td><td><p><p>name of function</p></p></td></tr><tr><td>FunctionArgs</td><td>yes</td><td> </td><td><p><p>canonical argument list (e.g. "const TInt& aArg, TInt aFoo = 3")</p></p></td></tr><tr><td>DefaultReturn</td><td>no</td><td> </td><td><p><p>default value to return; overridden if FunctionBody is specified</p></p></td></tr><tr><td>ReturnType</td><td>no</td><td>void</td><td><p><p>return type for function</p></p></td></tr><tr><td>FunctionBody</td><td>no</td><td> </td><td><p><p>text inside owned part of function body</p></p></td></tr><tr><td>IsOwned</td><td>no</td><td>true</td><td><p><p>is the function body owned?</p></p></td></tr><tr><td>IsConst</td><td>no</td><td>false</td><td><p><p>add 'const' modifier to function?</p></p></td></tr><tr><td>ClassName</td><td>no</td><td>${className}</td><td><p><p>the class name</p></p></td></tr><tr><td>FunctionComment</td><td>no</td><td> </td><td><p><p>comment appearing before function defn</p></p></td></tr><tr><td>IsEventHandler</td><td>no</td><td>false</td><td><p><p>is the function body the user event handler?</p></p></td></tr><tr><td>Initializers</td><td>no</td><td> </td><td><p><p>provide any initializer expressions, e.g. for constructors, appearing on a separate line after the argument list and before the function body. Do not provide the leading colon (':') as this is added automatically</p></p></td></tr><tr><td>Realize</td><td>no</td><td>false</td><td><p><p>If true, force the function to be generated. Otherwise, the function is generated only if the FunctionBody is non-empty or if another template contributions to the FunctionLocationId.</p></p></td></tr><tr><td>OwnedRegionLocationId</td><td>no</td><td>$(FunctionLocationId)_BODY</td><td><p><p>location id for enclosed body</p></p></td></tr><tr><td>OwnedRegionName</td><td>no</td><td>Generated Contents</td><td><p><p>region name for enclosed body</p></p></td></tr><tr><td>StartFunctionBody</td><td>no</td><td> </td><td><p><p>text inside function body (comment and/or code) before the owned section</p></p></td></tr><tr><td>EndFunctionBody</td><td>no</td><td> </td><td><p><p>text inside function body (comment and/or code) after the owned section</p></p></td></tr></table><p>Inherited from <a href="#DeclareMethod">DeclareMethod</a>:</p><table border="1" cellpadding="3"><th>Argument</th><th>Req'd?</th><th>Default</th><th>Description</th><tr><td>DeclLocation</td><td>no</td><td> </td><td><p><p>name of location into which to add the prototype (either this or DeclPhase must be defined)</p></p></td></tr><tr><td>DeclPhase</td><td>no</td><td> </td><td><p><p>name of phase into which to add the prototype (either this or DeclLocation must be defined)</p></p></td></tr><tr><td>IsStatic</td><td>no</td><td>false</td><td><p><p>is the function static?</p></p></td></tr><tr><td>IsVirtual</td><td>no</td><td>false</td><td><p><p>is the function virtual? (ignored if IsStatic)</p></p></td></tr></table> |
16 |
16 <a name="GenerateMethodWithVariantArguments"/><h2>GenerateMethodWithVariantArguments</h2><p><p> Declares and defines an owned method with variant arguments to one location and adds the prototype to another location. </p><p> Variant arguments means design-time variable (not C varargs). The function has a non-empty list of fixed arguments followed by a non-empty list of variable arguments which are generated by a Javascript expression. </p><p> The generated function is owned by default. It doesn't make sense to use this non-owned, since this will introduce compile errors when the prototype changes and the old body remains behind. </p></p><h3>Arguments</h3><table border="1" cellpadding="3"><th>Argument</th><th>Req'd?</th><th>Default</th><th>Description</th><tr><td>FunctionArgs</td><td>yes</td><td> </td><td><p><p>canonical leading static argument list (e.g. "const TInt& aArg, TInt aFoo = 3") Do not include a trailing comma</p></p></td></tr><tr><td>FunctionVarArgsAllowEmpty</td><td>yes</td><td> </td><td><p><p>tell whether the varargs may be empty</p></p></td></tr><tr><td>FunctionVarArgsDeclExpr</td><td>yes</td><td> </td><td><p><p>generator for the variable arguments as appearing in the declaration (a Javascript expression); if FunctionVarArgsAllowEmpty==false, do not generate a leading comma</p></p></td></tr><tr><td>FunctionVarArgsDefnExpr</td><td>yes</td><td> </td><td><p><p>generator for the variable arguments as appearing in the definition (a Javascript expression); if FunctionVarArgsAllowEmpty==false, do not generate a leading comma</p></p></td></tr><tr><td>FunctionArgs</td><td>yes</td><td> </td><td><p><p>canonical leading static argument list (e.g. "const TInt& aArg, TInt aFoo = 3") Do not include a trailing comma</p></p></td></tr><tr><td>FunctionVarArgsAllowEmpty</td><td>yes</td><td> </td><td><p><p>tell whether the varargs may be empty</p></p></td></tr><tr><td>FunctionVarArgsDeclExpr</td><td>yes</td><td> </td><td><p><p>generator for the variable arguments as appearing in the declaration (a Javascript expression); if FunctionVarArgsAllowEmpty==false, do not generate a leading comma</p></p></td></tr><tr><td>FunctionVarArgsDefnExpr</td><td>yes</td><td> </td><td><p><p>generator for the variable arguments as appearing in the definition (a Javascript expression); if FunctionVarArgsAllowEmpty==false, do not generate a leading comma</p></p></td></tr><tr><td>IsOwned</td><td>no</td><td>true</td><td><p><p>tell whether the function is owned. In general, it should be, otherwise compile errors will be introduced when the method's signature changes and the old version is left behind.</p></p></td></tr><tr><td>IsOwned</td><td>no</td><td>true</td><td><p><p>tell whether the function is owned. In general, it should be, otherwise compile errors will be introduced when the method's signature changes and the old version is left behind.</p></p></td></tr></table><p>Inherited from <a href="#GenerateMethod">GenerateMethod</a>:</p><table border="1" cellpadding="3"><th>Argument</th><th>Req'd?</th><th>Default</th><th>Description</th><tr><td>FunctionName</td><td>yes</td><td> </td><td><p><p>name of function</p></p></td></tr><tr><td>FunctionLocationId</td><td>yes</td><td> </td><td><p><p>name of the function location to define; body is named id+_BODY</p></p></td></tr><tr><td>DefnLocation</td><td>yes</td><td> </td><td><p><p>name of location into which to add the function</p></p></td></tr><tr><td>DeclLocation</td><td>no</td><td> </td><td><p><p>name of location into which to add the prototype (either this or DeclPhase must be defined)</p></p></td></tr><tr><td>DeclPhase</td><td>no</td><td> </td><td><p><p>name of phase into which to add the prototype (either this or DeclLocation must be defined)</p></p></td></tr><tr><td>ReturnType</td><td>no</td><td>void</td><td><p><p>return type for function</p></p></td></tr><tr><td>IsStatic</td><td>no</td><td>false</td><td><p><p>is the function static?</p></p></td></tr><tr><td>IsVirtual</td><td>no</td><td>false</td><td><p><p>is the function virtual? (ignored if IsStatic)</p></p></td></tr><tr><td>IsConst</td><td>no</td><td>false</td><td><p><p>add 'const' modifier to function?</p></p></td></tr><tr><td>DefaultReturn</td><td>no</td><td> </td><td><p><p>default value to return; overridden if FunctionBody is specified</p></p></td></tr><tr><td>FunctionBody</td><td>no</td><td> </td><td><p><p>text inside function body (comment and/or code)</p></p></td></tr><tr><td>ClassName</td><td>no</td><td>${className}</td><td><p><p>the class name</p></p></td></tr><tr><td>FunctionComment</td><td>no</td><td> </td><td><p><p>comment appearing before function defn</p></p></td></tr><tr><td>IsEventHandler</td><td>no</td><td>false</td><td><p><p>is the function body the user event handler?</p></p></td></tr><tr><td>Initializers</td><td>no</td><td> </td><td><p><p>provide any initializer expressions, e.g. for constructors, appearing on a separate line after the argument list and before the function body. Do not provide the leading colon (':') as this is added automatically</p></p></td></tr><tr><td>Realize</td><td>no</td><td>false</td><td><p><p>If true, force the function to be generated. Otherwise, the function is generated only if the FunctionBody is non-empty or if another template contributions to the FunctionLocationId.</p></p></td></tr></table> |
17 <P> |
17 <a name="GenerateVirtualMethodOverrideForEventHandler"/><h2>GenerateVirtualMethodOverrideForEventHandler</h2><p><p>Override a virtual method with a non-owned function with an owned body. This must be invoked in a templateGroup that has an ifEvents="..." attribute, so the 'event' variable is available. </p></p><h3>Arguments</h3><table border="1" cellpadding="3"><th>Argument</th><th>Req'd?</th><th>Default</th><th>Description</th><tr><td>ClassName</td><td>no</td><td>${handlerClassName}</td><td><p><p>the name of the class</p></p></td></tr><tr><td>UserHandlerFunctionArgs</td><td>no</td><td> </td><td><p><p>the arguments passed to the user handler function (== FunctionArgs by default)</p></p></td></tr><tr><td>ClassName</td><td>no</td><td>${handlerClassName}</td><td><p><p>the name of the class</p></p></td></tr><tr><td>UserHandlerFunctionArgs</td><td>no</td><td> </td><td><p><p>the arguments passed to the user handler function (== FunctionArgs by default)</p></p></td></tr></table><p>Inherited from <a href="#GenerateMethodWithOwnedBody">GenerateMethodWithOwnedBody</a>:</p><table border="1" cellpadding="3"><th>Argument</th><th>Req'd?</th><th>Default</th><th>Description</th><tr><td>FunctionLocationId</td><td>yes</td><td> </td><td><p><p>name of the function location to define; body is named id+_BODY</p></p></td></tr><tr><td>DefnLocation</td><td>yes</td><td> </td><td><p><p>name of location into which to add the function</p></p></td></tr><tr><td>FunctionName</td><td>yes</td><td> </td><td><p><p>name of function</p></p></td></tr><tr><td>FunctionArgs</td><td>yes</td><td> </td><td><p><p>canonical argument list (e.g. "const TInt& aArg, TInt aFoo = 3")</p></p></td></tr><tr><td>DefaultReturn</td><td>no</td><td> </td><td><p><p>default value to return; overridden if FunctionBody is specified</p></p></td></tr><tr><td>ReturnType</td><td>no</td><td>void</td><td><p><p>return type for function</p></p></td></tr><tr><td>FunctionBody</td><td>no</td><td> </td><td><p><p>text inside owned part of function body</p></p></td></tr><tr><td>IsOwned</td><td>no</td><td>true</td><td><p><p>is the function body owned?</p></p></td></tr><tr><td>IsConst</td><td>no</td><td>false</td><td><p><p>add 'const' modifier to function?</p></p></td></tr><tr><td>FunctionComment</td><td>no</td><td> </td><td><p><p>comment appearing before function defn</p></p></td></tr><tr><td>IsEventHandler</td><td>no</td><td>false</td><td><p><p>is the function body the user event handler?</p></p></td></tr><tr><td>Initializers</td><td>no</td><td> </td><td><p><p>provide any initializer expressions, e.g. for constructors, appearing on a separate line after the argument list and before the function body. Do not provide the leading colon (':') as this is added automatically</p></p></td></tr><tr><td>Realize</td><td>no</td><td>false</td><td><p><p>If true, force the function to be generated. Otherwise, the function is generated only if the FunctionBody is non-empty or if another template contributions to the FunctionLocationId.</p></p></td></tr><tr><td>OwnedRegionLocationId</td><td>no</td><td>$(FunctionLocationId)_BODY</td><td><p><p>location id for enclosed body</p></p></td></tr><tr><td>OwnedRegionName</td><td>no</td><td>Generated Contents</td><td><p><p>region name for enclosed body</p></p></td></tr><tr><td>StartFunctionBody</td><td>no</td><td> </td><td><p><p>text inside function body (comment and/or code) before the owned section</p></p></td></tr><tr><td>EndFunctionBody</td><td>no</td><td> </td><td><p><p>text inside function body (comment and/or code) after the owned section</p></p></td></tr><tr><td>DeclLocation</td><td>no</td><td> </td><td><p><p>name of location into which to add the prototype (either this or DeclPhase must be defined)</p></p></td></tr><tr><td>DeclPhase</td><td>no</td><td> </td><td><p><p>name of phase into which to add the prototype (either this or DeclLocation must be defined)</p></p></td></tr></table> |
18 <A href="#DefineMethod">DefineMethod</A> |
18 <a name="GenerateUserEventHandlerFunction"/><h2>GenerateUserEventHandlerFunction</h2><p><p> Define a user handler declaration and function. </p><p> Provides a default header comment and body comment. </p><p> This is NOT conditional, so include it in a <templateGroup ifEvents="..." /> </p></p><h3>Arguments</h3><table border="1" cellpadding="3"><th>Argument</th><th>Req'd?</th><th>Default</th><th>Description</th><tr><td>FunctionLocationId</td><td>yes</td><td> </td><td><p><p>the id for the event handler function</p></p></td></tr><tr><td>FunctionLocationId</td><td>yes</td><td> </td><td><p><p>the id for the event handler function</p></p></td></tr><tr><td>FunctionName</td><td>no</td><td>${event.handlerName}</td><td><p><p>the name of the function/method for the handler; generally the default should be used (the name specified in the Events view)</p></p></td></tr><tr><td>FunctionBody</td><td>no</td><td> </td><td><p><p>the body of the function, which by default is a TODO comment</p></p></td></tr><tr><td>ClassName</td><td>no</td><td>${handlerClassName}</td><td><p><p>the name of the class that receives the handler</p></p></td></tr><tr><td>FunctionComment</td><td>no</td><td> </td><td><p><p>the comment for the function</p></p></td></tr><tr><td>FunctionName</td><td>no</td><td>${event.handlerName}</td><td><p><p>the name of the function/method for the handler; generally the default should be used (the name specified in the Events view)</p></p></td></tr><tr><td>FunctionBody</td><td>no</td><td> </td><td><p><p>the body of the function, which by default is a TODO comment</p></p></td></tr><tr><td>ClassName</td><td>no</td><td>${handlerClassName}</td><td><p><p>the name of the class that receives the handler</p></p></td></tr><tr><td>FunctionComment</td><td>no</td><td> </td><td><p><p>the comment for the function</p></p></td></tr></table><p>Inherited from <a href="#GenerateMethod">GenerateMethod</a>:</p><table border="1" cellpadding="3"><th>Argument</th><th>Req'd?</th><th>Default</th><th>Description</th><tr><td>FunctionArgs</td><td>yes</td><td> </td><td><p><p>canonical argument list (e.g. "const TInt& aArg, TInt aFoo = 3")</p></p></td></tr><tr><td>DefnLocation</td><td>yes</td><td> </td><td><p><p>name of location into which to add the function</p></p></td></tr><tr><td>DeclLocation</td><td>no</td><td> </td><td><p><p>name of location into which to add the prototype (either this or DeclPhase must be defined)</p></p></td></tr><tr><td>DeclPhase</td><td>no</td><td> </td><td><p><p>name of phase into which to add the prototype (either this or DeclLocation must be defined)</p></p></td></tr><tr><td>ReturnType</td><td>no</td><td>void</td><td><p><p>return type for function</p></p></td></tr><tr><td>IsConst</td><td>no</td><td>false</td><td><p><p>add 'const' modifier to function?</p></p></td></tr><tr><td>DefaultReturn</td><td>no</td><td> </td><td><p><p>default value to return; overridden if FunctionBody is specified</p></p></td></tr><tr><td>IsOwned</td><td>no</td><td>true</td><td><p><p>is the function body owned?</p></p></td></tr><tr><td>IsEventHandler</td><td>no</td><td>false</td><td><p><p>is the function body the user event handler?</p></p></td></tr><tr><td>Initializers</td><td>no</td><td> </td><td><p><p>provide any initializer expressions, e.g. for constructors, appearing on a separate line after the argument list and before the function body. Do not provide the leading colon (':') as this is added automatically</p></p></td></tr><tr><td>Realize</td><td>no</td><td>false</td><td><p><p>If true, force the function to be generated. Otherwise, the function is generated only if the FunctionBody is non-empty or if another template contributions to the FunctionLocationId.</p></p></td></tr></table> |
19 </P> |
19 </p></body></html> |
20 |
|
21 <P> |
|
22 <A href="#GenerateMethod">GenerateMethod</A> |
|
23 </P> |
|
24 |
|
25 <P> |
|
26 <A href="#DefineMethodWithOwnedBody">DefineMethodWithOwnedBody</A> |
|
27 </P> |
|
28 |
|
29 <P> |
|
30 <A href="#GenerateMethodWithOwnedBody">GenerateMethodWithOwnedBody</A> |
|
31 </P> |
|
32 |
|
33 <P> |
|
34 <A href="#GenerateMethodWithVariantArguments">GenerateMethodWithVariantArguments</A> |
|
35 </P> |
|
36 |
|
37 <P> |
|
38 <A href="#GenerateVirtualMethodOverrideForEventHandler">GenerateVirtualMethodOverrideForEventHandler</A> |
|
39 </P> |
|
40 |
|
41 <P> |
|
42 <A href="#GenerateUserEventHandlerFunction">GenerateUserEventHandlerFunction</A> |
|
43 </P> |
|
44 |
|
45 </P> |
|
46 <P> |
|
47 <A name="DeclareMethod"></A> |
|
48 <H2>DeclareMethod</H2> |
|
49 <P> |
|
50 <P>Declares a method, e.g., the prototype.</P> |
|
51 </P> |
|
52 <H3>Arguments</H3> |
|
53 <TABLE border="1" cellpadding="3"> |
|
54 <TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH> |
|
55 <TR> |
|
56 <TD>FunctionName</TD><TD>yes</TD><TD> </TD><TD> |
|
57 <P> |
|
58 <P>name of function</P> |
|
59 </P> |
|
60 </TD> |
|
61 </TR> |
|
62 <TR> |
|
63 <TD>FunctionArgs</TD><TD>yes</TD><TD> </TD><TD> |
|
64 <P> |
|
65 <P>canonical argument list (e.g. "const TInt& aArg, TInt aFoo = 3")</P> |
|
66 </P> |
|
67 </TD> |
|
68 </TR> |
|
69 <TR> |
|
70 <TD>FunctionName</TD><TD>yes</TD><TD> </TD><TD> |
|
71 <P> |
|
72 <P>name of function</P> |
|
73 </P> |
|
74 </TD> |
|
75 </TR> |
|
76 <TR> |
|
77 <TD>FunctionArgs</TD><TD>yes</TD><TD> </TD><TD> |
|
78 <P> |
|
79 <P>canonical argument list (e.g. "const TInt& aArg, TInt aFoo = 3")</P> |
|
80 </P> |
|
81 </TD> |
|
82 </TR> |
|
83 <TR> |
|
84 <TD>DeclLocation</TD><TD>no</TD><TD> </TD><TD> |
|
85 <P> |
|
86 <P>name of location into which to add the prototype (either this or DeclPhase must be defined)</P> |
|
87 </P> |
|
88 </TD> |
|
89 </TR> |
|
90 <TR> |
|
91 <TD>DeclPhase</TD><TD>no</TD><TD> </TD><TD> |
|
92 <P> |
|
93 <P>name of phase into which to add the prototype (either this or DeclLocation must be defined)</P> |
|
94 </P> |
|
95 </TD> |
|
96 </TR> |
|
97 <TR> |
|
98 <TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD> |
|
99 <P> |
|
100 <P>return type for function</P> |
|
101 </P> |
|
102 </TD> |
|
103 </TR> |
|
104 <TR> |
|
105 <TD>IsStatic</TD><TD>no</TD><TD>false</TD><TD> |
|
106 <P> |
|
107 <P>is the function static?</P> |
|
108 </P> |
|
109 </TD> |
|
110 </TR> |
|
111 <TR> |
|
112 <TD>IsVirtual</TD><TD>no</TD><TD>false</TD><TD> |
|
113 <P> |
|
114 <P>is the function virtual? (ignored if IsStatic)</P> |
|
115 </P> |
|
116 </TD> |
|
117 </TR> |
|
118 <TR> |
|
119 <TD>IsConst</TD><TD>no</TD><TD>false</TD><TD> |
|
120 <P> |
|
121 <P>add 'const' modifier to function?</P> |
|
122 </P> |
|
123 </TD> |
|
124 </TR> |
|
125 <TR> |
|
126 <TD>DeclLocation</TD><TD>no</TD><TD> </TD><TD> |
|
127 <P> |
|
128 <P>name of location into which to add the prototype (either this or DeclPhase must be defined)</P> |
|
129 </P> |
|
130 </TD> |
|
131 </TR> |
|
132 <TR> |
|
133 <TD>DeclPhase</TD><TD>no</TD><TD> </TD><TD> |
|
134 <P> |
|
135 <P>name of phase into which to add the prototype (either this or DeclLocation must be defined)</P> |
|
136 </P> |
|
137 </TD> |
|
138 </TR> |
|
139 <TR> |
|
140 <TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD> |
|
141 <P> |
|
142 <P>return type for function</P> |
|
143 </P> |
|
144 </TD> |
|
145 </TR> |
|
146 <TR> |
|
147 <TD>IsStatic</TD><TD>no</TD><TD>false</TD><TD> |
|
148 <P> |
|
149 <P>is the function static?</P> |
|
150 </P> |
|
151 </TD> |
|
152 </TR> |
|
153 <TR> |
|
154 <TD>IsVirtual</TD><TD>no</TD><TD>false</TD><TD> |
|
155 <P> |
|
156 <P>is the function virtual? (ignored if IsStatic)</P> |
|
157 </P> |
|
158 </TD> |
|
159 </TR> |
|
160 <TR> |
|
161 <TD>IsConst</TD><TD>no</TD><TD>false</TD><TD> |
|
162 <P> |
|
163 <P>add 'const' modifier to function?</P> |
|
164 </P> |
|
165 </TD> |
|
166 </TR> |
|
167 </TABLE> |
|
168 |
|
169 <A name="GenerateDefaultFunctionBody"></A> |
|
170 <H2>GenerateDefaultFunctionBody</H2> |
|
171 <P> |
|
172 <P>Create the default body for a function. If FunctionBody is set, emits that. If ReturnType is not void and DefaultReturn is set, create a return statement using its value.</P> |
|
173 </P> |
|
174 <H3>Arguments</H3> |
|
175 <TABLE border="1" cellpadding="3"> |
|
176 <TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH> |
|
177 <TR> |
|
178 <TD>FunctionLocationId</TD><TD>yes</TD><TD> </TD><TD> |
|
179 <P> |
|
180 <P>name of the function location to define; body is named id+_BODY</P> |
|
181 </P> |
|
182 </TD> |
|
183 </TR> |
|
184 <TR> |
|
185 <TD>FunctionLocationId</TD><TD>yes</TD><TD> </TD><TD> |
|
186 <P> |
|
187 <P>name of the function location to define; body is named id+_BODY</P> |
|
188 </P> |
|
189 </TD> |
|
190 </TR> |
|
191 <TR> |
|
192 <TD>DefaultReturn</TD><TD>no</TD><TD> </TD><TD> |
|
193 <P> |
|
194 <P>default value to return; overridden if FunctionBody is specified</P> |
|
195 </P> |
|
196 </TD> |
|
197 </TR> |
|
198 <TR> |
|
199 <TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD> |
|
200 <P> |
|
201 <P>return type for function</P> |
|
202 </P> |
|
203 </TD> |
|
204 </TR> |
|
205 <TR> |
|
206 <TD>FunctionBody</TD><TD>no</TD><TD> </TD><TD> |
|
207 <P> |
|
208 <P>text inside function body (comment and/or code)</P> |
|
209 </P> |
|
210 </TD> |
|
211 </TR> |
|
212 <TR> |
|
213 <TD>DefaultReturn</TD><TD>no</TD><TD> </TD><TD> |
|
214 <P> |
|
215 <P>default value to return; overridden if FunctionBody is specified</P> |
|
216 </P> |
|
217 </TD> |
|
218 </TR> |
|
219 <TR> |
|
220 <TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD> |
|
221 <P> |
|
222 <P>return type for function</P> |
|
223 </P> |
|
224 </TD> |
|
225 </TR> |
|
226 <TR> |
|
227 <TD>FunctionBody</TD><TD>no</TD><TD> </TD><TD> |
|
228 <P> |
|
229 <P>text inside function body (comment and/or code)</P> |
|
230 </P> |
|
231 </TD> |
|
232 </TR> |
|
233 </TABLE> |
|
234 |
|
235 <A name="DefineMethod"></A> |
|
236 <H2>DefineMethod</H2> |
|
237 <P> |
|
238 <P>Defines a method to one location, optionally generating body text, or a default return statement. The generated function is owned by default.</P> |
|
239 </P> |
|
240 <H3>Arguments</H3> |
|
241 <TABLE border="1" cellpadding="3"> |
|
242 <TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH> |
|
243 <TR> |
|
244 <TD>DefnLocation</TD><TD>yes</TD><TD> </TD><TD> |
|
245 <P> |
|
246 <P>name of location into which to add the function</P> |
|
247 </P> |
|
248 </TD> |
|
249 </TR> |
|
250 <TR> |
|
251 <TD>FunctionName</TD><TD>yes</TD><TD> </TD><TD> |
|
252 <P> |
|
253 <P>name of function</P> |
|
254 </P> |
|
255 </TD> |
|
256 </TR> |
|
257 <TR> |
|
258 <TD>FunctionArgs</TD><TD>yes</TD><TD> </TD><TD> |
|
259 <P> |
|
260 <P>canonical argument list (e.g. "const TInt& aArg, TInt aFoo = 3")</P> |
|
261 </P> |
|
262 </TD> |
|
263 </TR> |
|
264 <TR> |
|
265 <TD>DefnLocation</TD><TD>yes</TD><TD> </TD><TD> |
|
266 <P> |
|
267 <P>name of location into which to add the function</P> |
|
268 </P> |
|
269 </TD> |
|
270 </TR> |
|
271 <TR> |
|
272 <TD>FunctionName</TD><TD>yes</TD><TD> </TD><TD> |
|
273 <P> |
|
274 <P>name of function</P> |
|
275 </P> |
|
276 </TD> |
|
277 </TR> |
|
278 <TR> |
|
279 <TD>FunctionArgs</TD><TD>yes</TD><TD> </TD><TD> |
|
280 <P> |
|
281 <P>canonical argument list (e.g. "const TInt& aArg, TInt aFoo = 3")</P> |
|
282 </P> |
|
283 </TD> |
|
284 </TR> |
|
285 <TR> |
|
286 <TD>IsOwned</TD><TD>no</TD><TD>true</TD><TD> |
|
287 <P> |
|
288 <P>is the function body owned?</P> |
|
289 </P> |
|
290 </TD> |
|
291 </TR> |
|
292 <TR> |
|
293 <TD>IsConst</TD><TD>no</TD><TD>false</TD><TD> |
|
294 <P> |
|
295 <P>add 'const' modifier to function?</P> |
|
296 </P> |
|
297 </TD> |
|
298 </TR> |
|
299 <TR> |
|
300 <TD>ClassName</TD><TD>no</TD><TD>${className}</TD><TD> |
|
301 <P> |
|
302 <P>the class name</P> |
|
303 </P> |
|
304 </TD> |
|
305 </TR> |
|
306 <TR> |
|
307 <TD>FunctionComment</TD><TD>no</TD><TD> </TD><TD> |
|
308 <P> |
|
309 <P>comment appearing before function defn</P> |
|
310 </P> |
|
311 </TD> |
|
312 </TR> |
|
313 <TR> |
|
314 <TD>IsEventHandler</TD><TD>no</TD><TD>false</TD><TD> |
|
315 <P> |
|
316 <P>is the function body the user event handler?</P> |
|
317 </P> |
|
318 </TD> |
|
319 </TR> |
|
320 <TR> |
|
321 <TD>Initializers</TD><TD>no</TD><TD> </TD><TD> |
|
322 <P> |
|
323 <P>provide any initializer expressions, e.g. for constructors, appearing on a separate line after the argument list and before the function body. Do not provide the leading colon (':') as this is added automatically</P> |
|
324 </P> |
|
325 </TD> |
|
326 </TR> |
|
327 <TR> |
|
328 <TD>IsOwned</TD><TD>no</TD><TD>true</TD><TD> |
|
329 <P> |
|
330 <P>is the function body owned?</P> |
|
331 </P> |
|
332 </TD> |
|
333 </TR> |
|
334 <TR> |
|
335 <TD>IsConst</TD><TD>no</TD><TD>false</TD><TD> |
|
336 <P> |
|
337 <P>add 'const' modifier to function?</P> |
|
338 </P> |
|
339 </TD> |
|
340 </TR> |
|
341 <TR> |
|
342 <TD>ClassName</TD><TD>no</TD><TD>${className}</TD><TD> |
|
343 <P> |
|
344 <P>the class name</P> |
|
345 </P> |
|
346 </TD> |
|
347 </TR> |
|
348 <TR> |
|
349 <TD>FunctionComment</TD><TD>no</TD><TD> </TD><TD> |
|
350 <P> |
|
351 <P>comment appearing before function defn</P> |
|
352 </P> |
|
353 </TD> |
|
354 </TR> |
|
355 <TR> |
|
356 <TD>IsEventHandler</TD><TD>no</TD><TD>false</TD><TD> |
|
357 <P> |
|
358 <P>is the function body the user event handler?</P> |
|
359 </P> |
|
360 </TD> |
|
361 </TR> |
|
362 <TR> |
|
363 <TD>Initializers</TD><TD>no</TD><TD> </TD><TD> |
|
364 <P> |
|
365 <P>provide any initializer expressions, e.g. for constructors, appearing on a separate line after the argument list and before the function body. Do not provide the leading colon (':') as this is added automatically</P> |
|
366 </P> |
|
367 </TD> |
|
368 </TR> |
|
369 </TABLE> |
|
370 <P>Inherited from <A href="#GenerateDefaultFunctionBody">GenerateDefaultFunctionBody</A>:</P> |
|
371 <TABLE border="1" cellpadding="3"> |
|
372 <TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH> |
|
373 <TR> |
|
374 <TD>FunctionLocationId</TD><TD>yes</TD><TD> </TD><TD> |
|
375 <P> |
|
376 <P>name of the function location to define; body is named id+_BODY</P> |
|
377 </P> |
|
378 </TD> |
|
379 </TR> |
|
380 <TR> |
|
381 <TD>DefaultReturn</TD><TD>no</TD><TD> </TD><TD> |
|
382 <P> |
|
383 <P>default value to return; overridden if FunctionBody is specified</P> |
|
384 </P> |
|
385 </TD> |
|
386 </TR> |
|
387 <TR> |
|
388 <TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD> |
|
389 <P> |
|
390 <P>return type for function</P> |
|
391 </P> |
|
392 </TD> |
|
393 </TR> |
|
394 <TR> |
|
395 <TD>FunctionBody</TD><TD>no</TD><TD> </TD><TD> |
|
396 <P> |
|
397 <P>text inside function body (comment and/or code)</P> |
|
398 </P> |
|
399 </TD> |
|
400 </TR> |
|
401 </TABLE> |
|
402 |
|
403 <A name="GenerateMethod"></A> |
|
404 <H2>GenerateMethod</H2> |
|
405 <P> |
|
406 <P>Declares and defines a method to one location and adds the prototype to another location.</P> |
|
407 </P> |
|
408 <H3>Arguments</H3> |
|
409 <TABLE border="1" cellpadding="3"> |
|
410 <TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH> |
|
411 </TABLE> |
|
412 <P>Inherited from <A href="#DeclareMethod">DeclareMethod</A>:</P> |
|
413 <TABLE border="1" cellpadding="3"> |
|
414 <TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH> |
|
415 <TR> |
|
416 <TD>FunctionName</TD><TD>yes</TD><TD> </TD><TD> |
|
417 <P> |
|
418 <P>name of function</P> |
|
419 </P> |
|
420 </TD> |
|
421 </TR> |
|
422 <TR> |
|
423 <TD>FunctionArgs</TD><TD>yes</TD><TD> </TD><TD> |
|
424 <P> |
|
425 <P>canonical argument list (e.g. "const TInt& aArg, TInt aFoo = 3")</P> |
|
426 </P> |
|
427 </TD> |
|
428 </TR> |
|
429 <TR> |
|
430 <TD>DeclLocation</TD><TD>no</TD><TD> </TD><TD> |
|
431 <P> |
|
432 <P>name of location into which to add the prototype (either this or DeclPhase must be defined)</P> |
|
433 </P> |
|
434 </TD> |
|
435 </TR> |
|
436 <TR> |
|
437 <TD>DeclPhase</TD><TD>no</TD><TD> </TD><TD> |
|
438 <P> |
|
439 <P>name of phase into which to add the prototype (either this or DeclLocation must be defined)</P> |
|
440 </P> |
|
441 </TD> |
|
442 </TR> |
|
443 <TR> |
|
444 <TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD> |
|
445 <P> |
|
446 <P>return type for function</P> |
|
447 </P> |
|
448 </TD> |
|
449 </TR> |
|
450 <TR> |
|
451 <TD>IsStatic</TD><TD>no</TD><TD>false</TD><TD> |
|
452 <P> |
|
453 <P>is the function static?</P> |
|
454 </P> |
|
455 </TD> |
|
456 </TR> |
|
457 <TR> |
|
458 <TD>IsVirtual</TD><TD>no</TD><TD>false</TD><TD> |
|
459 <P> |
|
460 <P>is the function virtual? (ignored if IsStatic)</P> |
|
461 </P> |
|
462 </TD> |
|
463 </TR> |
|
464 <TR> |
|
465 <TD>IsConst</TD><TD>no</TD><TD>false</TD><TD> |
|
466 <P> |
|
467 <P>add 'const' modifier to function?</P> |
|
468 </P> |
|
469 </TD> |
|
470 </TR> |
|
471 </TABLE> |
|
472 <P>Inherited from <A href="#DefineMethod">DefineMethod</A>:</P> |
|
473 <TABLE border="1" cellpadding="3"> |
|
474 <TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH> |
|
475 <TR> |
|
476 <TD>FunctionLocationId</TD><TD>yes</TD><TD> </TD><TD> |
|
477 <P> |
|
478 <P>name of the function location to define; body is named id+_BODY</P> |
|
479 </P> |
|
480 </TD> |
|
481 </TR> |
|
482 <TR> |
|
483 <TD>DefnLocation</TD><TD>yes</TD><TD> </TD><TD> |
|
484 <P> |
|
485 <P>name of location into which to add the function</P> |
|
486 </P> |
|
487 </TD> |
|
488 </TR> |
|
489 <TR> |
|
490 <TD>DefaultReturn</TD><TD>no</TD><TD> </TD><TD> |
|
491 <P> |
|
492 <P>default value to return; overridden if FunctionBody is specified</P> |
|
493 </P> |
|
494 </TD> |
|
495 </TR> |
|
496 <TR> |
|
497 <TD>FunctionBody</TD><TD>no</TD><TD> </TD><TD> |
|
498 <P> |
|
499 <P>text inside function body (comment and/or code)</P> |
|
500 </P> |
|
501 </TD> |
|
502 </TR> |
|
503 <TR> |
|
504 <TD>IsOwned</TD><TD>no</TD><TD>true</TD><TD> |
|
505 <P> |
|
506 <P>is the function body owned?</P> |
|
507 </P> |
|
508 </TD> |
|
509 </TR> |
|
510 <TR> |
|
511 <TD>ClassName</TD><TD>no</TD><TD>${className}</TD><TD> |
|
512 <P> |
|
513 <P>the class name</P> |
|
514 </P> |
|
515 </TD> |
|
516 </TR> |
|
517 <TR> |
|
518 <TD>FunctionComment</TD><TD>no</TD><TD> </TD><TD> |
|
519 <P> |
|
520 <P>comment appearing before function defn</P> |
|
521 </P> |
|
522 </TD> |
|
523 </TR> |
|
524 <TR> |
|
525 <TD>IsEventHandler</TD><TD>no</TD><TD>false</TD><TD> |
|
526 <P> |
|
527 <P>is the function body the user event handler?</P> |
|
528 </P> |
|
529 </TD> |
|
530 </TR> |
|
531 <TR> |
|
532 <TD>Initializers</TD><TD>no</TD><TD> </TD><TD> |
|
533 <P> |
|
534 <P>provide any initializer expressions, e.g. for constructors, appearing on a separate line after the argument list and before the function body. Do not provide the leading colon (':') as this is added automatically</P> |
|
535 </P> |
|
536 </TD> |
|
537 </TR> |
|
538 </TABLE> |
|
539 |
|
540 <A name="DefineMethodWithOwnedBody"></A> |
|
541 <H2>DefineMethodWithOwnedBody</H2> |
|
542 <P> |
|
543 <P>Defines a method with an owned body section. </P> |
|
544 <P> The generated function is not owned by default, unlike Method. There may be uses for an owned function with a named owned region, though. </P> |
|
545 <P> Also, no default function code is generated, so the provided StartFunctionBody, FunctionBody, and EndFunctionBody must account for any return statements.</P> |
|
546 </P> |
|
547 <H3>Arguments</H3> |
|
548 <TABLE border="1" cellpadding="3"> |
|
549 <TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH> |
|
550 <TR> |
|
551 <TD>FunctionBody</TD><TD>no</TD><TD> </TD><TD> |
|
552 <P> |
|
553 <P>text inside owned part of function body</P> |
|
554 </P> |
|
555 </TD> |
|
556 </TR> |
|
557 <TR> |
|
558 <TD>OwnedRegionLocationId</TD><TD>no</TD><TD>$(FunctionLocationId)_BODY</TD><TD> |
|
559 <P> |
|
560 <P>location id for enclosed body</P> |
|
561 </P> |
|
562 </TD> |
|
563 </TR> |
|
564 <TR> |
|
565 <TD>OwnedRegionName</TD><TD>no</TD><TD>Generated Contents</TD><TD> |
|
566 <P> |
|
567 <P>region name for enclosed body</P> |
|
568 </P> |
|
569 </TD> |
|
570 </TR> |
|
571 <TR> |
|
572 <TD>StartFunctionBody</TD><TD>no</TD><TD> </TD><TD> |
|
573 <P> |
|
574 <P>text inside function body (comment and/or code) before the owned section</P> |
|
575 </P> |
|
576 </TD> |
|
577 </TR> |
|
578 <TR> |
|
579 <TD>EndFunctionBody</TD><TD>no</TD><TD> </TD><TD> |
|
580 <P> |
|
581 <P>text inside function body (comment and/or code) after the owned section</P> |
|
582 </P> |
|
583 </TD> |
|
584 </TR> |
|
585 <TR> |
|
586 <TD>FunctionBody</TD><TD>no</TD><TD> </TD><TD> |
|
587 <P> |
|
588 <P>text inside owned part of function body</P> |
|
589 </P> |
|
590 </TD> |
|
591 </TR> |
|
592 <TR> |
|
593 <TD>OwnedRegionLocationId</TD><TD>no</TD><TD>$(FunctionLocationId)_BODY</TD><TD> |
|
594 <P> |
|
595 <P>location id for enclosed body</P> |
|
596 </P> |
|
597 </TD> |
|
598 </TR> |
|
599 <TR> |
|
600 <TD>OwnedRegionName</TD><TD>no</TD><TD>Generated Contents</TD><TD> |
|
601 <P> |
|
602 <P>region name for enclosed body</P> |
|
603 </P> |
|
604 </TD> |
|
605 </TR> |
|
606 <TR> |
|
607 <TD>StartFunctionBody</TD><TD>no</TD><TD> </TD><TD> |
|
608 <P> |
|
609 <P>text inside function body (comment and/or code) before the owned section</P> |
|
610 </P> |
|
611 </TD> |
|
612 </TR> |
|
613 <TR> |
|
614 <TD>EndFunctionBody</TD><TD>no</TD><TD> </TD><TD> |
|
615 <P> |
|
616 <P>text inside function body (comment and/or code) after the owned section</P> |
|
617 </P> |
|
618 </TD> |
|
619 </TR> |
|
620 </TABLE> |
|
621 <P>Inherited from <A href="#DefineMethod">DefineMethod</A>:</P> |
|
622 <TABLE border="1" cellpadding="3"> |
|
623 <TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH> |
|
624 <TR> |
|
625 <TD>FunctionLocationId</TD><TD>yes</TD><TD> </TD><TD> |
|
626 <P> |
|
627 <P>name of the function location to define; body is named id+_BODY</P> |
|
628 </P> |
|
629 </TD> |
|
630 </TR> |
|
631 <TR> |
|
632 <TD>DefnLocation</TD><TD>yes</TD><TD> </TD><TD> |
|
633 <P> |
|
634 <P>name of location into which to add the function</P> |
|
635 </P> |
|
636 </TD> |
|
637 </TR> |
|
638 <TR> |
|
639 <TD>FunctionName</TD><TD>yes</TD><TD> </TD><TD> |
|
640 <P> |
|
641 <P>name of function</P> |
|
642 </P> |
|
643 </TD> |
|
644 </TR> |
|
645 <TR> |
|
646 <TD>FunctionArgs</TD><TD>yes</TD><TD> </TD><TD> |
|
647 <P> |
|
648 <P>canonical argument list (e.g. "const TInt& aArg, TInt aFoo = 3")</P> |
|
649 </P> |
|
650 </TD> |
|
651 </TR> |
|
652 <TR> |
|
653 <TD>DefaultReturn</TD><TD>no</TD><TD> </TD><TD> |
|
654 <P> |
|
655 <P>default value to return; overridden if FunctionBody is specified</P> |
|
656 </P> |
|
657 </TD> |
|
658 </TR> |
|
659 <TR> |
|
660 <TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD> |
|
661 <P> |
|
662 <P>return type for function</P> |
|
663 </P> |
|
664 </TD> |
|
665 </TR> |
|
666 <TR> |
|
667 <TD>IsOwned</TD><TD>no</TD><TD>true</TD><TD> |
|
668 <P> |
|
669 <P>is the function body owned?</P> |
|
670 </P> |
|
671 </TD> |
|
672 </TR> |
|
673 <TR> |
|
674 <TD>IsConst</TD><TD>no</TD><TD>false</TD><TD> |
|
675 <P> |
|
676 <P>add 'const' modifier to function?</P> |
|
677 </P> |
|
678 </TD> |
|
679 </TR> |
|
680 <TR> |
|
681 <TD>ClassName</TD><TD>no</TD><TD>${className}</TD><TD> |
|
682 <P> |
|
683 <P>the class name</P> |
|
684 </P> |
|
685 </TD> |
|
686 </TR> |
|
687 <TR> |
|
688 <TD>FunctionComment</TD><TD>no</TD><TD> </TD><TD> |
|
689 <P> |
|
690 <P>comment appearing before function defn</P> |
|
691 </P> |
|
692 </TD> |
|
693 </TR> |
|
694 <TR> |
|
695 <TD>IsEventHandler</TD><TD>no</TD><TD>false</TD><TD> |
|
696 <P> |
|
697 <P>is the function body the user event handler?</P> |
|
698 </P> |
|
699 </TD> |
|
700 </TR> |
|
701 <TR> |
|
702 <TD>Initializers</TD><TD>no</TD><TD> </TD><TD> |
|
703 <P> |
|
704 <P>provide any initializer expressions, e.g. for constructors, appearing on a separate line after the argument list and before the function body. Do not provide the leading colon (':') as this is added automatically</P> |
|
705 </P> |
|
706 </TD> |
|
707 </TR> |
|
708 </TABLE> |
|
709 |
|
710 <A name="GenerateMethodWithOwnedBody"></A> |
|
711 <H2>GenerateMethodWithOwnedBody</H2> |
|
712 <P> |
|
713 <P>Declares and defines a method with an owned body section to one location and adds the prototype to another location. </P> |
|
714 <P> The generated function is not owned by default, unlike Method. There may be uses for an owned function with a named owned region, though.</P> |
|
715 </P> |
|
716 <H3>Arguments</H3> |
|
717 <TABLE border="1" cellpadding="3"> |
|
718 <TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH> |
|
719 </TABLE> |
|
720 <P>Inherited from <A href="#DefineMethodWithOwnedBody">DefineMethodWithOwnedBody</A>:</P> |
|
721 <TABLE border="1" cellpadding="3"> |
|
722 <TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH> |
|
723 <TR> |
|
724 <TD>FunctionLocationId</TD><TD>yes</TD><TD> </TD><TD> |
|
725 <P> |
|
726 <P>name of the function location to define; body is named id+_BODY</P> |
|
727 </P> |
|
728 </TD> |
|
729 </TR> |
|
730 <TR> |
|
731 <TD>DefnLocation</TD><TD>yes</TD><TD> </TD><TD> |
|
732 <P> |
|
733 <P>name of location into which to add the function</P> |
|
734 </P> |
|
735 </TD> |
|
736 </TR> |
|
737 <TR> |
|
738 <TD>FunctionName</TD><TD>yes</TD><TD> </TD><TD> |
|
739 <P> |
|
740 <P>name of function</P> |
|
741 </P> |
|
742 </TD> |
|
743 </TR> |
|
744 <TR> |
|
745 <TD>FunctionArgs</TD><TD>yes</TD><TD> </TD><TD> |
|
746 <P> |
|
747 <P>canonical argument list (e.g. "const TInt& aArg, TInt aFoo = 3")</P> |
|
748 </P> |
|
749 </TD> |
|
750 </TR> |
|
751 <TR> |
|
752 <TD>DefaultReturn</TD><TD>no</TD><TD> </TD><TD> |
|
753 <P> |
|
754 <P>default value to return; overridden if FunctionBody is specified</P> |
|
755 </P> |
|
756 </TD> |
|
757 </TR> |
|
758 <TR> |
|
759 <TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD> |
|
760 <P> |
|
761 <P>return type for function</P> |
|
762 </P> |
|
763 </TD> |
|
764 </TR> |
|
765 <TR> |
|
766 <TD>FunctionBody</TD><TD>no</TD><TD> </TD><TD> |
|
767 <P> |
|
768 <P>text inside owned part of function body</P> |
|
769 </P> |
|
770 </TD> |
|
771 </TR> |
|
772 <TR> |
|
773 <TD>IsOwned</TD><TD>no</TD><TD>true</TD><TD> |
|
774 <P> |
|
775 <P>is the function body owned?</P> |
|
776 </P> |
|
777 </TD> |
|
778 </TR> |
|
779 <TR> |
|
780 <TD>IsConst</TD><TD>no</TD><TD>false</TD><TD> |
|
781 <P> |
|
782 <P>add 'const' modifier to function?</P> |
|
783 </P> |
|
784 </TD> |
|
785 </TR> |
|
786 <TR> |
|
787 <TD>ClassName</TD><TD>no</TD><TD>${className}</TD><TD> |
|
788 <P> |
|
789 <P>the class name</P> |
|
790 </P> |
|
791 </TD> |
|
792 </TR> |
|
793 <TR> |
|
794 <TD>FunctionComment</TD><TD>no</TD><TD> </TD><TD> |
|
795 <P> |
|
796 <P>comment appearing before function defn</P> |
|
797 </P> |
|
798 </TD> |
|
799 </TR> |
|
800 <TR> |
|
801 <TD>IsEventHandler</TD><TD>no</TD><TD>false</TD><TD> |
|
802 <P> |
|
803 <P>is the function body the user event handler?</P> |
|
804 </P> |
|
805 </TD> |
|
806 </TR> |
|
807 <TR> |
|
808 <TD>Initializers</TD><TD>no</TD><TD> </TD><TD> |
|
809 <P> |
|
810 <P>provide any initializer expressions, e.g. for constructors, appearing on a separate line after the argument list and before the function body. Do not provide the leading colon (':') as this is added automatically</P> |
|
811 </P> |
|
812 </TD> |
|
813 </TR> |
|
814 <TR> |
|
815 <TD>OwnedRegionLocationId</TD><TD>no</TD><TD>$(FunctionLocationId)_BODY</TD><TD> |
|
816 <P> |
|
817 <P>location id for enclosed body</P> |
|
818 </P> |
|
819 </TD> |
|
820 </TR> |
|
821 <TR> |
|
822 <TD>OwnedRegionName</TD><TD>no</TD><TD>Generated Contents</TD><TD> |
|
823 <P> |
|
824 <P>region name for enclosed body</P> |
|
825 </P> |
|
826 </TD> |
|
827 </TR> |
|
828 <TR> |
|
829 <TD>StartFunctionBody</TD><TD>no</TD><TD> </TD><TD> |
|
830 <P> |
|
831 <P>text inside function body (comment and/or code) before the owned section</P> |
|
832 </P> |
|
833 </TD> |
|
834 </TR> |
|
835 <TR> |
|
836 <TD>EndFunctionBody</TD><TD>no</TD><TD> </TD><TD> |
|
837 <P> |
|
838 <P>text inside function body (comment and/or code) after the owned section</P> |
|
839 </P> |
|
840 </TD> |
|
841 </TR> |
|
842 </TABLE> |
|
843 <P>Inherited from <A href="#DeclareMethod">DeclareMethod</A>:</P> |
|
844 <TABLE border="1" cellpadding="3"> |
|
845 <TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH> |
|
846 <TR> |
|
847 <TD>DeclLocation</TD><TD>no</TD><TD> </TD><TD> |
|
848 <P> |
|
849 <P>name of location into which to add the prototype (either this or DeclPhase must be defined)</P> |
|
850 </P> |
|
851 </TD> |
|
852 </TR> |
|
853 <TR> |
|
854 <TD>DeclPhase</TD><TD>no</TD><TD> </TD><TD> |
|
855 <P> |
|
856 <P>name of phase into which to add the prototype (either this or DeclLocation must be defined)</P> |
|
857 </P> |
|
858 </TD> |
|
859 </TR> |
|
860 <TR> |
|
861 <TD>IsStatic</TD><TD>no</TD><TD>false</TD><TD> |
|
862 <P> |
|
863 <P>is the function static?</P> |
|
864 </P> |
|
865 </TD> |
|
866 </TR> |
|
867 <TR> |
|
868 <TD>IsVirtual</TD><TD>no</TD><TD>false</TD><TD> |
|
869 <P> |
|
870 <P>is the function virtual? (ignored if IsStatic)</P> |
|
871 </P> |
|
872 </TD> |
|
873 </TR> |
|
874 </TABLE> |
|
875 |
|
876 <A name="GenerateMethodWithVariantArguments"></A> |
|
877 <H2>GenerateMethodWithVariantArguments</H2> |
|
878 <P> |
|
879 <P> Declares and defines an owned method with variant arguments to one location and adds the prototype to another location. </P> |
|
880 <P> Variant arguments means design-time variable (not C varargs). The function has a non-empty list of fixed arguments followed by a non-empty list of variable arguments which are generated by a Javascript expression. </P> |
|
881 <P> The generated function is owned by default. It doesn't make sense to use this non-owned, since this will introduce compile errors when the prototype changes and the old body remains behind. </P> |
|
882 </P> |
|
883 <H3>Arguments</H3> |
|
884 <TABLE border="1" cellpadding="3"> |
|
885 <TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH> |
|
886 <TR> |
|
887 <TD>FunctionArgs</TD><TD>yes</TD><TD> </TD><TD> |
|
888 <P> |
|
889 <P>canonical leading static argument list (e.g. "const TInt& aArg, TInt aFoo = 3") Do not include a trailing comma</P> |
|
890 </P> |
|
891 </TD> |
|
892 </TR> |
|
893 <TR> |
|
894 <TD>FunctionVarArgsAllowEmpty</TD><TD>yes</TD><TD> </TD><TD> |
|
895 <P> |
|
896 <P>tell whether the varargs may be empty</P> |
|
897 </P> |
|
898 </TD> |
|
899 </TR> |
|
900 <TR> |
|
901 <TD>FunctionVarArgsDeclExpr</TD><TD>yes</TD><TD> </TD><TD> |
|
902 <P> |
|
903 <P>generator for the variable arguments as appearing in the declaration (a Javascript expression); if FunctionVarArgsAllowEmpty==false, do not generate a leading comma</P> |
|
904 </P> |
|
905 </TD> |
|
906 </TR> |
|
907 <TR> |
|
908 <TD>FunctionVarArgsDefnExpr</TD><TD>yes</TD><TD> </TD><TD> |
|
909 <P> |
|
910 <P>generator for the variable arguments as appearing in the definition (a Javascript expression); if FunctionVarArgsAllowEmpty==false, do not generate a leading comma</P> |
|
911 </P> |
|
912 </TD> |
|
913 </TR> |
|
914 <TR> |
|
915 <TD>FunctionArgs</TD><TD>yes</TD><TD> </TD><TD> |
|
916 <P> |
|
917 <P>canonical leading static argument list (e.g. "const TInt& aArg, TInt aFoo = 3") Do not include a trailing comma</P> |
|
918 </P> |
|
919 </TD> |
|
920 </TR> |
|
921 <TR> |
|
922 <TD>FunctionVarArgsAllowEmpty</TD><TD>yes</TD><TD> </TD><TD> |
|
923 <P> |
|
924 <P>tell whether the varargs may be empty</P> |
|
925 </P> |
|
926 </TD> |
|
927 </TR> |
|
928 <TR> |
|
929 <TD>FunctionVarArgsDeclExpr</TD><TD>yes</TD><TD> </TD><TD> |
|
930 <P> |
|
931 <P>generator for the variable arguments as appearing in the declaration (a Javascript expression); if FunctionVarArgsAllowEmpty==false, do not generate a leading comma</P> |
|
932 </P> |
|
933 </TD> |
|
934 </TR> |
|
935 <TR> |
|
936 <TD>FunctionVarArgsDefnExpr</TD><TD>yes</TD><TD> </TD><TD> |
|
937 <P> |
|
938 <P>generator for the variable arguments as appearing in the definition (a Javascript expression); if FunctionVarArgsAllowEmpty==false, do not generate a leading comma</P> |
|
939 </P> |
|
940 </TD> |
|
941 </TR> |
|
942 <TR> |
|
943 <TD>IsOwned</TD><TD>no</TD><TD>true</TD><TD> |
|
944 <P> |
|
945 <P>tell whether the function is owned. In general, it should be, otherwise compile errors will be introduced when the method's signature changes and the old version is left behind.</P> |
|
946 </P> |
|
947 </TD> |
|
948 </TR> |
|
949 <TR> |
|
950 <TD>IsOwned</TD><TD>no</TD><TD>true</TD><TD> |
|
951 <P> |
|
952 <P>tell whether the function is owned. In general, it should be, otherwise compile errors will be introduced when the method's signature changes and the old version is left behind.</P> |
|
953 </P> |
|
954 </TD> |
|
955 </TR> |
|
956 </TABLE> |
|
957 <P>Inherited from <A href="#GenerateMethod">GenerateMethod</A>:</P> |
|
958 <TABLE border="1" cellpadding="3"> |
|
959 <TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH> |
|
960 <TR> |
|
961 <TD>FunctionName</TD><TD>yes</TD><TD> </TD><TD> |
|
962 <P> |
|
963 <P>name of function</P> |
|
964 </P> |
|
965 </TD> |
|
966 </TR> |
|
967 <TR> |
|
968 <TD>FunctionLocationId</TD><TD>yes</TD><TD> </TD><TD> |
|
969 <P> |
|
970 <P>name of the function location to define; body is named id+_BODY</P> |
|
971 </P> |
|
972 </TD> |
|
973 </TR> |
|
974 <TR> |
|
975 <TD>DefnLocation</TD><TD>yes</TD><TD> </TD><TD> |
|
976 <P> |
|
977 <P>name of location into which to add the function</P> |
|
978 </P> |
|
979 </TD> |
|
980 </TR> |
|
981 <TR> |
|
982 <TD>DeclLocation</TD><TD>no</TD><TD> </TD><TD> |
|
983 <P> |
|
984 <P>name of location into which to add the prototype (either this or DeclPhase must be defined)</P> |
|
985 </P> |
|
986 </TD> |
|
987 </TR> |
|
988 <TR> |
|
989 <TD>DeclPhase</TD><TD>no</TD><TD> </TD><TD> |
|
990 <P> |
|
991 <P>name of phase into which to add the prototype (either this or DeclLocation must be defined)</P> |
|
992 </P> |
|
993 </TD> |
|
994 </TR> |
|
995 <TR> |
|
996 <TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD> |
|
997 <P> |
|
998 <P>return type for function</P> |
|
999 </P> |
|
1000 </TD> |
|
1001 </TR> |
|
1002 <TR> |
|
1003 <TD>IsStatic</TD><TD>no</TD><TD>false</TD><TD> |
|
1004 <P> |
|
1005 <P>is the function static?</P> |
|
1006 </P> |
|
1007 </TD> |
|
1008 </TR> |
|
1009 <TR> |
|
1010 <TD>IsVirtual</TD><TD>no</TD><TD>false</TD><TD> |
|
1011 <P> |
|
1012 <P>is the function virtual? (ignored if IsStatic)</P> |
|
1013 </P> |
|
1014 </TD> |
|
1015 </TR> |
|
1016 <TR> |
|
1017 <TD>IsConst</TD><TD>no</TD><TD>false</TD><TD> |
|
1018 <P> |
|
1019 <P>add 'const' modifier to function?</P> |
|
1020 </P> |
|
1021 </TD> |
|
1022 </TR> |
|
1023 <TR> |
|
1024 <TD>DefaultReturn</TD><TD>no</TD><TD> </TD><TD> |
|
1025 <P> |
|
1026 <P>default value to return; overridden if FunctionBody is specified</P> |
|
1027 </P> |
|
1028 </TD> |
|
1029 </TR> |
|
1030 <TR> |
|
1031 <TD>FunctionBody</TD><TD>no</TD><TD> </TD><TD> |
|
1032 <P> |
|
1033 <P>text inside function body (comment and/or code)</P> |
|
1034 </P> |
|
1035 </TD> |
|
1036 </TR> |
|
1037 <TR> |
|
1038 <TD>ClassName</TD><TD>no</TD><TD>${className}</TD><TD> |
|
1039 <P> |
|
1040 <P>the class name</P> |
|
1041 </P> |
|
1042 </TD> |
|
1043 </TR> |
|
1044 <TR> |
|
1045 <TD>FunctionComment</TD><TD>no</TD><TD> </TD><TD> |
|
1046 <P> |
|
1047 <P>comment appearing before function defn</P> |
|
1048 </P> |
|
1049 </TD> |
|
1050 </TR> |
|
1051 <TR> |
|
1052 <TD>IsEventHandler</TD><TD>no</TD><TD>false</TD><TD> |
|
1053 <P> |
|
1054 <P>is the function body the user event handler?</P> |
|
1055 </P> |
|
1056 </TD> |
|
1057 </TR> |
|
1058 <TR> |
|
1059 <TD>Initializers</TD><TD>no</TD><TD> </TD><TD> |
|
1060 <P> |
|
1061 <P>provide any initializer expressions, e.g. for constructors, appearing on a separate line after the argument list and before the function body. Do not provide the leading colon (':') as this is added automatically</P> |
|
1062 </P> |
|
1063 </TD> |
|
1064 </TR> |
|
1065 </TABLE> |
|
1066 |
|
1067 <A name="GenerateVirtualMethodOverrideForEventHandler"></A> |
|
1068 <H2>GenerateVirtualMethodOverrideForEventHandler</H2> |
|
1069 <P> |
|
1070 <P>Override a virtual method with a non-owned function with an owned body. This must be invoked in a templateGroup that has an ifEvents="..." attribute, so the 'event' variable is available. </P> |
|
1071 </P> |
|
1072 <H3>Arguments</H3> |
|
1073 <TABLE border="1" cellpadding="3"> |
|
1074 <TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH> |
|
1075 <TR> |
|
1076 <TD>ClassName</TD><TD>no</TD><TD>${handlerClassName}</TD><TD> |
|
1077 <P> |
|
1078 <P>the name of the class</P> |
|
1079 </P> |
|
1080 </TD> |
|
1081 </TR> |
|
1082 <TR> |
|
1083 <TD>UserHandlerFunctionArgs</TD><TD>no</TD><TD> </TD><TD> |
|
1084 <P> |
|
1085 <P>the arguments passed to the user handler function (== FunctionArgs by default)</P> |
|
1086 </P> |
|
1087 </TD> |
|
1088 </TR> |
|
1089 <TR> |
|
1090 <TD>ClassName</TD><TD>no</TD><TD>${handlerClassName}</TD><TD> |
|
1091 <P> |
|
1092 <P>the name of the class</P> |
|
1093 </P> |
|
1094 </TD> |
|
1095 </TR> |
|
1096 <TR> |
|
1097 <TD>UserHandlerFunctionArgs</TD><TD>no</TD><TD> </TD><TD> |
|
1098 <P> |
|
1099 <P>the arguments passed to the user handler function (== FunctionArgs by default)</P> |
|
1100 </P> |
|
1101 </TD> |
|
1102 </TR> |
|
1103 </TABLE> |
|
1104 <P>Inherited from <A href="#GenerateMethodWithOwnedBody">GenerateMethodWithOwnedBody</A>:</P> |
|
1105 <TABLE border="1" cellpadding="3"> |
|
1106 <TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH> |
|
1107 <TR> |
|
1108 <TD>FunctionLocationId</TD><TD>yes</TD><TD> </TD><TD> |
|
1109 <P> |
|
1110 <P>name of the function location to define; body is named id+_BODY</P> |
|
1111 </P> |
|
1112 </TD> |
|
1113 </TR> |
|
1114 <TR> |
|
1115 <TD>DefnLocation</TD><TD>yes</TD><TD> </TD><TD> |
|
1116 <P> |
|
1117 <P>name of location into which to add the function</P> |
|
1118 </P> |
|
1119 </TD> |
|
1120 </TR> |
|
1121 <TR> |
|
1122 <TD>FunctionName</TD><TD>yes</TD><TD> </TD><TD> |
|
1123 <P> |
|
1124 <P>name of function</P> |
|
1125 </P> |
|
1126 </TD> |
|
1127 </TR> |
|
1128 <TR> |
|
1129 <TD>FunctionArgs</TD><TD>yes</TD><TD> </TD><TD> |
|
1130 <P> |
|
1131 <P>canonical argument list (e.g. "const TInt& aArg, TInt aFoo = 3")</P> |
|
1132 </P> |
|
1133 </TD> |
|
1134 </TR> |
|
1135 <TR> |
|
1136 <TD>DefaultReturn</TD><TD>no</TD><TD> </TD><TD> |
|
1137 <P> |
|
1138 <P>default value to return; overridden if FunctionBody is specified</P> |
|
1139 </P> |
|
1140 </TD> |
|
1141 </TR> |
|
1142 <TR> |
|
1143 <TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD> |
|
1144 <P> |
|
1145 <P>return type for function</P> |
|
1146 </P> |
|
1147 </TD> |
|
1148 </TR> |
|
1149 <TR> |
|
1150 <TD>FunctionBody</TD><TD>no</TD><TD> </TD><TD> |
|
1151 <P> |
|
1152 <P>text inside owned part of function body</P> |
|
1153 </P> |
|
1154 </TD> |
|
1155 </TR> |
|
1156 <TR> |
|
1157 <TD>IsOwned</TD><TD>no</TD><TD>true</TD><TD> |
|
1158 <P> |
|
1159 <P>is the function body owned?</P> |
|
1160 </P> |
|
1161 </TD> |
|
1162 </TR> |
|
1163 <TR> |
|
1164 <TD>IsConst</TD><TD>no</TD><TD>false</TD><TD> |
|
1165 <P> |
|
1166 <P>add 'const' modifier to function?</P> |
|
1167 </P> |
|
1168 </TD> |
|
1169 </TR> |
|
1170 <TR> |
|
1171 <TD>FunctionComment</TD><TD>no</TD><TD> </TD><TD> |
|
1172 <P> |
|
1173 <P>comment appearing before function defn</P> |
|
1174 </P> |
|
1175 </TD> |
|
1176 </TR> |
|
1177 <TR> |
|
1178 <TD>IsEventHandler</TD><TD>no</TD><TD>false</TD><TD> |
|
1179 <P> |
|
1180 <P>is the function body the user event handler?</P> |
|
1181 </P> |
|
1182 </TD> |
|
1183 </TR> |
|
1184 <TR> |
|
1185 <TD>Initializers</TD><TD>no</TD><TD> </TD><TD> |
|
1186 <P> |
|
1187 <P>provide any initializer expressions, e.g. for constructors, appearing on a separate line after the argument list and before the function body. Do not provide the leading colon (':') as this is added automatically</P> |
|
1188 </P> |
|
1189 </TD> |
|
1190 </TR> |
|
1191 <TR> |
|
1192 <TD>OwnedRegionLocationId</TD><TD>no</TD><TD>$(FunctionLocationId)_BODY</TD><TD> |
|
1193 <P> |
|
1194 <P>location id for enclosed body</P> |
|
1195 </P> |
|
1196 </TD> |
|
1197 </TR> |
|
1198 <TR> |
|
1199 <TD>OwnedRegionName</TD><TD>no</TD><TD>Generated Contents</TD><TD> |
|
1200 <P> |
|
1201 <P>region name for enclosed body</P> |
|
1202 </P> |
|
1203 </TD> |
|
1204 </TR> |
|
1205 <TR> |
|
1206 <TD>StartFunctionBody</TD><TD>no</TD><TD> </TD><TD> |
|
1207 <P> |
|
1208 <P>text inside function body (comment and/or code) before the owned section</P> |
|
1209 </P> |
|
1210 </TD> |
|
1211 </TR> |
|
1212 <TR> |
|
1213 <TD>EndFunctionBody</TD><TD>no</TD><TD> </TD><TD> |
|
1214 <P> |
|
1215 <P>text inside function body (comment and/or code) after the owned section</P> |
|
1216 </P> |
|
1217 </TD> |
|
1218 </TR> |
|
1219 <TR> |
|
1220 <TD>DeclLocation</TD><TD>no</TD><TD> </TD><TD> |
|
1221 <P> |
|
1222 <P>name of location into which to add the prototype (either this or DeclPhase must be defined)</P> |
|
1223 </P> |
|
1224 </TD> |
|
1225 </TR> |
|
1226 <TR> |
|
1227 <TD>DeclPhase</TD><TD>no</TD><TD> </TD><TD> |
|
1228 <P> |
|
1229 <P>name of phase into which to add the prototype (either this or DeclLocation must be defined)</P> |
|
1230 </P> |
|
1231 </TD> |
|
1232 </TR> |
|
1233 </TABLE> |
|
1234 |
|
1235 <A name="GenerateUserEventHandlerFunction"></A> |
|
1236 <H2>GenerateUserEventHandlerFunction</H2> |
|
1237 <P> |
|
1238 <P> Define a user handler declaration and function. </P> |
|
1239 <P> Provides a default header comment and body comment. </P> |
|
1240 <P> This is NOT conditional, so include it in a <templateGroup ifEvents="..." /> </P> |
|
1241 </P> |
|
1242 <H3>Arguments</H3> |
|
1243 <TABLE border="1" cellpadding="3"> |
|
1244 <TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH> |
|
1245 <TR> |
|
1246 <TD>FunctionLocationId</TD><TD>yes</TD><TD> </TD><TD> |
|
1247 <P> |
|
1248 <P>the id for the event handler function</P> |
|
1249 </P> |
|
1250 </TD> |
|
1251 </TR> |
|
1252 <TR> |
|
1253 <TD>FunctionLocationId</TD><TD>yes</TD><TD> </TD><TD> |
|
1254 <P> |
|
1255 <P>the id for the event handler function</P> |
|
1256 </P> |
|
1257 </TD> |
|
1258 </TR> |
|
1259 <TR> |
|
1260 <TD>FunctionName</TD><TD>no</TD><TD>${event.handlerName}</TD><TD> |
|
1261 <P> |
|
1262 <P>the name of the function/method for the handler; generally the default should be used (the name specified in the Events view)</P> |
|
1263 </P> |
|
1264 </TD> |
|
1265 </TR> |
|
1266 <TR> |
|
1267 <TD>FunctionBody</TD><TD>no</TD><TD> </TD><TD> |
|
1268 <P> |
|
1269 <P>the body of the function, which by default is a TODO comment</P> |
|
1270 </P> |
|
1271 </TD> |
|
1272 </TR> |
|
1273 <TR> |
|
1274 <TD>ClassName</TD><TD>no</TD><TD>${handlerClassName}</TD><TD> |
|
1275 <P> |
|
1276 <P>the name of the class that receives the handler</P> |
|
1277 </P> |
|
1278 </TD> |
|
1279 </TR> |
|
1280 <TR> |
|
1281 <TD>FunctionComment</TD><TD>no</TD><TD> </TD><TD> |
|
1282 <P> |
|
1283 <P>the comment for the function</P> |
|
1284 </P> |
|
1285 </TD> |
|
1286 </TR> |
|
1287 <TR> |
|
1288 <TD>FunctionName</TD><TD>no</TD><TD>${event.handlerName}</TD><TD> |
|
1289 <P> |
|
1290 <P>the name of the function/method for the handler; generally the default should be used (the name specified in the Events view)</P> |
|
1291 </P> |
|
1292 </TD> |
|
1293 </TR> |
|
1294 <TR> |
|
1295 <TD>FunctionBody</TD><TD>no</TD><TD> </TD><TD> |
|
1296 <P> |
|
1297 <P>the body of the function, which by default is a TODO comment</P> |
|
1298 </P> |
|
1299 </TD> |
|
1300 </TR> |
|
1301 <TR> |
|
1302 <TD>ClassName</TD><TD>no</TD><TD>${handlerClassName}</TD><TD> |
|
1303 <P> |
|
1304 <P>the name of the class that receives the handler</P> |
|
1305 </P> |
|
1306 </TD> |
|
1307 </TR> |
|
1308 <TR> |
|
1309 <TD>FunctionComment</TD><TD>no</TD><TD> </TD><TD> |
|
1310 <P> |
|
1311 <P>the comment for the function</P> |
|
1312 </P> |
|
1313 </TD> |
|
1314 </TR> |
|
1315 </TABLE> |
|
1316 <P>Inherited from <A href="#GenerateMethod">GenerateMethod</A>:</P> |
|
1317 <TABLE border="1" cellpadding="3"> |
|
1318 <TH>Argument</TH><TH>Req'd?</TH><TH>Default</TH><TH>Description</TH> |
|
1319 <TR> |
|
1320 <TD>FunctionArgs</TD><TD>yes</TD><TD> </TD><TD> |
|
1321 <P> |
|
1322 <P>canonical argument list (e.g. "const TInt& aArg, TInt aFoo = 3")</P> |
|
1323 </P> |
|
1324 </TD> |
|
1325 </TR> |
|
1326 <TR> |
|
1327 <TD>DefnLocation</TD><TD>yes</TD><TD> </TD><TD> |
|
1328 <P> |
|
1329 <P>name of location into which to add the function</P> |
|
1330 </P> |
|
1331 </TD> |
|
1332 </TR> |
|
1333 <TR> |
|
1334 <TD>DeclLocation</TD><TD>no</TD><TD> </TD><TD> |
|
1335 <P> |
|
1336 <P>name of location into which to add the prototype (either this or DeclPhase must be defined)</P> |
|
1337 </P> |
|
1338 </TD> |
|
1339 </TR> |
|
1340 <TR> |
|
1341 <TD>DeclPhase</TD><TD>no</TD><TD> </TD><TD> |
|
1342 <P> |
|
1343 <P>name of phase into which to add the prototype (either this or DeclLocation must be defined)</P> |
|
1344 </P> |
|
1345 </TD> |
|
1346 </TR> |
|
1347 <TR> |
|
1348 <TD>ReturnType</TD><TD>no</TD><TD>void</TD><TD> |
|
1349 <P> |
|
1350 <P>return type for function</P> |
|
1351 </P> |
|
1352 </TD> |
|
1353 </TR> |
|
1354 <TR> |
|
1355 <TD>IsConst</TD><TD>no</TD><TD>false</TD><TD> |
|
1356 <P> |
|
1357 <P>add 'const' modifier to function?</P> |
|
1358 </P> |
|
1359 </TD> |
|
1360 </TR> |
|
1361 <TR> |
|
1362 <TD>DefaultReturn</TD><TD>no</TD><TD> </TD><TD> |
|
1363 <P> |
|
1364 <P>default value to return; overridden if FunctionBody is specified</P> |
|
1365 </P> |
|
1366 </TD> |
|
1367 </TR> |
|
1368 <TR> |
|
1369 <TD>IsOwned</TD><TD>no</TD><TD>true</TD><TD> |
|
1370 <P> |
|
1371 <P>is the function body owned?</P> |
|
1372 </P> |
|
1373 </TD> |
|
1374 </TR> |
|
1375 <TR> |
|
1376 <TD>IsEventHandler</TD><TD>no</TD><TD>false</TD><TD> |
|
1377 <P> |
|
1378 <P>is the function body the user event handler?</P> |
|
1379 </P> |
|
1380 </TD> |
|
1381 </TR> |
|
1382 <TR> |
|
1383 <TD>Initializers</TD><TD>no</TD><TD> </TD><TD> |
|
1384 <P> |
|
1385 <P>provide any initializer expressions, e.g. for constructors, appearing on a separate line after the argument list and before the function body. Do not provide the leading colon (':') as this is added automatically</P> |
|
1386 </P> |
|
1387 </TD> |
|
1388 </TR> |
|
1389 </TABLE> |
|
1390 |
|
1391 </P> |
|
1392 </BODY> |
|
1393 </HTML> |
|