Project

General

Profile

Revision 1396

Added by Chris Mar over 14 years ago

updated wl_basic with default packet handling

View differences:

wl_basic.c
22 22
                   unsigned char* packet, int length) ) {
23 23
    int returnme = wl_init();
24 24
    wl_basic_register_handler(handle_receive);
25
    current_packet.new_flag = 0;
25 26
    return returnme;
26 27
}
27 28

  
28 29
/**
30
 *
31
 *
32
 **/
33
int wl_basic_init_default( ) {
34
    return wl_basic_init(&wl_basic_packet_receive_handler);
35
}
36

  
37
/**
29 38
 * Internal function to register a packet group handler for Basic Group
30 39
 *
31 40
 * @param handle_receive function pointer to handler function for Basic Group
......
64 73
    wl_send_global_packet(WL_BASIC_GROUP, type, data, len, 0);
65 74
}
66 75

  
76
/**
77
 * Default packet handler used if none is specified on init
78
 *
79
 * @param type Packet type
80
 * @param data Packet buffer, data you received
81
 * @param length Length of the data buffer in bytes
82
 **/
83
void wl_basic_packet_receive_handler( char type, int source, unsigned char* packet, int length ) {
84
    current_packet.new_flag = 1;
85
    current_packet.type = type;
86
    current_packet.source = source;
87
    current_packet.pointer = packet;
88
    current_packet.length = length;
89
}
90

  
91
/**
92
 * Wrapper for wl_do()
93
 *
94
 * @return pointer to the data of the packet just received
95
 **/
96
unsigned char* wl_basic_do( void ) {
97
    wl_do();
98
    if (current_packet.new_flag == 1) { 
99
        current_packet.new_flag = 0;
100
        return current_packet.pointer;
101
    }
102
    return 0;
103
}
104

  

Also available in: Unified diff