Exemple #1
0
 virtual void Increment(int server_id, V value) {
   auto found_item = std::find_if(
       pn_counter_.mutable_server_items()->begin(),
       pn_counter_.mutable_server_items()->end(),
       [&server_id] (const CRDT_PNCounter_ServerItem & server_item) {
         return server_item.server_id() == server_id;
   });
   if (found_item == pn_counter_.server_items().end()) {
     CRDT_PNCounter_ServerItem * server_item = pn_counter_.add_server_items();
     server_item->set_server_id(server_id);
     if (value > 0) {
       server_item->set_positive(&value, sizeof(V));
     } else {
       server_item->set_negative(&value, sizeof(V));
     }
   } else {
     if (value > 0) {
       found_item->set_positive(&value, sizeof(V));
     } else {
       found_item->set_negative(&value, sizeof(V));
     }
   }
 }
Exemple #2
0
void sound_handler() {
    set_positive(SOUND_INDICATOR, &sensor_values->sound_indic, 
                    &sensor_values->sound_val, 0);
}
Exemple #3
0
void obstacle_r_handler() {
    set_positive(OBSTACLE_INDICATOR, &sensor_values->obstacle_indic, 
                    (char *) &sensor_values->obstacle_val, IDX_RIGHT);
}
Exemple #4
0
void impact_b_handler() {
    set_positive(IMPACT_INDICATOR, &sensor_values->impact_indic, 
                    (char *) &sensor_values->impact_val, IDX_BACK);
}
Exemple #5
0
	void set_features( bool alive, bool positive, bool influential )
	{
		set_alive( alive );
		set_positive( positive );
		set_influential( influential );
	}