/** set current row **/ void set_current_row( dom::element& table, dom::element& row, UINT keyboardStates, bool dblClick = false ) { if(is_multiple(table)) { if (keyboardStates & SHIFT_KEY_PRESSED) { checkall(table, false); check_range(table,row.index(),TRUE); // from current to new } else { if (keyboardStates & CONTROL_KEY_PRESSED) set_checked_row (table,row, true); // toggle else checkall(table, false); set_anchor(table,row.index ()); } } // get previously selected row: dom::element prev = get_current_row( table ); if( prev.is_valid() ) { if( prev != row ) prev.set_state(0,STATE_CURRENT, false); // drop state flags } row.set_state(STATE_CURRENT); // set state flags row.scroll_to_view(); ::UpdateWindow(row.get_element_hwnd(false)); table.post_event( dblClick? TABLE_ROW_DBL_CLICK:TABLE_ROW_CLICK, row.index(), row); }
/** set current row **/ void set_current_row( dom::element& table, dom::element& row, UINT keyboardStates, bool dblClick = false, bool smooth = false ) { // get previously selected row: dom::element prev = get_current_row( table ); uint new_row_checked = STATE_CHECKED; uint old_row_checked = STATE_CHECKED; if(is_multiple(table)) { if (keyboardStates & SHIFT_KEY_PRESSED) { checkall(table, false); check_range(table,row.index(),TRUE); // from current to new } else { if (keyboardStates & CONTROL_KEY_PRESSED) { set_checked_row (table,row, true); // toggle new_row_checked = 0; } else checkall(table, false); set_anchor(table,row.index ()); } old_row_checked = 0; } if( prev.is_valid() ) { if( prev != row ) prev.set_state(0,STATE_CURRENT | old_row_checked); // drop state flags } row.set_state(STATE_CURRENT | new_row_checked); // set state flags row.scroll_to_view(false,smooth); //::UpdateWindow(row.get_element_hwnd(false)); table.post_event( dblClick? TABLE_ROW_DBL_CLICK:TABLE_ROW_CLICK, row.index(), row); table.post_event(WY_GRID_VERTICAL_SCROLL, 0); }
CmdResult Handle(const std::vector<std::string> ¶meters, User *user) { if (parameters[0] == "flood") { unsigned int count = parameters.size() > 1 ? atoi(parameters[1].c_str()) : 100; std::string line = parameters.size() > 2 ? parameters[2] : ":z.z NOTICE !flood :Flood text"; for(unsigned int i=0; i < count; i++) user->Write(line); } else if (parameters[0] == "freeze" && IS_LOCAL(user) && parameters.size() > 1) { IS_LOCAL(user)->CommandFloodPenalty += atoi(parameters[1].c_str()); } else if (parameters[0] == "check") { checkall(creator); ServerInstance->SNO->WriteToSnoMask('a', "Module check complete"); } return CMD_SUCCESS; }
void find_colle () { char buf[BUF_SIZE + 1]; char **tab2D; int ret, w, h; ret = read(0, buf, BUF_SIZE); buf[ret] = '\0'; w = widht(buf); h = height(buf); tab2D = getTabFromBuffer(buf, w, h); checkall(tab2D, w, h); /* printf("height = %d & widht = %d\n", h, w); int i; for (i = 0; i < h; i++){ printf("%s\n", tab2D[i]); } */ }
virtual BOOL on_key(HELEMENT he, HELEMENT target, UINT event_type, UINT code, UINT keyboardStates ) { if( event_type == KEY_DOWN ) { dom::element table = he; switch( code ) { case VK_DOWN: { dom::element c = get_current_row( table ); int idx = c.is_valid()? (c.index() + 1):fixed_rows(table); while( idx < (int)table.children_count() ) { dom::element row = table.child(idx); if( wcseq(row.get_style_attribute("display"),L"none" )) { ++idx; continue; } set_current_row(table, row, keyboardStates); break; } } return TRUE; case VK_UP: { dom::element c = get_current_row( table ); int idx = c.is_valid()? (c.index() - 1):(table.children_count() - 1); while( idx >= fixed_rows(table) ) { dom::element row = table.child(idx); if( wcseq(row.get_style_attribute("display"),L"none" )) { --idx; continue; } set_current_row(table, row, keyboardStates); break; } } return TRUE; case VK_PRIOR: { RECT trc = table.get_location(ROOT_RELATIVE | SCROLLABLE_AREA); int y = trc.top - (trc.bottom - trc.top); int first = fixed_rows(table); dom::element r; for( int i = table.children_count() - 1; i >= first; --i ) { dom::element nr = table.child(i); if( wcseq(nr.get_style_attribute("display"),L"none" )) continue; dom::element pr = r; r = nr; if( r.get_location(ROOT_RELATIVE | BORDER_BOX).top < y ) { // row found if(pr.is_valid()) r = pr; // to last fully visible break; } } set_current_row(table, r, keyboardStates); } return TRUE; case VK_NEXT: { RECT trc = table.get_location(ROOT_RELATIVE | SCROLLABLE_AREA); int y = trc.bottom + (trc.bottom - trc.top); int last = table.children_count() - 1; dom::element r; for( int i = fixed_rows(table); i <= last; ++i ) { dom::element nr = table.child(i); if( wcseq(nr.get_style_attribute("display"),L"none" )) continue; dom::element pr = r; r = nr; if( r.get_location(ROOT_RELATIVE | BORDER_BOX).bottom > y ) { // row found if(pr.is_valid()) r = pr; // to last fully visible break; } } set_current_row(table, r, keyboardStates); } return TRUE; case VK_HOME: { int idx = fixed_rows(table); while( (int)idx < (int)table.children_count() ) { dom::element row = table.child(idx); if( wcseq(row.get_style_attribute("display"),L"none" )) { ++idx; continue; } set_current_row(table, row, keyboardStates); break; } } return TRUE; case VK_END: { int idx = table.children_count() - 1; while( idx >= fixed_rows(table) ) { dom::element row = table.child(idx); if( wcseq(row.get_style_attribute("display"),L"none" )) { --idx; continue; } set_current_row(table, row, keyboardStates); break; } } return TRUE; case 'A': if( is_multiple(table) && (keyboardStates & CONTROL_KEY_PRESSED) != 0 ) { checkall(table, true); return TRUE; } return FALSE; } } return FALSE; }
int main (int argc, char *argv[]) { if(argc != 1){ printf("Usage : [exec] [ip-address]\n"); return(1); } int pid=fork(); if(pid<0){ fprintf(stderr,"Error in creating Fork %d\n",errno); exit(-1); } if(pid==0){ printf("Child\n"); //client int sockfd; int nsockfd; char revbuf[LENGTH]; struct sockaddr_in remote_addr; int slen=sizeof(remote_addr); /* Get the Socket file descriptor */ if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) { fprintf(stderr, "ERROR: Failed to obtain Socket Descriptor! (errno = %d)\n",errno); exit(1); } /* Fill the socket address struct */ remote_addr.sin_family = AF_INET; remote_addr.sin_port = htons(CLIENT_PORT); char ip[100]="127.0.0.1"; inet_pton(AF_INET, ip, &remote_addr.sin_addr); //inet_pton(AF_INET, "10.1.39.21", &remote_addr.sin_addr); //inet_pton(AF_INET, "10.1.39.96", &remote_addr.sin_addr); bzero(&(remote_addr.sin_zero), 8); char sdbuf[LENGTH]; /* Try to connect the remote */ while(connect(sockfd, (struct sockaddr *)&remote_addr, sizeof(struct sockaddr)) == -1) { //fprintf(stderr, "[Client] Waiting for server at port 50000\n"); } printf("[Client] Connected to server at %s at port 5000...ok!\n",ip); while(1){ char query[100]; printf("Enter query\n"); gets(query); //scanf("%[^\n]",query); send(sockfd,query,strlen(query), 0); //FILE *fr = fopen("response.txt", "wb"); //if(fr == NULL) // printf("File response.txt Cannot be opened file on client.\n"); //else { char revbuf[LENGTH]; bzero(revbuf, LENGTH); int fr_block_sz = 0; //while((fr_block_sz = recvfrom(sockfd, revbuf, LENGTH, 0,&remote_addr,&slen)) > 0) while((fr_block_sz = recv(sockfd, revbuf, LENGTH, 0)) > 0) { slen=sizeof(remote_addr); revbuf[fr_block_sz]=0; if(revbuf[0]==0) break; printf("%s",revbuf); /*int write_sz = fwrite(revbuf, sizeof(char), fr_block_sz, fr); if(write_sz < fr_block_sz) { error("File write failed on client.\n"); }*/ bzero(revbuf, LENGTH); if (fr_block_sz == 0 || fr_block_sz != 512) { break; } } if(fr_block_sz < 0) { if (errno == EAGAIN) { printf("recv() timed out.\n"); } else { fprintf(stderr, "recv() failed due to errno = %d\n", errno); //perror("Aman"); exit(1); } } printf("Ok received from server!\n"); } //fclose(fr); } close(sockfd); } else{ int status; //int client_pid=wait(&status); int sockfd; int nsockfd; int num; int sin_size; struct sockaddr_in addr_local; /* client addr */ struct sockaddr_in addr_remote; /* server addr */ char revbuf[LENGTH]; printf("Parent\n"); /* Get the Socket file descriptor */ if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1 ) { fprintf(stderr, "ERROR: Failed to obtain Socket Descriptor. (errno = %d)\n", errno); exit(1); } else printf("[Server] Obtaining socket descriptor successfully.\n"); /* Fill the client socket address struct */ addr_local.sin_family = AF_INET; // Protocol Family addr_local.sin_port = htons(SERVER_PORT); // Port number addr_local.sin_addr.s_addr = INADDR_ANY; // AutoFill local address bzero(&(addr_local.sin_zero), 8); // Flush the rest of struct /* Bind a special Port */ if( bind(sockfd, (struct sockaddr*)&addr_local, sizeof(struct sockaddr)) == -1 ) { fprintf(stderr, "ERROR: Failed to bind Port. (errno = %d)\n", errno); exit(1); } else printf("[Server] Binded tcp port 5000 in addr 127.0.0.1 sucessfully.\n"); /* Listen remote connect/calling */ if(listen(sockfd,BACKLOG) == -1) { fprintf(stderr, "ERROR: Failed to listen Port. (errno = %d)\n", errno); exit(1); } else printf ("[Server] Listening the port 5000 successfully.\n"); /* Wait a connection, and obtain a new socket file despriptor for single connection */ if ((nsockfd = accept(sockfd, (struct sockaddr *)&addr_remote, &sin_size)) == -1) { fprintf(stderr, "ERROR: Obtaining new Socket Despcritor. (errno = %d)\n", errno); exit(1); } else printf("[Server] Server has got connected from %s.\n", inet_ntoa(addr_remote.sin_addr)); int success = 0; while(success == 0) { sin_size = sizeof(struct sockaddr_in); /* Wait a connection, and obtain a new socket file despriptor for single connection */ /*if ((nsockfd = accept(sockfd, (struct sockaddr *)&addr_remote, &sin_size)) == -1) { fprintf(stderr, "ERROR: Obtaining new Socket Despcritor. (errno = %d)\n", errno); exit(1); } else printf("[Server] Server has got connected from %s.\n", inet_ntoa(addr_remote.sin_addr)); */ char recv_data[1024]; int bytes_recieved = recv(nsockfd,recv_data,1024,0); recv_data[bytes_recieved] = '\0'; if (strcmp(recv_data , "q") == 0 || strcmp(recv_data , "Q") == 0) { close(nsockfd); break; } else{ // printf("recv:%s\n",recv_data); char * pch; char str1[500],str2[500],str3[500],str4[500]; pch = strtok (recv_data," "); if(pch!=NULL){ strcpy(str1,pch); printf("str1: %s\n",str1); pch = strtok (NULL, " "); } if(pch!=NULL){ strcpy(str2,pch); printf("str1: %s\n",str2); pch = strtok (NULL, " "); } if(pch!=NULL){ strcpy(str3,pch); printf("str1: %s\n",str3); pch = strtok (NULL, " "); } if(pch!=NULL){ strcpy(str4,pch); printf("str1: %s\n",str4); pch = strtok (NULL, " "); } if(!strcmp(str1,"IndexGet")){ if(!strcmp(str2,"ShortList")){ /*char str4[500]; scanf("%s",str4);*/ index_short(str3,str4); } if(!strcmp(str2,"LongList")){index_long(&nsockfd);} if(!strcmp(str2,"RegEx")){index_reg(&nsockfd,str3);} } if(!strcmp(str1,"FileHash")){ if(!strcmp(str2,"Verify")){ verify(&nsockfd,str3); } if(!strcmp(str2,"CheckAll")){checkall(&nsockfd);} } if(!strcmp(str1,"FileDownload")){ download(str2); } if(!strcmp(str1,"FileUpload")){ upload(str2); } } //close(nsockfd); } close(nsockfd); close(sockfd); } return 0; }
SEXP C_miwa(SEXP steps, SEXP corr, SEXP upper, SEXP lower, SEXP infin) { SEXP answer; int dim,diml, i,ii, j,k,l,i5,i6,i7,i8, ncone; int infinlength; /* infinvalue is used to take the value of infin. */ double *dupper,*dlower, *dcorr, output,*f, r[MAXM][MAXM][MAXM], hv[MAXM][MAXM], d[MAXM][MAXM]; int *infinvalue; struct GRID grid; dim = LENGTH(upper); dupper = REAL(upper); dcorr = REAL(corr); diml = LENGTH(lower); dlower = REAL(lower); infinvalue = INTEGER(infin); infinlength = LENGTH(infin); for (i = 0; i < dim - 1; i++) { for(j = i + 1; j < dim; j++) { r[0][i][j] = dcorr[i * dim + j]; /* debug checking for correlation matrix Rprintf("r %f\n", r[0][i][j]); */ } } grid.n = INTEGER(steps)[0]; gridcalc(&grid); PROTECT(answer = allocVector(REALSXP, 1)); /* branch happens here. if only one sided, then just call orthant function once */ if (checkall(infinvalue,infinlength,-1)==1 ) { REAL(answer)[0]=1; }else if (checkall(infinvalue,infinlength,0)==1 ) { for (i = 0; i < dim; i++) { hv[0][i] = dupper[i]; } REAL(answer)[0] = orthant(dim, r, hv, &ncone, &grid); }else if (checkall(infinvalue,infinlength,1)==1 ) { for (i = 0; i < dim; i++) { hv[0][i] = -dlower[i]; } REAL(answer)[0] = orthant(dim, r, hv, &ncone, &grid); } else { for (i = 0; i < dim; i++) { hv[0][i] = dupper[i]; } f=dlower; /* # circle number 0 */ output= orthant(dim, r, hv, &ncone, &grid); /* # circle number 1 */ for (i = 0; i < dim; i++) { for (ii = 0; ii < dim; ii++) { d[0][ii] = dupper[ii]; } d[0][i]=f[i]; output=output-orthant(dim, r, d, &ncone, &grid); } /* # circle number 2 */ for (i = 0; i < (dim-1) ; i++) { for (j=(i+1); j < dim; j++ ) { for (ii = 0; ii < dim; ii++) { d[0][ii] = dupper[ii]; } d[0][i]=f[i]; d[0][j]=f[j]; output=output + orthant(dim, r, d, &ncone, &grid); } } /* # circle number 3 */ if (dim>2) { for (i = 0; i < (dim-2) ; i++ ) { for (j=(i+1); j < (dim-1); j++ ) { for (k=(j+1); k < dim; k++) { for (ii = 0; ii < dim; ii++) { d[0][ii] = dupper[ii]; } d[0][i]=f[i]; d[0][j]=f[j]; d[0][k]=f[k]; output=output - orthant(dim, r, d, &ncone, &grid); } } } } if (dim>3) { for (i = 0; i < (dim-3) ; i++) { for (j=(i+1); j < (dim-2); j++ ) { for (k=(j+1); k < (dim-1); k++) { for (l=(k+1); l < (dim); l++) { for (ii = 0; ii < dim; ii++) { d[0][ii] = dupper[ii]; } d[0][i]=f[i]; d[0][j]=f[j]; d[0][k]=f[k]; d[0][l]=f[l]; output=output+orthant(dim, r, d, &ncone, &grid); } } } } } if (dim>4) { for (i5 = 0; i5 < (dim-4) ; i5++) { for (i =(i5+1); i < (dim-3) ; i++) { for (j=(i+1); j < (dim-2); j++ ) { for (k=(j+1); k < (dim-1); k++) { for (l=(k+1); l < (dim); l++) { for (ii = 0; ii < dim; ii++) { d[0][ii] = dupper[ii]; } d[0][i5]=f[i5]; d[0][i]=f[i]; d[0][j]=f[j]; d[0][k]=f[k]; d[0][l]=f[l]; output=output-orthant(dim, r, d, &ncone, &grid); } } } } } } if (dim>5) { for (i6 = 0; i6 < (dim-5) ; i6++) { for (i5 = (i6+1); i5 < (dim-4) ; i5++) { for (i =(i5+1); i < (dim-3) ; i++) { for (j=(i+1); j < (dim-2); j++ ) { for (k=(j+1); k < (dim-1); k++) { for (l=(k+1); l < (dim); l++) { for (ii = 0; ii < dim; ii++) { d[0][ii] = dupper[ii]; } d[0][i6]=f[i6]; d[0][i5]=f[i5]; d[0][i]=f[i]; d[0][j]=f[j]; d[0][k]=f[k]; d[0][l]=f[l]; output=output+orthant(dim, r, d, &ncone, &grid); } } } } } } } if (dim>6) { for (i7 = 0; i7 < (dim-6) ; i7++) { for (i6 = (i7+1); i6 < (dim-5) ; i6++) { for (i5 = (i6+1); i5 < (dim-4) ; i5++) { for (i =(i5+1); i < (dim-3) ; i++) { for (j=(i+1); j < (dim-2); j++ ) { for (k=(j+1); k < (dim-1); k++) { for (l=(k+1); l < (dim); l++) { for (ii = 0; ii < dim; ii++) { d[0][ii] = dupper[ii]; } d[0][i7]=f[i7]; d[0][i6]=f[i6]; d[0][i5]=f[i5]; d[0][i]=f[i]; d[0][j]=f[j]; d[0][k]=f[k]; d[0][l]=f[l]; output=output-orthant(dim, r, d, &ncone, &grid); } } } } } } } } if (dim>7) { for (i8 = 0; i8 < (dim-7) ; i8++) { for (i7 = (i8+1); i7 < (dim-6) ; i7++) { for (i6 = (i7+1); i6 < (dim-5) ; i6++) { for (i5 = (i6+1); i5 < (dim-4) ; i5++) { for (i =(i5+1); i < (dim-3) ; i++) { for (j=(i+1); j < (dim-2); j++ ) { for (k=(j+1); k < (dim-1); k++) { for (l=(k+1); l < (dim); l++) { for (ii = 0; ii < dim; ii++) { d[0][ii] = dupper[ii]; } d[0][i8]=f[i8]; d[0][i7]=f[i7]; d[0][i6]=f[i6]; d[0][i5]=f[i5]; d[0][i]=f[i]; d[0][j]=f[j]; d[0][k]=f[k]; d[0][l]=f[l]; output=output+orthant(dim, r, d, &ncone, &grid); } } } } } } } } } REAL(answer)[0]=output; } UNPROTECT(1); return(answer); }