lgrPacketFilter.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 
00008 
00009 #ifndef lgrPacketFilter_H_
00010 #define lgrPacketFilter_H_
00011 
00012 #include "lgrCore.h"
00013 
00014 class DtString;
00015 
00016 namespace MAKLogger
00017 {
00018    class DtPacket;
00019    class DtMessageIOInfo;
00020 
00024    class DT_DLL_LGRCORE DtLgrPacketFilter
00025    {
00026    public:
00027 
00028       enum FilterCombinationOperator
00029       {
00031          Filter_And,
00033          Filter_Nand,
00035          Filter_Or,
00037          Filter_Nor,
00039          Filter_Xor
00040          
00041       };
00042 
00043    protected:
00044       DtLgrPacketFilter(FilterCombinationOperator operation = Filter_Or);      
00045       
00046    private:
00048       DtLgrPacketFilter(const DtLgrPacketFilter&);
00050       DtLgrPacketFilter& operator=(const DtLgrPacketFilter&);
00051       
00052    public:
00053 
00054       virtual ~DtLgrPacketFilter();
00055 
00057 
00058 
00060       virtual bool filterPacket(DtPacket* packet) = 0;
00061 
00063       virtual DtString type() const = 0;
00064 
00066       virtual void activate(const DtMessageIOInfo* info) = 0;
00067 
00069       virtual void deactivate() = 0;
00070 
00072       virtual char* serialize(int& size) const = 0;
00073 
00075       virtual void setFromSerialization(const char* data,int size) = 0;
00076 
00078       
00080       FilterCombinationOperator filterOperation() const;
00081 
00082    protected:
00083 
00084       void setFilterOperation(FilterCombinationOperator filterOperator);
00085 
00086       FilterCombinationOperator myOperation;      
00087 
00088    };
00089 }
00090 
00091 #endif

Document ID: Generated on Tue Oct 11 19:41:03 EDT 2011 from SVN revision 107422
Copyright © 2005-2011 VT MÄK Inc. All Rights Reserved (www.mak.com)