void MCDispatch::getmainstacknames(MCExecPoint &ep) { ep.clear(); MCExecPoint ep2(ep); MCStack *tstk = stacks; bool first; first = true; do { tstk->getprop(0, P_SHORT_NAME, ep2, False); ep.concatmcstring(ep2.getsvalue(), EC_RETURN, first); first = false; tstk = (MCStack *)tstk->next(); } while (tstk != stacks); }
Exec_stat MCProperty::mode_eval(MCExecPoint& ep) { switch(which) { case P_REV_MESSAGE_BOX_LAST_OBJECT: if (MCmessageboxlastobject != NULL && MCmessageboxlastobject->Exists()) { MCmessageboxlastobject->Get()->names(P_LONG_ID, ep, 0); ep.concatnameref(MCmessageboxlasthandler, EC_COMMA, false); ep.concatuint(MCmessageboxlastline, EC_COMMA, false); if (MCmessageboxlastobject->Get()->getparentscript() != nil) { MCExecPoint ep2; MCmessageboxlastobject->Get()->getparentscript()->GetObject()->names(P_LONG_ID, ep2, 0); ep.concatmcstring(ep2.getsvalue(), EC_COMMA, false); } } else ep.clear(); break; case P_REV_MESSAGE_BOX_REDIRECT: if (MCmessageboxredirect != NULL) MCmessageboxredirect -> names(P_LONG_ID, ep, 0); else ep . clear(); break; case P_REV_LICENSE_LIMITS: ep.clear(); break; case P_REV_CRASH_REPORT_SETTINGS: ep.clear(); break; case P_REV_LICENSE_INFO: { if (ep . isempty()) { static const char *s_class_types[] = { "", "Community", "Commercial", "Professional", }; static const char *s_deploy_targets[] = { "Windows", "Mac OS X", "Linux", "iOS", "Android", "Windows Mobile", "Linux Mobile", "Server", "iOS Embedded", "Android Embedded", }; ep . clear(); ep . concatcstring(MClicenseparameters . license_name, EC_RETURN, true); ep . concatcstring(MClicenseparameters . license_organization, EC_RETURN, false); ep . concatcstring(s_class_types[MClicenseparameters . license_class], EC_RETURN, false); ep . concatuint(MClicenseparameters . license_multiplicity, EC_RETURN, false); ep . appendnewline(); if (MClicenseparameters . deploy_targets != 0) { bool t_first; t_first = true; for(uint32_t i = 0; i < 9; i++) { if ((MClicenseparameters . deploy_targets & (1 << i)) != 0) { ep . concatcstring(s_deploy_targets[i], EC_COMMA, t_first); t_first = false; } } } ep . appendnewline(); if (MClicenseparameters . addons != nil) { MCHashentry *t_entry; uint32_t t_index; bool t_first; t_first = true; t_entry = NULL; t_index = 0; for(;;) { t_entry = MClicenseparameters . addons -> get_array() -> getnextkey(t_index, t_entry); if (t_entry == NULL) break; ep . concatcstring(t_entry -> string, EC_COMMA, t_first); t_first = false; } } ep . concatcstring(MCnullmcstring == MClicenseparameters . license_token ? "Global" : "Local", EC_RETURN, false); } else { if (MClicenseparameters . addons == nil || MClicenseparameters . addons -> fetch_element(ep, ep . getsvalue(), false) != ES_NORMAL) ep . clear(); } } break; #ifdef FEATURE_PROPERTY_LISTENER // MM-2012-09-05: [[ Property Listener ]] case P_REV_OBJECT_LISTENERS: MCInternalObjectListenerListListeners(ep); break; case P_REV_PROPERTY_LISTENER_THROTTLE_TIME: ep.setnvalue(MCpropertylistenerthrottletime); break; #endif default: return ES_NOT_HANDLED; } return ES_NORMAL; }