Index: source/ariba/utility/bootstrap/modules/periodicbroadcast/PeriodicBroadcast.cpp
===================================================================
--- source/ariba/utility/bootstrap/modules/periodicbroadcast/PeriodicBroadcast.cpp	(revision 5529)
+++ source/ariba/utility/bootstrap/modules/periodicbroadcast/PeriodicBroadcast.cpp	(revision 5531)
@@ -58,6 +58,6 @@
 
 use_logging_cpp(PeriodicBroadcast);
-const long PeriodicBroadcast::timerinterval = 2000;
-const long PeriodicBroadcast::servicetimeout = 5000;
+const long PeriodicBroadcast::timerinterval = 2;
+const long PeriodicBroadcast::servicetimeout = 5;
 const unsigned int PeriodicBroadcast::serverport_v4 = 5634;
 const unsigned int PeriodicBroadcast::serverport_v6 = 5636;
@@ -91,5 +91,5 @@
 			boost::bind(&PeriodicBroadcast::threadFunc, this) );
 
-	Timer::setInterval( timerinterval );
+	Timer::setInterval( timerinterval*1000 );
 	Timer::start();
 }
@@ -149,5 +149,5 @@
 			for( ; i != iend; i++ ){
 
-				if( time(NULL) > (i->second.lastseen + (servicetimeout/1000)) ){	
+				if( time(NULL) > (i->second.lastseen + 1000) ){
 					remoteServices.erase( i );
 					deleted = true;
@@ -173,5 +173,5 @@
 			if( i != remoteServices.end() ) {
 				// update the item lastseen time
-				i->second.lastseen = service.lastseen;
+				i->second.setLastseen( service.getLastseen() );
 				continue;
 			}
@@ -184,5 +184,6 @@
 			}
 
-			callback->onBootstrapServiceFound(name, service.info1, service.info2, service.info3);
+			callback->onBootstrapServiceFound(name,
+					service.getInfo1(), service.getInfo2(), service.getInfo3());
 		}
 
Index: source/ariba/utility/bootstrap/modules/periodicbroadcast/PeriodicBroadcast.h
===================================================================
--- source/ariba/utility/bootstrap/modules/periodicbroadcast/PeriodicBroadcast.h	(revision 5529)
+++ source/ariba/utility/bootstrap/modules/periodicbroadcast/PeriodicBroadcast.h	(revision 5531)
@@ -90,5 +90,6 @@
 	static const unsigned int serverport_v6;
 
-	typedef struct _Service {
+	class Service {
+	private:
 		string name;
 		string info1;
@@ -97,9 +98,10 @@
 		time_t lastseen;
 
-		_Service()
+	public:
+		Service()
 			: name(""), info1(""), info2(""), info3(""), lastseen(0){
 		}
 
-		_Service(const string& _name, const string& _info1,
+		Service(const string& _name, const string& _info1,
 				const string& _info2, const string& _info3, const time_t& _lastseen = 0){
 			name.assign (_name);
@@ -110,5 +112,5 @@
 		}
 
-		_Service(const _Service& rh){
+		Service(const Service& rh){
 			name.assign (rh.name);
 			info1.assign(rh.info1);
@@ -117,5 +119,54 @@
 			lastseen = rh.lastseen;
 		}
-	} Service;
+
+		string getName() const {
+			return name;
+		}
+
+		string getInfo1() const {
+			return info1;
+		}
+
+		string getInfo2() const {
+			return info2;
+		}
+
+		string getInfo3() const {
+			return info3;
+		}
+
+		time_t getLastseen() const {
+			return lastseen;
+		}
+
+		void setName(string _name){
+			name.assign(_name);
+		}
+
+		void setInfo1(string _info1){
+			info1.assign(_info1);
+		}
+
+		void setInfo2(string _info2){
+			info2.assign(_info2);
+		}
+
+		void setInfo3(string _info3){
+			info3.assign(_info3);
+		}
+
+		void setLastseen(time_t _lastseen){
+			lastseen = _lastseen;
+		}
+
+		Service& operator=(const Service& rh){
+			this->name.assign( rh.getName() );
+			this->info1.assign( rh.getInfo1() );
+			this->info2.assign( rh.getInfo2() );
+			this->info3.assign( rh.getInfo3() );
+			this->lastseen = rh.lastseen;
+			return *this;
+		}
+	};
 
 	typedef map<string,Service> ServiceList;
@@ -225,8 +276,8 @@
 			PeriodicBroadcastMessage msg;
 
-			msg.setName( service.name );
-			msg.setInfo1( service.info1 );
-			msg.setInfo2( service.info2 );
-			msg.setInfo3( service.info3 );
+			msg.setName( service.getName() );
+			msg.setInfo1( service.getInfo1() );
+			msg.setInfo2( service.getInfo2() );
+			msg.setInfo3( service.getInfo3() );
 
 			Data data = data_serialize( msg, DEFAULT_V );
@@ -301,8 +352,8 @@
 				if( it != services->end() ){
 
-					it->second.info1.assign( msg.getInfo1() );
-					it->second.info2.assign( msg.getInfo2() );
-					it->second.info3.assign( msg.getInfo3() );
-					it->second.lastseen = time(NULL);
+					it->second.setInfo1( msg.getInfo1() );
+					it->second.setInfo2( msg.getInfo2() );
+					it->second.setInfo3( msg.getInfo3() );
+					it->second.setLastseen( time(NULL) );
 
 				} else {
