Beispiel #1
0
void ObjectHost::commandListObjects(const Command::Command& cmd, Command::Commander* cmdr, Command::CommandID cmdid) {
    Command::Result result = Command::EmptyResult();
    // Make sure we return the objects key set even if there are none
    result.put( String("objects"), Command::Array());
    Command::Array& objects_ary = result.getArray("objects");

    Sirikata::SerializationCheck::Scoped sc(&mSessionSerialization);

    for(InternalIDHostedObjectMap::const_iterator it = mHostedObjectsByID.begin(); it != mHostedObjectsByID.end(); it++) {
        HostedObjectPtr ho = it->second.lock();
        if (ho) objects_ary.push_back( ho->id().toString() );
    }
    cmdr->result(cmdid, result);
}
Beispiel #2
0
void ObjectHost::commandCreateObject(const Command::Command& cmd, Command::Commander* cmdr, Command::CommandID cmdid) {
    Command::Result result = Command::EmptyResult();

    if (!cmd.contains("script.type"))
    {
        result.put("error", "Must specify at least script.type");
        cmdr->result(cmdid, result);
        return;
    }

    String scriptType = cmd.getString("script.type");
    String scriptOpts = cmd.getString("script.opts", "");
    String scriptContents = cmd.getString("script.contents", "");

    HostedObjectPtr obj;
    obj = createObject(scriptType, scriptOpts, scriptContents);

    result.put("id", obj->id().toString());
    cmdr->result(cmdid, result);
}