Changeset 4629

Show
Ignore:
Timestamp:
11/11/08 16:20:25 (2 months ago)
Author:
martin
Message:

fixed compilation of medcli plugin

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/charon/plugins/medcli/medcli_listener.c

    r4192 r4629  
    5252 * Implementation of bus_listener_t.signal. 
    5353 */ 
    54 static bool signal_(private_medcli_listener_t *this, signal_t signal, 
    55                     level_t level, int thread, ike_sa_t* ike_sa, void *data, 
    56                     char *format, va_list args) 
     54static void set_state(private_medcli_listener_t *this, char *alias, 
     55                      mediated_state_t state) 
    5756{ 
    58     mediated_state_t state; 
    59      
    60     if (!ike_sa) 
    61     { 
    62         return TRUE; 
    63     } 
    64  
    65     switch (signal) 
    66     { 
    67         case IKE_UP_START: 
    68             state = STATE_CONNECTING; 
    69             break; 
    70         case IKE_UP_FAILED: 
    71         case IKE_DOWN_SUCCESS: 
    72         case IKE_DOWN_FAILED: 
    73             state = STATE_DOWN; 
    74             break; 
    75         case IKE_UP_SUCCESS: 
    76             state = STATE_UP; 
    77             break; 
    78         default: 
    79             return TRUE; 
    80     } 
    8157    this->db->execute(this->db, NULL, 
    8258                      "UPDATE Connection SET Status = ? WHERE Alias = ?", 
    83                       DB_UINT, state, DB_TEXT, ike_sa->get_name(ike_sa)); 
     59                      DB_UINT, state, DB_TEXT, alias); 
     60
     61/** 
     62 * Implementation of listener_t.ike_state_change 
     63 */ 
     64static bool ike_state_change(private_medcli_listener_t *this, 
     65                             ike_sa_t *ike_sa, ike_sa_state_t state) 
     66
     67    if (ike_sa) 
     68    { 
     69        switch (state) 
     70        { 
     71            case IKE_CONNECTING: 
     72                set_state(this, ike_sa->get_name(ike_sa), STATE_CONNECTING); 
     73                break; 
     74            case IKE_DESTROYING: 
     75                set_state(this, ike_sa->get_name(ike_sa), STATE_DOWN); 
     76            default: 
     77                break; 
     78        } 
     79    } 
     80    return TRUE; 
     81
     82 
     83/** 
     84 * Implementation of listener_t.child_state_change 
     85 */ 
     86static bool child_state_change(private_medcli_listener_t *this, 
     87                ike_sa_t *ike_sa, child_sa_t *child_sa, child_sa_state_t state) 
     88
     89    if (ike_sa && child_sa) 
     90    { 
     91        switch (state) 
     92        { 
     93            case CHILD_INSTALLED: 
     94                set_state(this, child_sa->get_name(child_sa), STATE_UP); 
     95                break; 
     96            case CHILD_DESTROYING: 
     97                set_state(this, child_sa->get_name(child_sa), STATE_DOWN); 
     98                break; 
     99            default: 
     100                break; 
     101        } 
     102    } 
    84103    return TRUE; 
    85104} 
     
    92111    this->db->execute(this->db, NULL, "UPDATE Connection SET Status = ?", 
    93112                      DB_UINT, STATE_DOWN); 
    94     free(this); 
     113   free(this); 
    95114} 
    96115 
     
    101120{ 
    102121    private_medcli_listener_t *this = malloc_thing(private_medcli_listener_t); 
    103  
    104     this->public.listener.signal = (bool(*)(bus_listener_t*,signal_t,level_t,int,ike_sa_t*,void*,char*,va_list))signal_; 
     122     
     123    memset(&this->public.listener, 0, sizeof(listener_t)); 
     124     
     125    this->public.listener.ike_state_change = (void*)ike_state_change; 
     126    this->public.listener.child_state_change = (void*)child_state_change; 
    105127    this->public.destroy = (void (*)(medcli_listener_t*))destroy; 
    106128     
  • trunk/src/charon/plugins/medcli/medcli_listener.h

    r4070 r4629  
    3737     * Implements bus_listener_t interface 
    3838     */ 
    39     bus_listener_t listener; 
     39    listener_t listener; 
    4040     
    4141    /**