diff options
author | Henri Herscher <henri@oreka.org> | 2008-01-23 15:27:59 +0000 |
---|---|---|
committer | Henri Herscher <henri@oreka.org> | 2008-01-23 15:27:59 +0000 |
commit | 27add11974dffb1d3a6b48d140e3f8dd689c995d (patch) | |
tree | 3bf94676aa61d4b78fe0276b1c3faa7d021cf2eb /orkbasecxx/serializers | |
parent | f915e7cad47201430fdb9575ecd0a93efa0d1c2b (diff) |
Added SipIgnoredMediaAddresses config parameter. If a SIP INVITE has an RTP address that matches this csv list of CIDR ranges, it will be ignored.
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@521 09dcff7a-b715-0410-9601-b79a96267cd0
Diffstat (limited to 'orkbasecxx/serializers')
-rw-r--r-- | orkbasecxx/serializers/Serializer.cpp | 24 | ||||
-rw-r--r-- | orkbasecxx/serializers/Serializer.h | 4 |
2 files changed, 28 insertions, 0 deletions
diff --git a/orkbasecxx/serializers/Serializer.cpp b/orkbasecxx/serializers/Serializer.cpp index b337070..3318833 100644 --- a/orkbasecxx/serializers/Serializer.cpp +++ b/orkbasecxx/serializers/Serializer.cpp @@ -134,6 +134,19 @@ void Serializer::DateValue(const char* key, time_t& value, bool required) } } +void Serializer::IpRangesValue(const char* key, IpRanges& value, bool required) +{ + if (m_deSerialize == true) + { + GetIpRanges(key, value, required); + } + else + { + AddIpRanges(key, value); + } +} + + //===================================== void Serializer::AddInt(const char* key, int value) @@ -231,6 +244,10 @@ void Serializer::AddDate(const char* key, time_t value) AddString(key, dateString); } +void Serializer::AddIpRanges(const char* key, IpRanges& value) +{ + ; // Not yet implemented +} //==================================================================== void Serializer::GetInt(const char* key, int&value, bool required) @@ -376,6 +393,13 @@ void Serializer::GetDate(const char* key, time_t& value, bool required) } } +void Serializer::GetIpRanges(const char* key, IpRanges& value, bool required) +{ + GetCsv(key, value.m_asciiIpRanges, required); + value.Compute(); +} + + //------------------------------------------------------------------------- // Escape the comma and percent characters for adding string to csv list void Serializer::EscapeCsv(CStdString& in, CStdString& out) diff --git a/orkbasecxx/serializers/Serializer.h b/orkbasecxx/serializers/Serializer.h index 832fbde..fc60b02 100644 --- a/orkbasecxx/serializers/Serializer.h +++ b/orkbasecxx/serializers/Serializer.h @@ -16,6 +16,7 @@ #pragma warning( disable: 4786 ) // disables truncated symbols in browse-info warning +#include "Utils.h" #include "dll.h" #include "OrkBase.h" #include <map> @@ -49,6 +50,7 @@ public: void CsvMapValue(const char* key, std::map<CStdString, CStdString>& value, bool required = false); void DateValue(const char* key, time_t& value, bool required = false); virtual void ListValue(const char* key, std::list<ObjectRef>& value, Object& model, bool required = false) = 0; + void IpRangesValue(const char* key, IpRanges& value, bool required = false); void AddInt(const char* key, int value); void AddDouble(const char* key, double value); @@ -58,6 +60,7 @@ public: void AddCsvMap(const char* key, std::map<CStdString, CStdString>& value); void AddDate(const char* key, time_t value); virtual void AddString(const char* key, CStdString& value) = 0; + void AddIpRanges(const char* key, IpRanges& value); void GetInt(const char* key, int& value, bool required = false); void GetDouble(const char* key, double& value, bool required = false); @@ -67,6 +70,7 @@ public: void GetCsvMap(const char* key, std::map<CStdString, CStdString>& value, bool required = false); void GetDate(const char* key, time_t& value, bool required = false); virtual void GetString(const char* key, CStdString& value, bool required = false) = 0; + void GetIpRanges(const char* key, IpRanges& value, bool required = false); void EscapeCsv(CStdString& in, CStdString& out); void UnEscapeCsv(CStdString& in, CStdString& out); |