void GlobalUtility::deleteSlot(const char* name) const { SQRESULT sqr; sq_pushstring(mVM, name, -1); sqr = sq_deleteslot(mVM, -2, false); ROCKETSQUIRREL_ASSERT(SQ_SUCCEEDED(sqr)); }
void lib_finder::UnregisterScripting() { Manager::Get()->GetScriptingManager(); HSQUIRRELVM v = SquirrelVM::GetVMPtr(); if ( v ) { sq_pushroottable(v); sq_pushstring(v,"LibFinder",-1); sq_deleteslot(v,-2,false); sq_poptop(v); } }
void EnvVars::OnRelease(bool /*appShutDown*/) { // Unregister scripting Manager::Get()->GetScriptingManager(); // make sure the VM is initialised HSQUIRRELVM v = SquirrelVM::GetVMPtr(); if (v) { // TODO (Morten#5#): Is that the correct way of un-registering? (Seems so weird...) sq_pushroottable(v); sq_pushstring(v, "EnvvarDiscard", -1); sq_deleteslot(v, -2, false); sq_poptop(v); sq_pushroottable(v); sq_pushstring(v, "EnvvarApply", -1); sq_deleteslot(v, -2, false); sq_poptop(v); sq_pushroottable(v); sq_pushstring(v, "EnvvarSetDiscard", -1); sq_deleteslot(v, -2, false); sq_poptop(v); sq_pushroottable(v); sq_pushstring(v, "EnvvarSetApply", -1); sq_deleteslot(v, -2, false); sq_poptop(v); sq_pushroottable(v); sq_pushstring(v, "EnvvarSetExists", -1); sq_deleteslot(v, -2, false); sq_poptop(v); sq_pushroottable(v); sq_pushstring(v, "EnvVarGetEnvvarsBySetPath", -1); sq_deleteslot(v, -2, false); sq_poptop(v); sq_pushroottable(v); sq_pushstring(v, "EnvvarGetActiveSetName", -1); sq_deleteslot(v, -2, false); sq_poptop(v); sq_pushroottable(v); sq_pushstring(v, "EnvvarGetEnvvarSetNames", -1); sq_deleteslot(v, -2, false); sq_poptop(v); } }// OnRelease
static inline void unexpose_object(HSQUIRRELVM v, SQInteger table_idx, const std::string& name) { sq_pushstring(v, name.c_str(), name.length()); if(table_idx < 0) table_idx -= 1; if(SQ_FAILED(sq_deleteslot(v, table_idx, SQFalse))) { std::ostringstream msg; msg << "Couldn't unregister object '" << name << "' in squirrel root table"; throw scripting::SquirrelError(v, msg.str()); } }
void wxWidgetsResFactory::OnRelease() { // TODO: Call OnRelease for item factories // Unregistering wizard function Manager::Get()->GetScriptingManager(); HSQUIRRELVM v = SquirrelVM::GetVMPtr(); if ( v ) { sq_pushroottable(v); sq_pushstring(v,"WxsAddWxExtensions",-1); sq_deleteslot(v,-2,false); sq_poptop(v); } }