reSIProcate/rutil  9694
Public Member Functions | Private Attributes
resip::DnsNaptrRecord::RegExp Class Reference

#include <DnsNaptrRecord.hxx>

Collaboration diagram for resip::DnsNaptrRecord::RegExp:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 RegExp (const Data &data)
 RegExp ()
 ~RegExp ()
bool empty () const
const Dataregexp () const
const Datareplacement () const
Data apply (const Data &input) const

Private Attributes

Data mRegexp
Data mReplacement
Data flags

Detailed Description

Definition at line 31 of file DnsNaptrRecord.hxx.


Constructor & Destructor Documentation

DnsNaptrRecord::RegExp::RegExp ( const Data data)

Definition at line 33 of file DnsNaptrRecord.cxx.

References resip::ParseBuffer::data(), resip::DnsNaptrRecord::mRegexp, resip::DnsNaptrRecord::mReplacement, resip::Data::size(), resip::ParseBuffer::skipChar(), and resip::ParseBuffer::skipToChar().

{
   if (data.size() > 1)
   {
      ParseBuffer pb(data, "DnsNaptrRecord::RegExp parser");

      const char delim = data[0];
      const char* start = pb.skipChar(delim);
      pb.skipToChar(delim);

      pb.data(mRegexp, start);
      start = pb.skipChar(delim);
      pb.skipToChar(delim);
      pb.data(mReplacement, start);
      start = pb.skipChar(delim);
      // .kw. start above is not used -- what is going on here?
      // should above code be in #if block below?
      
#if 0
      //pb.data(mFlags, start);

      if (regcomp(&mRe, mRegexp.c_str(), REG_EXTENDED) != 0)
      {
         // couldn't parse input regexp so ignore it
         mRegexp.clear();
      }
#endif
   }
}

Here is the call graph for this function:

DnsNaptrRecord::RegExp::RegExp ( )

Definition at line 29 of file DnsNaptrRecord.cxx.

{
}
DnsNaptrRecord::RegExp::~RegExp ( )

Definition at line 63 of file DnsNaptrRecord.cxx.

{
   //regfree(&mRe);
}

Member Function Documentation

Data DnsNaptrRecord::RegExp::apply ( const Data input) const

Definition at line 88 of file DnsNaptrRecord.cxx.

References resip::DnsNaptrRecord::mReplacement.

{
   // !jf! should be doing a real regexp here
   //regmatch_t matches[10];
   //regexec(&mRe, input.c_str(), 10, matches, 0);
   
   return mReplacement;
}
bool DnsNaptrRecord::RegExp::empty ( ) const

Definition at line 70 of file DnsNaptrRecord.cxx.

References empty(), and resip::DnsNaptrRecord::mRegexp.

Referenced by empty().

{
   return mRegexp.empty();
}

Here is the call graph for this function:

const Data & DnsNaptrRecord::RegExp::regexp ( ) const

Definition at line 76 of file DnsNaptrRecord.cxx.

References resip::DnsNaptrRecord::mRegexp.

Referenced by resip::DnsNaptrRecord::DnsNaptrRecord().

{
   return mRegexp;
}
const Data & DnsNaptrRecord::RegExp::replacement ( ) const

Definition at line 82 of file DnsNaptrRecord.cxx.

References resip::DnsNaptrRecord::mReplacement.

Referenced by resip::DnsNaptrRecord::DnsNaptrRecord().

{
   return mReplacement;
}

Member Data Documentation

Definition at line 59 of file DnsNaptrRecord.hxx.

Definition at line 57 of file DnsNaptrRecord.hxx.

Definition at line 58 of file DnsNaptrRecord.hxx.


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