コード例 #1
0
ファイル: find_srv.cpp プロジェクト: oneplus1000/sqlac
void find_srv::FindSrvs_URL(char* Asrvtype)

{
    SLPError    result;
    SLPHandle   hslp;
    SLPError callbackerr;

    if(SLPOpen("en",SLP_FALSE,&hslp) == SLP_OK)
    {    //printf("\ntest\n");


        result = SLPFindSrvs(hslp,
                             Asrvtype,
                             0,
                             0,
                             mySrvUrlCallback,
                             &callbackerr);
        //printf("\ntest2\n");


        if(result != SLP_OK)
        {
            printf("errorcode: %i\n",result);
        }
        SLPClose(hslp);
    }
}
コード例 #2
0
ファイル: slptool.c プロジェクト: eSDK/eSDK_OBS_API
void FindSrvs(SLPToolCommandLine * cmdline)
{
   SLPError result;
   SLPHandle hslp;

   if (SLPOpen(cmdline->lang, SLP_FALSE, &hslp) == SLP_OK)
   {
#ifndef UNICAST_NOT_SUPPORTED
      if (cmdline->unicastifc && (result = SLPAssociateIP(hslp, 
            cmdline->unicastifc)) != SLP_OK)
      {
         printf("errorcode: %i\n", result);
         SLPClose(hslp);
         return;
      }
#endif
#ifndef MI_NOT_SUPPORTED
      if (cmdline->interfaces && (result = SLPAssociateIFList(hslp, 
            cmdline->interfaces)) != SLP_OK)
      {
         printf("errorcode: %i\n", result);
         SLPClose(hslp);
         return;
      }
#endif
      result = SLPFindSrvs(hslp, cmdline->cmdparam1, cmdline->scopes,
                     cmdline->cmdparam2, mySrvUrlCallback, 0);
      if (result != SLP_OK)
         printf("errorcode: %i\n", result);
      SLPClose(hslp);
   }
}
コード例 #3
0
ファイル: lmiwbem_slp.cpp プロジェクト: miminar/lmiwbem
bp::object SLP::discover(
    const bp::object &srvtype,
    const bp::object &scopelist,
    const bp::object &filter,
    const bp::object &async)
{
    std::string std_srvtype = StringConv::asStdString(srvtype, "srvtype");
    std::string std_scopelist = StringConv::asStdString(scopelist, "scopelist");
    std::string std_filter = StringConv::asStdString(filter, "filter");
    bool std_async = Conv::as<bool>(async, "async");

    // Open SLP handle.
    ScopedSLPHandle hslp(std_async);
    if (!hslp)
        throw_SLPError("Can't open SLP handle", static_cast<int>(hslp.error()));

    // Discover the services.
    SLPError err;
    bp::list srvs;
    if ((err = SLPFindSrvs(
            hslp,
            std_srvtype.c_str(),
            std_scopelist.c_str(),
            std_filter.c_str(),
            SLP::urlCallback,
            static_cast<void*>(&srvs))) != SLP_OK)
    {
        throw_SLPError("SLP discovery failed", static_cast<int>(err));
    }

    return srvs;
}
コード例 #4
0
ファイル: slpperf_test1.c プロジェクト: Distrotech/openslp
/*-------------------------------------------------------------------------*/
int SlpPerfTest1_slpfindsrvs (SLPHandle hslp, 
                              SLPList* service_list,
                              double* ave_slpfindattrs,
                              int* count_slpfindattrs)
/*-------------------------------------------------------------------------*/
{
    int             found;
    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 */
    found = 0;
    errorcode = SLPFindSrvs(hslp, 
                            srv->servicetype, 
                            0,
                            0,
                            SlpPerfTest1_slpsrvurlcallback,
                            &found);
    if(errorcode != SLP_OK)
    {
        printf("SLPFindSrvs(hslp,%s,0,0,callback,%i) returned %i\n",
	       srv->servicetype,
	       found,
	       errorcode);
    
        printf("This should not happen!\n");
    
        return -1;
    }

    if(found <= 0)
    {
        printf("Did not find any services on SLPFindSrvs(). This is bad\n");
        return -1;
    }
                     
    return 0;
}
コード例 #5
0
ファイル: slptest.c プロジェクト: AparnaKarve/manageiq
int
main(int argc, char **argv)
{
	SLPError	slprv;
	SLPHandle	slph;
	struct SRV_URL_CB_INFO cbinfo;
	
	slprv = SLPOpen(NULL, SLP_FALSE, &slph);
	if(slprv != SLP_OK)	{
		printf("Error opening slp handle %i\n", slprv);
		exit(1);
	}
	
	cbinfo.num_url = 0;
	
	slprv = SLPFindSrvs( slph,
		"service:wbem",
		0,                    /* use configured scopes */
		0,                    /* no attr filter        */
		MySLPSrvURLCallback,
		&cbinfo );

	if((slprv != SLP_OK) || (cbinfo.callbackerr != SLP_OK))	{
		printf("SLPFindSrvs Error: %i\n", slprv);
		exit(1);
	}
	else	{
		int i;
		printf("SLPFindSrvs discovered %d servers:\n", cbinfo.num_url);
		for(i = 0; i < cbinfo.num_url; i++)	{
			printf("\t%s\n", cbinfo.srv_urls[i]);
			slprv = SLPFindAttrs(slph,
				cbinfo.srv_urls[i],
				"", /* attributes */
				"", /* use configured scopes */
				myAttrCallback,
				NULL);
			if(slprv != SLP_OK)	{
				printf("errorcode: %i\n", slprv);
			}
		}
	}
	
	SLPClose(slph);
}
コード例 #6
0
/*=========================================================================*/
void FindSrvs(SLPToolCommandLine* cmdline)
/*=========================================================================*/
{
    SLPError    result;
    SLPHandle   hslp;

    if(SLPOpen(cmdline->lang,SLP_FALSE,&hslp) == SLP_OK)
    {
        result = SLPFindSrvs(hslp,
                             cmdline->cmdparam1,
                             cmdline->scopes,
                             cmdline->cmdparam2,
                             mySrvUrlCallback,
                             0);
        if(result != SLP_OK)
        {
            printf("errorcode: %i\n",result);
        }
        SLPClose(hslp);
    }               
}
コード例 #7
0
int
main (int argc, char *argv[])
{
	SLPError err;
	SLPError callbackerr;
	SLPHandle hslp;

	err = SLPOpen ("en", SLP_FALSE, &hslp);
	check_error_state(err,"Error opening slp handle.");

	err = SLPFindSrvs (
			hslp, 
			argv[1],
			0,		/* use configured scopes */
			0,		/* no attr filter        */
			MySLPSrvURLCallback,
			&callbackerr);
	check_error_state(err, "Error registering service with slp.");

	/* Now that we're done using slp, close the slp handle */
	SLPClose (hslp);

	return(0);
}