本文整理汇总了C++中SharedKObject::GetObject方法的典型用法代码示例。如果您正苦于以下问题:C++ SharedKObject::GetObject方法的具体用法?C++ SharedKObject::GetObject怎么用?C++ SharedKObject::GetObject使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SharedKObject
的用法示例。
在下文中一共展示了SharedKObject::GetObject方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Callback
void MonkeyBinding::Callback(const ValueList &args, SharedValue result)
{
SharedKObject event = args.at(0)->ToObject();
if (!event->Get("url")->IsString() ||
!event->Get("scope")->IsObject() ||
!event->GetObject("scope")->Get("window"))
{
throw ValueException::FromString(
"ti.Monkey could not find required components of PAGE_LOADED events");
}
std::string url = event->GetString("url");
SharedKObject windowObject = event->GetObject("scope")->GetObject("window");
vector<Script*>::iterator iter = scripts.begin();
while (iter != scripts.end())
{
Script* script = (*iter++);
if (script->Matches(url))
{
EvaluateUserScript(event, url, windowObject, script->source);
}
}
}
示例2: EvaluateUserScript
void MonkeyBinding::EvaluateUserScript(
SharedKObject event, std::string& url,
SharedKObject windowObject, std::string& scriptSource)
{
static Logger *logger = Logger::Get("Monkey");
// I got a castle in brooklyn, that's where i dwell
// Word, brother.
if (!windowObject->Get("eval")->IsMethod())
{
logger->Error("Found a window object without an "
"eval function (%s) -- aborting", url.c_str());
return;
}
SharedKObject target = event->GetObject("target");
if (!windowObject->Get(GLOBAL_NS_VARNAME)->IsObject() &&
!target.isNull() && target->Get("insertAPI")->IsMethod())
{
logger->Info("Forcing Titanium API into: %s\n", url.c_str());
target->CallNS("insertAPI", Value::NewObject(windowObject));
}
SharedKMethod evalFunction = windowObject->GetMethod("eval");
logger->Info("Loading userscript for %s\n", url.c_str());
try
{
evalFunction->Call(Value::NewString(scriptSource));
}
catch (ValueException &ex)
{
SharedString ss = ex.DisplayString();
int line = -1;
if (ex.GetValue()->IsObject() &&
ex.GetValue()->ToObject()->Get("line")->IsNumber())
{
line = ex.GetValue()->ToObject()->Get("line")->ToInt();
}
logger->Error(
"Exception generated evaluating user script for %s "
"(line %i): %s", url.c_str(), line, ss->c_str());
}
}