Revision b5a2055f src/charon/plugins/attr/attr_provider.c
| b/src/charon/plugins/attr/attr_provider.c | ||
|---|---|---|
| 61 | 61 |
/** |
| 62 | 62 |
* Implementation of attribute_provider_t.create_attribute_enumerator |
| 63 | 63 |
*/ |
| 64 |
static enumerator_t* create_attribute_enumerator( |
|
| 65 |
private_attr_provider_t *this, identification_t *id) |
|
| 64 |
static enumerator_t* create_attribute_enumerator(private_attr_provider_t *this, |
|
| 65 |
identification_t *id, host_t *vip) |
|
| 66 | 66 |
{
|
| 67 |
return enumerator_create_filter( |
|
| 67 |
if (vip) |
|
| 68 |
{
|
|
| 69 |
return enumerator_create_filter( |
|
| 68 | 70 |
this->attributes->create_enumerator(this->attributes), |
| 69 | 71 |
(void*)attr_enum_filter, NULL, NULL); |
| 72 |
} |
|
| 73 |
return enumerator_create_empty(); |
|
| 70 | 74 |
} |
| 71 | 75 |
|
| 72 | 76 |
/** |
| ... | ... | |
| 138 | 142 |
|
| 139 | 143 |
this->public.provider.acquire_address = (host_t*(*)(attribute_provider_t *this, char*, identification_t *, host_t *))return_null; |
| 140 | 144 |
this->public.provider.release_address = (bool(*)(attribute_provider_t *this, char*,host_t *, identification_t*))return_false; |
| 141 |
this->public.provider.create_attribute_enumerator = (enumerator_t*(*)(attribute_provider_t*, identification_t *id))create_attribute_enumerator; |
|
| 145 |
this->public.provider.create_attribute_enumerator = (enumerator_t*(*)(attribute_provider_t*, identification_t *id, host_t *vip))create_attribute_enumerator; |
|
| 142 | 146 |
this->public.destroy = (void(*)(attr_provider_t*))destroy; |
| 143 | 147 |
|
| 144 | 148 |
this->attributes = linked_list_create(); |
Also available in: Unified diff