TNOneRoom::TNOneRoom(TreeNode *parent): TreeNode(parent, "OneRoom", ReadWritePersist), _paramEnableOneRoom(new BooleanParameter(this, "EnableOneRoom", false, ReadWritePersist | NotPortable)), _paramRoomHasPhoneNumber(new BooleanParameter(this, "RoomHasPhoneNumber", false, ReadWritePersist | NotPortable)), _paramRoomPhoneNumber(new RegexParameter(this, "RoomPhoneNumber", "", ReadWritePersist| NotPortable,"^\\+[0-9]+$",true,0,50)), _paramBusURL(new RegexParameter(this, "BusURL", "bus.oneroom.io", ReadWritePersist,"^[a-zA-Z0-9\\-\\._]+\\.oneroom\\.io$", false, 0, 20 )), _paramUserName(new StringParameter(this, "UserName", "", true, 0, 255, ReadWritePersist | NotPortable )), _paramPassPhrase(new RegexParameter(this, "PassPhrase", "", ReadWritePersist|NotPortable,RegexParameter::PassPhrasePattern, true, 8, 63)), _paramMaximumStreamingBandwidthKbit_s(new IntegerParameter(this, "MaximumStreamingBandwidthKbit_s", 2000, ReadWritePersist | NotPortable)) { }