INET Framework for OMNeT++/OMNEST
ANSAQOS::ACLClassifier Class Reference

#include <AnsaQosClassifiers.h>

Inheritance diagram for ANSAQOS::ACLClassifier:
ANSAQOS::Classifier

List of all members.

Public Member Functions

 ACLClassifier (cXMLElement &clsfrConfig)
virtual bool classifyPacket (cMessage *msg)
virtual std::string info ()

Private Attributes

std::vector< std::string > acls
AclContaineraclAccess
std::string infoString

Detailed Description

Definition at line 90 of file AnsaQosClassifiers.h.


Constructor & Destructor Documentation

ANSAQOS::ACLClassifier::ACLClassifier ( cXMLElement &  clsfrConfig)

Definition at line 144 of file AnsaQosClassifiers.cc.

{
  /* Ziska pristup do ACL kontajneru smerovaca */  
  aclAccess = AclContainerAccess().get();
  
  /* Do retazca uklada informacie pre graficke rozhranie */ 
  infoString = "ACL:=";
  
  /* Prechadzanie elementov XML konfiguracie */  
  cXMLElementList aclDetails = clsfrConfig.getChildren();
  for (cXMLElementList::iterator aclElemIt = aclDetails.begin(); aclElemIt != aclDetails.end(); ++aclElemIt) 
  {
    std::string nodeName = (*aclElemIt)->getTagName();
    if (nodeName == "acl")
    {
      std::string aclname = (*aclElemIt)->getNodeValue();
      if (aclname.length() > 0 )
      {
        acls.push_back(aclname);
        infoString += " ";
        infoString += aclname;
        if(!aclAccess->existAcl(aclname))
          infoString += " (not defined)";
      }
    }
  }
   
}

Member Function Documentation

bool ANSAQOS::ACLClassifier::classifyPacket ( cMessage *  msg) [virtual]

Implements ANSAQOS::Classifier.

Definition at line 180 of file AnsaQosClassifiers.cc.

{
  std::vector<std::string>::iterator it;

  for(it = acls.begin(); it != acls.end(); ++it )
  {  
    if (aclAccess->matchPacketToAcl(*it, msg))
      return true;
  }   
  return false;
}
virtual std::string ANSAQOS::ACLClassifier::info ( ) [inline, virtual]

Implements ANSAQOS::Classifier.

Definition at line 99 of file AnsaQosClassifiers.h.

{return infoString;}

Member Data Documentation

std::vector<std::string> ANSAQOS::ACLClassifier::acls [private]

Definition at line 93 of file AnsaQosClassifiers.h.

std::string ANSAQOS::ACLClassifier::infoString [private]

Definition at line 95 of file AnsaQosClassifiers.h.

Referenced by info().


The documentation for this class was generated from the following files: