Esempio n. 1
0
bool MySQL::CloseConn(const Variant& link_identifier) {
  auto mySQL = Get(link_identifier);
  if (mySQL && !mySQL->isPersistent()) {
    mySQL->close();
  }
  return true;
}
void LootkitObjectImplementation::createItem() {
    for (int i = 0; i<comps.size(); ++i) {
        if (components.get(comps.get(i)) == 0) {
            return; // Still missing pieces
        }
    }
    ManagedReference<CreatureObject*>  player = getPlayer();
    if (player != NULL) {

        player->sendSystemMessage("@loot_kit:new_item_created");

        ManagedReference<SceneObject*> inventory = player->getSlottedObject("inventory");
        ZoneServer* zoneServer = server->getZoneServer();

        ManagedReference<SceneObject*> rewardObject = zoneServer->createObject(reward.get(System::random(reward.size()-1)), 2);

        Locker clocker(inventory, player);
        rewardObject->sendTo(player, true);
        if (inventory->transferObject(rewardObject, -1, true)) {
            //getParent()->removeObject(_this, true);
            destroyObjectFromWorld(true);

            if (isPersistent())
                destroyObjectFromDatabase(true);
        }
    }
}
Esempio n. 3
0
		ibrcommon::Timer::time_t Registration::getExpireTime() const
		{
			if(!isPersistent()) throw NotPersistentException("Registration is not persistent.");

			return _expiry;

		}
Esempio n. 4
0
vector<TeamId> CollectiveTeams::getActiveNonPersistent(const Creature* c) const {
  vector<TeamId> ret;
  for (TeamId t : getContaining(c))
    if (isActive(t) && !isPersistent(t))
      ret.push_back(t);
  return ret;
}
void ResourceDeedImplementation::destroyDeed() {
	if (parent.get() != NULL) {
		destroyObjectFromWorld(true);
	}

	if (isPersistent())
		destroyObjectFromDatabase(true);

	generated = true;
}
Esempio n. 6
0
void KURLBarItem::setApplicationLocal(bool local)
{
    if(!local && !isPersistent())
    {
        kdWarning() << "KURLBar: dynamic (non-persistent) items can not be global." << endl;
        return;
    }

    m_appLocal = local;
}
Esempio n. 7
0
bool MySQL::CloseConn(const Variant& link_identifier) {
  auto mySQL = Get(link_identifier);
  if (mySQL) {
    if (!mySQL->isPersistent()) {
      mySQL->close();
    } else {
      s_cur_num_persistent--;
    }
  }
  return true;
}
void ResourceDeedImplementation::destroyDeed() {
	if (parent.get() != NULL) {
		/*getParent()->removeObject(_this.getReferenceUnsafeStaticCast(), true);
		broadcastDestroy(_this.getReferenceUnsafeStaticCast(), false);*/
		destroyObjectFromWorld(true);
	}

	if (isPersistent())
		destroyObjectFromDatabase(true);

	generated = true;
}
Esempio n. 9
0
void AssignNameOverlay::viewportLeaveEvent(QObject* o, QEvent* e)
{
    if (isPersistent() && m_widget->isVisible())
    {
        return;
    }

    // Do not hide when hovering the pop-up of the line edit.
    if (d->isChildWidget(qApp->widgetAt(QCursor::pos()), assignNameWidget()))
    {
        return;
    }

    PersistentWidgetDelegateOverlay::viewportLeaveEvent(o, e);
}
Esempio n. 10
0
Variant::operator v8::Local<v8::Value>() const
{
    switch (type())
    {
    case VT_Undefined:
        return v8::Undefined(isolate);
    case VT_Null:
    case VT_Type:
    case VT_Persistent:
        return v8::Null(isolate);
    case VT_Boolean:
        return m_Val.boolVal ? v8::True(isolate) : v8::False(isolate);
    case VT_Integer:
        return v8::Int32::New(isolate, m_Val.intVal);
    case VT_Long:
        return v8::Number::New(isolate, (double) m_Val.longVal);
    case VT_Number:
        return v8::Number::New(isolate, m_Val.dblVal);
    case VT_Date:
        return dateVal();
    case VT_Object:
    {
        object_base *obj = (object_base *) m_Val.objVal;

        if (obj == NULL)
            break;

        return obj->wrap();
    }
    case VT_JSValue:
        if (isPersistent())
            return v8::Local<v8::Value>::New(isolate, jsValEx());
        else
            return jsVal();
    case VT_String:
    {
        std::string &str = strVal();
        return v8::String::NewFromUtf8(isolate, str.c_str(),
                                       v8::String::kNormalString,
                                       (int) str.length());
    }
    }

    return v8::Null(isolate);
}
void FireworkObjectImplementation::completeLaunch(CreatureObject* player, int removeDelay) {
	ManagedReference<StaticObject*> launcherObject = (getZoneServer()->createObject(fireworkObject.hashCode(), 0)).castTo<StaticObject*>();

	if (launcherObject == NULL)
		return;

	player->setPosture(CreaturePosture::CROUCHED);
	player->doAnimation("manipulate_low");

	float angle = player->getDirectionAngle();

	if (angle > 360)
		angle = angle - 360;

	float distance = 2.0;

	angle = 2 * M_PI * angle / 360;

	int x = player->getPositionX() + sin(angle) * (distance);
	int y = player->getPositionY() + cos(angle) * (distance);
	int z = player->getZone()->getHeight(x, y);

	Locker locker(launcherObject);

	launcherObject->initializePosition(x, z, y);
	player->getZone()->transferObject(launcherObject, -1, true);

	if (getUseCount() > 1) {
		decreaseUseCount();
	} else {
		destroyObjectFromWorld(true);

		if (isPersistent())
			destroyObjectFromDatabase(true);
	}

	Reference<FireworkRemoveEvent*> fireworkRemoveEvent = new FireworkRemoveEvent(player, launcherObject);
	fireworkRemoveEvent->schedule(removeDelay * 1000);

}
Esempio n. 12
0
File: Sym.hpp Progetto: graehl/hyp
 /*
     Checks if the Sym instance is of type non-terminal.
  *
     The function will return true for non-special non-terminals
  */
 inline bool isNonterminal() const {
   assert(!isPersistent());
   return (id_ & kSmallTypeMask) == kNonterminal;
 }
Packet* ManagedObjectAdapter::invokeMethod(uint32 methid, DistributedMethod* inv) {
	Packet* resp = new MethodReturnMessage(0);

	switch (methid) {
	case 6:
		lock(inv->getBooleanParameter());
		break;
	case 7:
		lock((ManagedObject*) inv->getObjectParameter());
		break;
	case 8:
		rlock(inv->getBooleanParameter());
		break;
	case 9:
		wlock(inv->getBooleanParameter());
		break;
	case 10:
		wlock((ManagedObject*) inv->getObjectParameter());
		break;
	case 11:
		unlock(inv->getBooleanParameter());
		break;
	case 12:
		runlock(inv->getBooleanParameter());
		break;
	case 13:
		setLockName(inv->getAsciiParameter(_param0_setLockName__String_));
		break;
	case 14:
		resp->insertBoolean(notifyDestroy());
		break;
	case 15:
		writeObject(inv->getAsciiParameter(_param0_writeObject__String_));
		break;
	case 16:
		readObject(inv->getAsciiParameter(_param0_readObject__String_));
		break;
	case 17:
		initializeTransientMembers();
		break;
	case 18:
		updateToDatabase();
		break;
	case 19:
		queueUpdateToDatabaseTask();
		break;
	case 20:
		clearUpdateToDatabaseTask();
		break;
	case 21:
		resp->insertInt(getLastCRCSave());
		break;
	case 22:
		setLastCRCSave(inv->getUnsignedIntParameter());
		break;
	case 23:
		resp->insertBoolean(isPersistent());
		break;
	case 24:
		resp->insertSignedInt(getPersistenceLevel());
		break;
	case 25:
		setPersistent(inv->getSignedIntParameter());
		break;
	default:
		return NULL;
	}

	return resp;
}
Esempio n. 14
0
Variant &Variant::operator=(v8::Local<v8::Value> v)
{
    clear();

    if (v.IsEmpty() || v->IsUndefined())
        set_type(VT_Undefined);
    else if (v->IsNull())
        set_type(VT_Null);
    else if (v->IsDate())
    {
        set_type(VT_Date);
        dateVal() = v;
    }
    else if (v->IsBoolean() || v->IsBooleanObject())
    {
        set_type(VT_Boolean);
        m_Val.boolVal = v->BooleanValue();
    }
    else if (v->IsNumber() || v->IsNumberObject())
    {

        double n = v->NumberValue();
        int64_t num = (int64_t) n;

        if (n == (double) num)
        {
            if (num >= -2147483648ll && num <= 2147483647ll)
            {
                set_type(VT_Integer);
                m_Val.intVal = (int32_t) num;
            }
            else
            {
                set_type(VT_Long);
                m_Val.longVal = num;
            }
        }
        else
        {
            set_type(VT_Number);
            m_Val.dblVal = n;
        }
    }
    else if (v->IsString() || v->IsStringObject())
    {
        v8::String::Utf8Value s(v);
        std::string str(*s, s.length());
        return operator=(str);
    }
    else
    {
        object_base *obj = object_base::getInstance(v);

        if (obj)
            return operator=(obj);
        else
        {
            set_type(VT_JSValue);

            if (isPersistent())
            {
                new (((v8::Persistent<v8::Value> *) m_Val.jsVal)) v8::Persistent<v8::Value>();
                jsValEx().Reset(isolate, v);
            }
            else
                new (((v8::Local<v8::Value> *) m_Val.jsVal)) v8::Local<v8::Value>(v);

            return *this;
        }
    }

    return *this;
}
Esempio n. 15
0
/** @short Return true if this task has already done its job and is now merely listening for further updates */
bool SortTask::isJustUpdatingNow() const
{
    return isPersistent() && m_firstCommandCompleted && !_aborted;
}
Esempio n. 16
0
 NCommand_(NCommand* o, const nstr& command, int mode)
 : o_(o),
 command_(command),
 closeSignal_(15),
 ifd_(-1),
 ofd_(-1),
 efd_(-1),
 mode_(mode){
   
   int ip[2];
   int op[2];
   int ep[2];
   
   if(mode_ & NCommand::OutputWithError &&
      (mode_ & NCommand::Output || mode_ & NCommand::Error)){
     NERROR("OutputWithError mode cannot be combined with Output or "
            "Error modes");
   }
   
   if(mode_ & NCommand::Input){
     pipe(ip);
   }
   
   if(mode_ & NCommand::Output){
     pipe(op);
   }
   
   if(mode_ & NCommand::Error){
     pipe(ep);
   }
   
   if(mode_ & NCommand::OutputWithError){
     pipe(op);
   }
   
   if(!isPersistent()){
     _resourceManager->add(o_);
   }
   
   pid_ = fork();
   
   if(pid_ < 0){
     NERROR("failed to execute command: " + command);
   }
   
   if(pid_ == 0){
     if(mode_ & NCommand::Input){
       ::close(ip[1]);
       dup2(ip[0], 0);
       ::close(ip[0]);
     }
     
     if(mode_ & NCommand::Output){
       ::close(op[0]);
       dup2(op[1], 1);
       ::close(op[1]);
     }
     
     if(mode_ & NCommand::Error){
       ::close(ep[0]);
       dup2(ep[1], 2);
       ::close(ep[1]);
     }
     
     if(mode_ & NCommand::OutputWithError){
       ::close(op[0]);
       dup2(op[1], 1);
       dup2(op[1], 2);
       ::close(op[1]);
     }
     
     if(execl("/bin/bash", "bash", "-c", command.c_str(), NULL) < 0){
       NERROR("failed to execute command: " + command);
     }
   }
   else{
     if(mode_ & NCommand::Input){
       ::close(ip[0]);
       ifd_ = ip[1];
     }
     
     if(mode_ & NCommand::Output){
       ::close(op[1]);
       ofd_ = op[0];
       fcntl(ofd_, F_SETFL, O_NONBLOCK);
     }
     
     if(mode_ & NCommand::Error){
       ::close(ep[1]);
       efd_ = ep[0];
       fcntl(efd_, F_SETFL, O_NONBLOCK);
     }
     
     if(mode_ & NCommand::OutputWithError){
       ::close(op[1]);
       ofd_ = op[0];
       efd_ = op[0];
       fcntl(ofd_, F_SETFL, O_NONBLOCK);
     }
   }
 }
Esempio n. 17
0
 ~NCommand_(){
   if(!isPersistent()){
     _resourceManager->remove(o_);
     close(true);
   }
 }
Esempio n. 18
0
File: Sym.hpp Progetto: graehl/hyp
 inline void serialize(Archive& ar, const SymInt version) {
   ar & id_;
   assert(!isPersistent());
 }
Esempio n. 19
0
File: Sym.hpp Progetto: graehl/hyp
 inline bool isSpecialTerminal() const {
   assert(!isPersistent());
   return id_ >= (SymInt)kSpecialTerminal && id_ < (SymInt)kEndSpecialTerminal;
 }
Esempio n. 20
0
File: Sym.hpp Progetto: graehl/hyp
 /** \return is a lexical non-special terminal symbol - kTerminal or kPeristentTerminal
  */
 inline bool isLexical() const {
   assert(!isPersistent());
   assert(((SymInt)(id_ + 1) > (SymInt)kTerminal)
          == (id_ >= (SymInt)kBeginTerminal && id_ < (SymInt)kEndTerminal));
   return (SymInt)(id_ + 1) > (SymInt)kTerminal;
 }
Esempio n. 21
0
bool Event::isRipe() const
{
    return ((isPersistent() || isTriggered()) &&
            (delay == 0.0 || assignTime <= model.getTime()));

}
Esempio n. 22
0
File: Sym.hpp Progetto: graehl/hyp
 void removePersistentBit() {
   if (isPersistent())
     id_ += (1u << 29);
 }