Broadcasted alongside the message MSG_MULTI_SCRIPTINFO
to query scene elements for scripts they contain and might execute.
The message is usually broadcasted at a document level with C4DAtom::MultiMessage
to collect information for a whole document:
for (
const ScriptInfoData::ScriptInfoItem&
item: scriptInfoData.items)
PyObject PyObject * item
Definition: dictobject.h:42
#define MSG_MULTI_SCRIPTINFO
Sent to nodes to gather information about the scripting content they host in their parameters....
Definition: c4d_baselist.h:575
@ BROADCAST
Broadcast the message, i.e. distribute it to all branches given by GeListNode::GetBranchInfo.
#define DebugOutput(flags, formatString,...)
Definition: debugdiagnostics.h:162
@ DIAGNOSTIC
Diagnostic output, shows up if this group of output is activated. This is also the default.
const char * doc
Definition: pyerrors.h:226
ScriptInfoData()
Definition: c4d_baselist.h:1125
When implementing a NodeData
derived plugin hook which executes Python code, one must implement the message so that documents containing the plugin can be stopped from loading when the user does not trust the document:
{
{
{
BaseList2D*
const blist =
static_cast<BaseList2D*
>(
node);
if (!blist || !infoData)
return false;
ScriptInfoData::ScriptInfoItem
item;
DescID paramId =
ConstDescID(DescLevel(ID_MYPLUGIN_CODE));
const BaseContainer& bc = blist->GetDataInstanceRef();
item.isDefault = bc.GetString(ID_MYPLUGIN_CODE) == MY_DEFAULT_CODE;
return false;
break;
}
UNKNOWN
Used for unknown script types.
Definition: c4d_baselist.h:0
PYTHON
Used for Standard CPython syntax.
Definition: c4d_baselist.h:1
#define iferr(...)
Definition: errorbase.h:388
#define ConstDescID(...)
Definition: lib_description.h:592
maxon::Bool Bool
Definition: ge_sys_math.h:46
maxon::Int32 Int32
Definition: ge_sys_math.h:51
@ ID_BASEOBJECT_GENERATOR_FLAG
Definition: obase.h:18
PyObject ** type
Definition: pycore_pyerrors.h:34