Exemplo n.º 1
0
/*****************************************************************************
 * sout_SLDePReg: Unregisters the program from SLP
 *****************************************************************************/
int sout_SLPDereg( sout_instance_t *p_sout, char * psz_url,
                               char * psz_name)
{
#ifdef HAVE_SLP_H

    SLPHandle   slp_handle;
    SLPError    slp_res;
    char *psz_service= sout_SLPBuildName(psz_url,psz_name);

    if( SLPOpen( NULL, SLP_FALSE, &slp_handle ) != SLP_OK)
    {
        msg_Warn(p_sout,"Unable to initialize SLP");
        return -1;
    }

    msg_Info(p_sout , "Unregistering %s from SLP",
                      psz_service);

    slp_res = SLPDereg ( slp_handle,
            psz_service,
            sout_SLPReport,
            NULL );

    if( slp_res != SLP_OK )
    {
        msg_Warn(p_sout,"Error while registering service: %i", slp_res );
        return -1;
    }

    return 0;

#else /* This function should never be called if this is false */
    return -1;
#endif
}
Exemplo n.º 2
0
void slapd_slp_dereg() {
	int i;

	if( slapd_srvurls == NULL ) return;

	for( i=0; slapd_srvurls[i] != NULL; i++ ) {
		SLPDereg( slapd_hslp,
			slapd_srvurls[i],
			slapd_slp_regreport,
			NULL );
	}
}
Exemplo n.º 3
0
void Deregister(SLPToolCommandLine * cmdline)
{
   SLPError result;
   SLPHandle hslp;

   if (SLPOpen(cmdline->lang, SLP_FALSE, &hslp) == SLP_OK)
   {
      result = SLPDereg(hslp, cmdline->cmdparam1, mySLPRegReport, 0);
      if (result != SLP_OK)
         printf("errorcode: %i\n", result);
      SLPClose(hslp);
   }
}
Exemplo n.º 4
0
/*-------------------------------------------------------------------------*/
int SlpPerfTest1_slpdereg (SLPHandle hslp, 
                           SLPList* service_list,
                           double* ave_slpdereg,
                           int* count_slpdereg)
/*-------------------------------------------------------------------------*/
{
    struct timezone tz;
    struct timeval  start;
    struct timeval  end;
    TestService_T*  srv;
    SLPError        errorcode;
    
    srv = FindRandomTestService(service_list);

       /* mark start time */
    gettimeofday(&start,&tz);
    
    /* call SLP API */
    errorcode = SLPDereg(hslp,
                         srv->serviceurl,
                         SlpPerfTest1_deregreport,
                         srv);
    if(errorcode != SLP_OK)
    {
        printf("SLPDereg(hslp,%s,callback,0) returned %i\n",
               srv->serviceurl,
               errorcode);
        
        printf("This should not happen!\n");
        
        return -1;
    }

    /* mark end time */
    gettimeofday(&end,&tz);
    
    /* unlink the registered service from the list and free it*/
    free(SLPListUnlink(service_list,(SLPListItem*)srv));

    /* recalculate average time */
    *ave_slpdereg = (*ave_slpdereg) * (*count_slpdereg) + ElapsedTime(&start,&end);
    *count_slpdereg = *count_slpdereg + 1;
    *ave_slpdereg = *ave_slpdereg / *count_slpdereg;

    return 0;
}
Exemplo n.º 5
0
/*-------------------------------------------------------------------------*/
int SlpPerfTest1_slpderegall (SLPHandle hslp, 
                           SLPList* service_list,
                           double* ave_slpdereg,
                           int* count_slpdereg)
/*-------------------------------------------------------------------------*/
{
       
    SLPError        errorcode;
    TestService_T*  srv;

    srv = (TestService_T*)service_list->head;
    while(srv)
    {
        errorcode = SLPDereg(hslp,
                             srv->serviceurl,
                             SlpPerfTest1_deregreport,
                             srv);
        srv = (TestService_T*)srv->listitem.next;
    }                             
	
    return errorcode;
}