From 1b6f8a04ac3375217d9e0203898ffaedfb1f234f Mon Sep 17 00:00:00 2001 From: Anders Svensson Date: Wed, 19 Apr 2017 23:15:14 +0200 Subject: Be more flexible in what can be packed as 'AVP' In particular, allow {Name, Value} and {Dict, Name, Value} without requiring a diameter_avp wrapper. --- lib/diameter/include/diameter_gen.hrl | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'lib/diameter/include/diameter_gen.hrl') diff --git a/lib/diameter/include/diameter_gen.hrl b/lib/diameter/include/diameter_gen.hrl index e35d448754..99f5da5aee 100644 --- a/lib/diameter/include/diameter_gen.hrl +++ b/lib/diameter/include/diameter_gen.hrl @@ -173,7 +173,15 @@ pack_AVP(Name, #diameter_avp{name = AvpName, value = Data}) -> 0 == avp_arity(Name, AvpName) orelse ?THROW([known_avp_as_AVP, Name, AvpName, Data]), - e(AvpName, [Data]). + e(AvpName, [Data]); + +%% The backdoor ... +pack_AVP(_, {AvpName, Value}) -> + e(AvpName, [Value]); + +%% ... and the side door. +pack_AVP(_Name, {_Dict, _AvpName, _Data}= T) -> + diameter_codec:pack_avp(#diameter_avp{data = T}). %% --------------------------------------------------------------------------- %% # decode_avps/2 -- cgit v1.2.3