void Action::impl_setProperty(const String& name, const String& value) { if (name == "ActionName") { OIS_EXCEPT(OIS::E_InvalidParam, "'ActionName' is a read only, you can't set it!"); } else if (name == "ParentActionSchemaName") { OIS_EXCEPT(OIS::E_InvalidParam, "'ParentActionSchemaName' is a read only, you can't set it!"); } else { // nothing matched, delegate up Bindable::impl_setProperty(name, value); } }
State* Device::getState(const String& name) const { StateMap::const_iterator it = mStates.find(name); if (it == mStates.end()) { OIS_EXCEPT(OIS::E_General, String("State '" + name + "' not found in Device '" + getName() + "'").c_str()); } return it->second; }
void Device::removeState(State* state) { StateMap::iterator it = mStates.find(state->getName()); if (it == mStates.end()) { OIS_EXCEPT(OIS::E_General, String("State with a name '" + state->getName() + "' not found in Device '" + getName() + "'").c_str()); } mStates.erase(it); }
void Device::addState(State* state) { StateMap::const_iterator it = mStates.find(state->getName()); if (it != mStates.end()) { OIS_EXCEPT(OIS::E_Duplicate, String("State with a name '" + state->getName() + "' already exists in Device '" + getName() + "'").c_str()); } mStates.insert(std::make_pair(state->getName(), state)); }
void Action::destroyBinding(Binding* binding) { BindingList::iterator it = std::find(mBindings.begin(), mBindings.end(), binding); if (it == mBindings.end()) { OIS_EXCEPT(OIS::E_General, String("Given binding not found").c_str()); } mBindings.erase(it); }
Object* AndroidInputManager::createObject(InputManager* creator, Type iType, bool bufferMode, const std::string & vendor) { Object *obj = 0; _OIS_LOG_FOOT_; switch(iType) { case OISKeyboard: { AndroidKeyboard *keyboard = new AndroidKeyboard(this); obj = keyboard; if (!mKeyboard) mKeyboard = keyboard; break; } case OISMultiTouch: { AndroidMultiTouch* touch = new AndroidMultiTouch(this); obj = touch; if (!mTouch) mTouch = touch; break; } case OISJoyStick: { AndroidAccelerometer* accel = new AndroidAccelerometer(this,true); obj = accel; if (!mAccelerometer) mAccelerometer = accel; break; } default: break; } _OIS_LOG_FOOT_; if( obj == 0 ) OIS_EXCEPT(E_InputDeviceNonExistant, "No devices match requested type."); _OIS_LOG_FOOT_; return obj; }