ProjectContext :: protectAction - Protect action
Actions may be protected globally or within a certain context class. Protected actions are checked for permission (permitted()) before being executed. Since permission checks depend on the application, the permitted() function has to be overloaded by the application.
Implementation overview
- Protect action globally
ProjectContext :: protectAction ( sActionName ) - Protect action in a specific context
ProjectContext :: protectAction ( sActionName, sTypeName )
Implementation details
-
Protect action globally
ProjectContext  :: protectAction ( odaba::String &sActionName )
When an action has been protected globally, those are checked regardless on the context in which those are called. Usually, actions are protected globally by using unique action names.
- sActionName
- Action name
The action name is a name of an action implemented in the context class related to the database source or implemented as default action. Actions can be implemented as expressions, as C++ functions or as .NET function.
In order to pass no action name, an empty string ( String() ) may be passed.
to list
- sActionName
- Action name
-
Protect action in a specific context
ProjectContext  :: protectAction ( odaba::String &sActionName, odaba::String &sTypeName )
An action may be protected in a specific context by passing the context class name in addition to the action name (e.g. cPersonEdit (control context class for PersonEdit control) in order to protect instance actions for the PersonEdit control).
- sActionName
- Action name
The action name is a name of an action implemented in the context class related to the database source or implemented as default action. Actions can be implemented as expressions, as C++ functions or as .NET function.
In order to pass no action name, an empty string ( String() ) may be passed.
- sTypeName
- Type name
The type name is the name of a data type (usually) defined in the database. The type name might be passed as simple identifier or as scoped name with preceding namespace names separated by double colon '::'.
In order to pass no type name, an empty string ( String() ) may be passed.
to list
- sActionName
- Action name