(file) Return to peg_slp_agent.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / slp / Attic

Diff for /pegasus/src/slp/Attic/peg_slp_agent.cpp between version 1.3 and 1.4

version 1.3, 2003/06/05 12:31:55 version 1.4, 2003/06/05 20:43:15
Line 42 
Line 42 
       int8* attrs;       int8* attrs;
       int8* type;       int8* type;
       int8* scopes;       int8* scopes;
       unsigned short lifetime;        Uint32 lifetime;
       unsigned short expire;        Uint32 expire;
  
  
    private:    private:
Line 75 
Line 75 
  
  
    lifetime = _lifetime;    lifetime = _lifetime;
    time_t now = time(NULL);     Uint32 msec, now;
    expire = now + lifetime;     System::getCurrentTime(now, msec);
      expire = 0;
 } }
  
 sa_reg_params::~sa_reg_params(void) sa_reg_params::~sa_reg_params(void)
Line 161 
Line 162 
  
 void slp_service_agent::_init(void) void slp_service_agent::_init(void)
 { {
   
      _initialized = 0;
 #ifdef PEGASUS_OS_TYPE_WINDOWS #ifdef PEGASUS_OS_TYPE_WINDOWS
    _lib_fileName.append("slp_client.dll");    _lib_fileName.append("slp_client.dll");
 #elif defined(PEGASUS_OS_HPUX) #elif defined(PEGASUS_OS_HPUX)
Line 168 
Line 171 
 #elif defined(PEGASUS_OS_OS400) #elif defined(PEGASUS_OS_OS400)
    _lib_fileName.append("slp_client");    _lib_fileName.append("slp_client");
 #else #else
    _lib_fileName.append("/usr/local/lib/libslp_client.so");     _lib_fileName.append("libslp_client.so");
 #endif #endif
    _lib_handle = System::loadDynamicLibrary((const char *)_lib_fileName.getCString());    _lib_handle = System::loadDynamicLibrary((const char *)_lib_fileName.getCString());
  
Line 191 
Line 194 
          System::loadDynamicSymbol(_lib_handle, "test_srv_reg");          System::loadDynamicSymbol(_lib_handle, "test_srv_reg");
  
       _initialized = 1;       _initialized = 1;
    }  
    else        if(_create_client == 0 || _destroy_client == 0 || _find_das == 0 || _test_reg == 0)
    {    {
       _create_client = 0;           _initialized = 0;
       _test_reg = 0;           System::unloadDynamicLibrary(_lib_handle);
         }
    }    }
 } }
  
Line 228 
Line 232 
                                         const char* scopes,                                         const char* scopes,
                                         unsigned short lifetime)                                         unsigned short lifetime)
 { {
      if(_initialized.value() == 0 )
         throw UninitializedObjectException();
  
    if(url == 0 || attributes == 0 || type == 0)    if(url == 0 || attributes == 0 || type == 0)
       return false;       return false;
Line 252 
Line 258 
  
 void slp_service_agent::unregister(void) void slp_service_agent::unregister(void)
 { {
      if(_initialized.value() == 0 )
         throw UninitializedObjectException();
      _should_listen = 0;
      _listen_thread.join();
   
    while(slp_reg_table::Iterator i = _internal_regs.start())    while(slp_reg_table::Iterator i = _internal_regs.start())
    {    {
       sa_reg_params *rp = i.value();       sa_reg_params *rp = i.value();
Line 262 
Line 273 
  
  
  
 Uint32 slp_service_agent::test_registration(const char *type,  Uint32 slp_service_agent::test_registration(const char *url,
                                             const char *url,  
                                             const char *attrs,                                             const char *attrs,
                                               const char *type,
                                             const char *scopes)                                             const char *scopes)
 { {
  
      if(_initialized.value() == 0 )
         throw UninitializedObjectException();
  
    if(type ==  0)    if(type ==  0)
       return 1;       return 1;
Line 299 
Line 312 
 void slp_service_agent::start_listener(void) void slp_service_agent::start_listener(void)
 { {
    // see if we need to use an slp directory agent    // see if we need to use an slp directory agent
      if(_initialized.value() == 0 )
         throw UninitializedObjectException();
  
    _using_das = _find_das(_rep, NULL, "DEFAULT");    _using_das = _find_das(_rep, NULL, "DEFAULT");
  
Line 317 
Line 332 
    slp_service_agent *agent =    slp_service_agent *agent =
       (slp_service_agent *)myself->get_parm();       (slp_service_agent *)myself->get_parm();
  
   
   
    lslpMsg msg_list;    lslpMsg msg_list;
  
    while(agent->_should_listen.value())    while(agent->_should_listen.value())
    {    {
       time_t now = time(NULL);        Uint32 now, msec;
         System::getCurrentTime(now, msec);
          // now register everything          // now register everything
  
       for(slp_reg_table::Iterator i = agent->_internal_regs.start(); i ; i++)       for(slp_reg_table::Iterator i = agent->_internal_regs.start(); i ; i++)
       {       {
          sa_reg_params *rp = i.value();          sa_reg_params *rp = i.value();
          if(rp->expire > now - 1)  
            if(rp->expire == 0 || rp->expire < now - 1)
          {          {
             rp->expire = now + rp->lifetime;             rp->expire = now + rp->lifetime;
  
Line 343 
Line 362 
             }             }
             else             else
             {             {
                agent->_rep->srv_reg_all(                 agent->_rep->srv_reg_local(
                   agent->_rep,                   agent->_rep,
                   rp->url,                   rp->url,
                   rp->attrs,                   rp->attrs,
Line 352 
Line 371 
                   rp->lifetime);                   rp->lifetime);
             }             }
          }          }
   
       }       }
   
       agent->_rep->service_listener(agent->_rep, 0, &msg_list);       agent->_rep->service_listener(agent->_rep, 0, &msg_list);
       _LSLP_SLEEP(1);       _LSLP_SLEEP(1);
    }    }


Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2