示例#1
0
/*
 * Common stuff we always do at the end of setup
 */
EXTFN void morpheuz_load_standard_postamble() {
  read_internal_data();
  read_config_data();
  
  // Start clock
  tick_timer_service_subscribe(MINUTE_UNIT, handle_minute_tick);
  
  battery_state_handler(battery_state_service_peek());
  battery_state_service_subscribe(&battery_state_handler);

  bluetooth_state_handler(bluetooth_connection_service_peek());
  bluetooth_connection_service_subscribe(bluetooth_state_handler);

  init_morpheuz();

  light_enable_interaction();
}
示例#2
0
文件: proxy.c 项目: n-zhuravlev/1
int main( int argc, char **argv )
{
  	int port;
  	char *config_data = (char *)malloc(MAX_SIZE_CONFIG_DATA * sizeof(char));
  	
  	if(argc == 2) {
  		read_config_data(argv[1], &port, config_data);
  	}
  	else {
  		fprintf(stderr, "Не найден конфигурационный файл.\n");	
  		return 1;
  	}
	
	struct event_base *base = event_base_new();	
  	if( !base ) {
    		fprintf( stderr, "Ошибка при создании объекта event_base.\n" );
    		return 1;
	}
	
	struct sockaddr_in SockAddr;
	SockAddr.sin_family = AF_INET;
	SockAddr.sin_port = htons(port);
	SockAddr.sin_addr.s_addr = htonl(INADDR_ANY);
	memset(&(SockAddr.sin_zero), '\0', 8);
	
	struct evconnlistener *listener = evconnlistener_new_bind( base, accept_connection_cb, config_data, (LEV_OPT_CLOSE_ON_FREE | LEV_OPT_REUSEABLE), -1, (struct sockaddr *)&SockAddr, sizeof(SockAddr) );
  	if( !listener ) {
    		fprintf(stderr, "Ошибка при создании объекта evconnlistener.\n" );
    		return 1;
  	}  
  	evconnlistener_set_error_cb( listener, accept_error_cb );

  	event_base_dispatch( base );
  	
  	free(config_data);
  
	return 0;
}