Changeset 478 for cpp/frams/param/param.cpp
- Timestamp:
- 03/22/16 01:19:47 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
cpp/frams/param/param.cpp
r464 r478 602 602 if (v.type == TObj) 603 603 { 604 logPrintf("ParamInterface", "set", LOG_ WARN, "Getting integer value from object reference (%s)", v.getString().c_str());604 logPrintf("ParamInterface", "set", LOG_ERROR, "Setting int '%s.%s' from object reference (%s)", getName(), id(i), v.getString().c_str()); 605 605 return 0; 606 606 } … … 614 614 if (v.type == TObj) 615 615 { 616 logPrintf("ParamInterface", "set", LOG_ WARN, "Getting floating point value from object reference (%s)", v.getString().c_str());616 logPrintf("ParamInterface", "set", LOG_ERROR, "Setting float '%s.%s' from object reference (%s)", getName(), id(i), v.getString().c_str()); 617 617 return 0; 618 618 } … … 621 621 } 622 622 case 's': { SString t = v.getString(); return setString(i, t); } 623 case 'o': return setObject(i, v.getObject()); 623 case 'o': 624 if ((v.type!=TUnknown)&&(v.type!=TObj)) 625 logPrintf("ParamInterface", "set", LOG_ERROR, "Setting object '%s.%s' from %s", getName(), id(i), v.typeAndValue().c_str()); 626 else 627 return setObject(i, v.getObject()); 628 break; 624 629 case 'x': return setExtValue(i, v); 625 630 default: logPrintf("ParamInterface", "set", LOG_ERROR, "'%s.%s' is not a field", getName(), id(i)); … … 645 650 if ((after == NULL) || (*after)) 646 651 { 647 logPrintf("ParamInterface", "set", LOG_ WARN, "serialization format mismatch in %s.%s", (getName() ? getName() : "<Unknown>"), id(i));652 logPrintf("ParamInterface", "set", LOG_ERROR, "serialization format mismatch in %s.%s", (getName() ? getName() : "<Unknown>"), id(i)); 648 653 e.setEmpty(); 649 654 } … … 956 961 ParamEntry *pe = entry(i); 957 962 if (pe->flags&PARAM_READONLY) return PSET_RONLY; 963 if (pe->flags&PARAM_OBJECTSET) 964 { 965 ExtObject o=getObject(i); 966 Param tmp; 967 ParamInterface* oif=o.getParamInterface(tmp); 968 int ass; 969 if (oif && ((ass=oif->findId("assign"))>=0)) 970 { 971 ExtValue arg=x; 972 oif->call(ass,&arg,&v); 973 } 974 else 975 logPrintf("SimpleAbstractParam", "setObject", LOG_ERROR, 976 "'%s.%s' is PARAM_OBJECTSET but no 'assign()' in %s", getName(), pe->id, o.interfaceName()); 977 return PSET_CHANGED; 978 } 958 979 ExtObject xcopy = x; //only needed for messageOnExceedRange(): retain original, requested value of x because it may be changed below 959 980 if (pe->fun2)
Note: See TracChangeset
for help on using the changeset viewer.