From: Marcin Siodelski Date: Tue, 14 Oct 2014 14:23:53 +0000 (+0200) Subject: [3560] Added previously omitted file. X-Git-Tag: trac3162a_base~3^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=391a4bc6d84787b058a7e3b89468da7bfb77e96f;p=thirdparty%2Fkea.git [3560] Added previously omitted file. --- diff --git a/src/lib/dhcp/classify.cc b/src/lib/dhcp/classify.cc new file mode 100644 index 0000000000..4ef0e2b5ae --- /dev/null +++ b/src/lib/dhcp/classify.cc @@ -0,0 +1,41 @@ +// Copyright (C) 2014 Internet Systems Consortium, Inc. ("ISC") +// +// Permission to use, copy, modify, and/or distribute this software for any +// purpose with or without fee is hereby granted, provided that the above +// copyright notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH +// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +// AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, +// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +// LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +// OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +// PERFORMANCE OF THIS SOFTWARE. + +#include +#include +#include +#include +#include +#include + +namespace isc { +namespace dhcp { + +ClientClasses::ClientClasses(const std::string& class_names) + : std::set() { + std::vector split_text; + boost::split(split_text, class_names, boost::is_any_of(","), + boost::algorithm::token_compress_off); + for (int i = 0; i < split_text.size(); ++i) { + std::string trimmed = util::str::trim(split_text[i]); + // Ignore empty class names. + if (!trimmed.empty()) { + insert(ClientClass(trimmed)); + } + } +} + +} // end of namespace isc::dhcp +} // end of namespace isc +