1 2 /* Web Polygraph http://www.web-polygraph.org/ 3 * Copyright 2003-2011 The Measurement Factory 4 * Licensed under the Apache License, Version 2.0 */ 5 6 #ifndef POLYGRAPH__PGL_ACLSYM_H 7 #define POLYGRAPH__PGL_ACLSYM_H 8 9 #include "pgl/PglRecSym.h" 10 11 class String; 12 class RegExExpr; 13 14 // access control "list" 15 class AclSym: public RecSym { 16 public: 17 static String TheType; 18 19 public: 20 AclSym(); 21 AclSym(const String &aType, PglRec *aRec); 22 23 virtual bool isA(const String &type) const; 24 25 RegExExpr *allow() const; 26 RegExExpr *deny() const; 27 RegExExpr *rewrite() const; 28 bool checkDomestic(double &prob) const; 29 bool checkForeign(double &prob) const; 30 31 protected: 32 virtual SynSym *dupe(const String &dType) const; 33 34 RegExExpr *getGroup(const String &name) const; 35 }; 36 37 #endif 38