コード例 #1
0
PAPISocket daemonConnect( int inRetryCount )
{
	int					thePort	= getDaemonPort();
	PAPISocket			theSocket;
	PAPIConnectResult	theRC	=
		getConnectedSocket( thePort, SOCK_STREAM, 0, &theSocket );

	if ( theRC == PAPIConnectRejected ||
	     ( theRC == PAPIConnectFailed && startDaemon()	== 0 ) )
	{
		theRC =
			getConnectedSocket( thePort, SOCK_STREAM, inRetryCount, &theSocket);
	}
	return theSocket;
}
コード例 #2
0
void* initializeClient(void* args){
GtkWidget* dia;
char addr[24];
int res, numdev=NUMDEV, i, ch[NUMDEV], target=0, isdevselected=0, valdevs=0, t;
bdaddr_t *devs;
devs=(bdaddr_t*)malloc(NUMDEV*sizeof(bdaddr_t));
bzero(ch,sizeof(int)*NUMDEV);
dia=gtk_dialog_new();
int valDevs[NUMDEV]={-1};

//g_signal_connect_swapped (dia,"response",G_CALLBACK(gtk_widget_destroy),dia);

g_print("Getting remote addresses\n");
if((res=getRemoteAddresses(devs,&numdev))==ERROR){
printf("error%x\n",aeoserr);
return NULL;
}
if(numdev==0){
g_print("No devices found\n");
return NULL;
}
for(i=0;i<numdev;i++){
ba2str(&devs[i],addr);
g_print("%d - %s ",i,addr);
res=isRunningServer(aeosuuid,&devs[i],&ch[i]);
if(res==OK && ch[i]<=30 && ch[i]>0){
g_print("; channel=%d",ch[i]);
valDevs[i]=1;
valdevs++;
}
g_print("\n");
}
if(valdevs<1){
g_print("No device running server to connect to\n");//announce through dialog
//don't launch gui
return NULL;
}
if(valdevs==1){
//one valid device among 1 device(s)
for(i=0;i<numdev;i++){if(valDevs[i]==1){target=i;}}
sock=getConnectedSocket(devs[target],ch[target]);
isdevselected=1; //flag
//target 0 by default
}else{
//if valid device more than 1
for(i=0;i<numdev;i++){
 if(valDevs[i]==1){//printf("%d/",i);
 ba2str(&devs[i],addr);
 gtk_dialog_add_button(GTK_DIALOG(dia),addr,i);
 }
 }
target=gtk_dialog_run(GTK_DIALOG(dia));
gtk_dialog_response(GTK_DIALOG(dia),GTK_RESPONSE_CLOSE);
g_print("Device %d",t);
//scanf("%d%*c",&target);//get button response
if(valDevs[target]==1){isdevselected=1; sock=getConnectedSocket(devs[target],ch[target]);}
else{printf("Incorrect device chosen\n");}

}
//copied
return NULL;
}