Hello there,
Xiff 3.1.0
OpenFire 3.7.1
SDK 4.7
If i understood well , the way to configure a MUC room is asynchronous using the RoomEvent.CONFIGURE_ROOM.
Here is the callbackcode I use :
private function onConfigureRoom( event:RoomEvent ):void { var _formExtension:FormExtension = event.data as FormExtension; var _formField:FormField; _formField=_formExtension.getFormField(“muc#roomconfig_maxusers”); _formField.value=null; // to remove the value tag _formField.value=“15”; appModel.curGame.room.configure( formExtension ); }
It seems that the _formField.value=null which triggers the XMLStanza.as --> setField --> RemoveFields does not work because of a problem with the following line in RemoveFields :
while ( xml.children().(localName() == name).length() > 0 )
with name instantianted with ‘value’.
the lenght remain to 0, the tag ‘value’ is never delete.
The new value is added in the value array a with a 1 index.(the old value remains at the 0 index).
The new value is not taken into account by OpenFire.
I had to create my own removeFieldValue function , and it works now.
public function removeFieldValue( field:FormField ):void { for (var i:int=0;i < field.xml.children().length();i++) { if ( field.xml.children()[i].localName() == “value” ) { delete field.xml.children()[i]; }//if }//for }//removeFieldValue
Is it a bug or a configuration problem ?
Thank in advance
LaNenet