initial checkin from subversion
This commit is contained in:
36
observerHandling.js
Normal file
36
observerHandling.js
Normal file
@@ -0,0 +1,36 @@
|
||||
function Publisher() {
|
||||
var m_subscribers=new Array();
|
||||
|
||||
this.addSubscriber=addSubscriber;
|
||||
this.removeSubscriber=removeSubscriber;
|
||||
this.notifySubscribers=notifySubscribers;
|
||||
|
||||
function addSubscriber(subscriber,eventType){
|
||||
for(var i=0;i<m_subscribers.length;i++){
|
||||
if((m_subscribers[i][0]==subscriber)
|
||||
&&(m_subscribers[i][1]==eventType)){
|
||||
return(false);
|
||||
}
|
||||
}
|
||||
var entryDetails=new Array();
|
||||
entryDetails[0]=subscriber;
|
||||
entryDetails[1]=eventType;
|
||||
m_subscribers[m_subscribers.length]=entryDetails;
|
||||
return(true);
|
||||
}
|
||||
function removeSubscriber(subscriber,eventType){
|
||||
for(var i=0;i<m_subscribers.length;i++){
|
||||
if((m_subscribers[i][0]==subscriber)
|
||||
&&(m_subscribers[i][1]==eventType)){
|
||||
m_subscribers.splice(i,1);
|
||||
}
|
||||
}
|
||||
}
|
||||
function notifySubscribers(publisher,eventType,addInfo){
|
||||
for(var i=0;i<m_subscribers.length;i++){
|
||||
if(m_subscribers[i][1]==eventType){
|
||||
m_subscribers[i][0](publisher,eventType,addInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user