// -*- c-basic-offset: 4; tab-width: 8; indent-tabs-mode: t -*-
// Copyright (c) 2001-2007 International Computer Science Institute
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the "Software")
// to deal in the Software without restriction, subject to the conditions
// listed in the XORP LICENSE file. These conditions include: you must
// preserve this copyright notice, and you cannot mention the copyright
// holders in advertising related to the Software without their permission.
// The Software is provided WITHOUT ANY WARRANTY, EXPRESS OR IMPLIED. This
// notice is a summary of the XORP LICENSE file; the license in that file is
// legally binding.
#ident "$XORP: xorp/fea/pa_entry.cc,v 1.5 2007/02/16 22:45:48 pavlin Exp $"
#include "fea_module.h"
#include "libxorp/xorp.h"
#include "libxorp/xlog.h"
#include "libxorp/debug.h"
#include "pa_entry.hh"
static struct {
PaAction act;
const char *str;
} pa_action_table[PaAction(MAX_ACTIONS)] = {
{ ACTION_ANY, "any" },
{ ACTION_NONE, "none" },
{ ACTION_PASS, "pass" },
{ ACTION_DROP, "drop" }
};
PaAction
PaActionWrapper::convert(const string& act_str)
{
for (int i = 0; i < PaAction(MAX_ACTIONS); i++) {
if (act_str.compare(pa_action_table[i].str) == 0) {
return pa_action_table[i].act;
}
}
return PaAction(ACTION_INVALID);
}
string
PaActionWrapper::convert(const PaAction act)
{
if (act < 0 || act >= PaAction(MAX_ACTIONS))
return string("invalid_action");
return string(pa_action_table[(int)act].str);
}
syntax highlighted by Code2HTML, v. 0.9.1