aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/encoding/message.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2010-11-02 14:30:45 +0100
committerMartin Willi <martin@revosec.ch>2011-01-05 16:45:41 +0100
commite6c6a4d304254cbba32af778a2edd34a16e83d23 (patch)
treecd09ec2ccb765deadcd2f61cebe0c8c8f2506b48 /src/libcharon/encoding/message.c
parent363ec8986cf497b75b23b9c99c2798476d555f58 (diff)
downloadstrongswan-e6c6a4d304254cbba32af778a2edd34a16e83d23.tar.bz2
strongswan-e6c6a4d304254cbba32af778a2edd34a16e83d23.tar.xz
Support removal of payloads from messages
Diffstat (limited to 'src/libcharon/encoding/message.c')
-rw-r--r--src/libcharon/encoding/message.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/libcharon/encoding/message.c b/src/libcharon/encoding/message.c
index b69a9f30c..1b79b2195 100644
--- a/src/libcharon/encoding/message.c
+++ b/src/libcharon/encoding/message.c
@@ -737,6 +737,12 @@ METHOD(message_t, create_payload_enumerator, enumerator_t*,
return this->payloads->create_enumerator(this->payloads);
}
+METHOD(message_t, remove_payload_at, void,
+ private_message_t *this, enumerator_t *enumerator)
+{
+ this->payloads->remove_at(this->payloads, enumerator);
+}
+
METHOD(message_t, get_payload, payload_t*,
private_message_t *this, payload_type_t type)
{
@@ -1466,6 +1472,7 @@ message_t *message_create_from_packet(packet_t *packet)
.set_destination = _set_destination,
.get_destination = _get_destination,
.create_payload_enumerator = _create_payload_enumerator,
+ .remove_payload_at = _remove_payload_at,
.get_payload = _get_payload,
.get_notify = _get_notify,
.parse_header = _parse_header,