#include <Notes.h>

Inheritance diagram for NotePairs:
Collaboration diagram for NotePairs:

Classes

class  Entry
 Used to store a note key/value pair. More...
 

Public Types

typedef RefCount< NotePairsPointer
 
typedef std::vector
< Entry::Pointer
Entries
 The key/value pair entries. More...
 

Public Member Functions

 NotePairs ()
 
NotePairsoperator= (NotePairs const &)=delete
 
 NotePairs (NotePairs const &)=delete
 
void append (const NotePairs *src)
 Append the entries of the src NotePairs list to our list. More...
 
void replaceOrAdd (const NotePairs *src)
 
void appendNewOnly (const NotePairs *src)
 
bool find (SBuf &resultNote, const char *noteKey, const char *sep=",") const
 
const char * findFirst (const char *noteKey) const
 
void add (const SBuf &key, const SBuf &value)
 
void add (const char *key, const char *value)
 
void remove (const char *key)
 
void remove (const SBuf &key)
 
void addStrList (const SBuf &key, const SBuf &values, const CharacterSet &delimiters)
 
bool hasPair (const SBuf &key, const SBuf &value) const
 
const char * toString (const char *sep="\r\n") const
 
bool empty () const
 
void clear ()
 
const EntriesexpandListEntries (const CharacterSet *delimiters) const
 

Private Attributes

Entries entries
 The key/value pair entries. More...
 

Detailed Description

Used to store list of notes

Definition at line 167 of file Notes.h.

Member Typedef Documentation

Definition at line 193 of file Notes.h.

Definition at line 170 of file Notes.h.

Constructor & Destructor Documentation

NotePairs::NotePairs ( )
inline

Definition at line 195 of file Notes.h.

NotePairs::NotePairs ( NotePairs const &  )
delete

Member Function Documentation

void NotePairs::add ( const SBuf key,
const SBuf value 
)

Adds a note key and value to the notes list. If the key name already exists in the list, add the given value to its set of values.

Definition at line 278 of file Notes.cc.

Referenced by ClientHttpRequest::logRequest(), Adaptation::Icap::ModXact::makeRequestHeaders(), redirectHandleReply(), redirectStart(), Ssl::Helper::sslSubmit(), Adaptation::Ecap::XactionRep::start(), storeIdStart(), Note::updateNotePairs(), and UpdateRequestNotes().

void NotePairs::add ( const char *  key,
const char *  value 
)

Definition at line 272 of file Notes.cc.

void NotePairs::addStrList ( const SBuf key,
const SBuf values,
const CharacterSet delimiters 
)

Adds a note key and values strList to the notes list. If the key name already exists in the list, add the new values to its set of values.

Definition at line 325 of file Notes.cc.

References AppendTokens().

Referenced by Note::updateNotePairs().

void NotePairs::append ( const NotePairs src)
void NotePairs::appendNewOnly ( const NotePairs src)

Append any new entries of the src NotePairs list to our list. Entries which already exist in the destination set are ignored.

Definition at line 347 of file Notes.cc.

References entries.

Referenced by ClientHttpRequest::doCallouts().

void NotePairs::clear ( )
inline

Definition at line 244 of file Notes.h.

References entries.

Referenced by ExternalACLEntry::update().

bool NotePairs::empty ( ) const
inline
Returns
true if there are not entries in the list

Definition at line 242 of file Notes.h.

References entries.

Referenced by Format::Format::assemble(), HttpRequest::hasNotes(), ConnStateData::hasNotes(), operator<<(), and Note::updateNotePairs().

const NotePairs::Entries & NotePairs::expandListEntries ( const CharacterSet delimiters) const

If delimiters are provided, returns another Entries, converting each single multi-token pair to multiple single-token pairs; returns existing entries otherwise.

Definition at line 312 of file Notes.cc.

References AppendTokens().

Referenced by ACLNoteStrategy::matchNotes().

bool NotePairs::find ( SBuf resultNote,
const char *  noteKey,
const char *  sep = "," 
) const
Parameters
resultNotea comma separated list of notes with key 'noteKey'.
Returns
true if there are entries with the given 'noteKey'. Use findFirst() instead when a unique kv-pair is needed.

Definition at line 238 of file Notes.cc.

References SBuf::append(), SBuf::clear(), SBuf::isEmpty(), and SBuf::length().

Referenced by Format::Format::assemble(), and Auth::UserRequest::denyMessageFromHelper().

const char * NotePairs::findFirst ( const char *  noteKey) const
Returns
the first note value for this key or an empty string.

Definition at line 263 of file Notes.cc.

Referenced by ClientRequestContext::clientRedirectDone(), ClientRequestContext::clientStoreIdDone(), externalAclHandleReply(), and UpdateRequestNotes().

bool NotePairs::hasPair ( const SBuf key,
const SBuf value 
) const
Returns
true if the key/value pair is already stored

Definition at line 331 of file Notes.cc.

Referenced by Adaptation::Icap::ModXact::makeRequestHeaders(), and Adaptation::Ecap::XactionRep::start().

NotePairs& NotePairs::operator= ( NotePairs const &  )
delete
void NotePairs::remove ( const char *  key)

Remove all notes with a given key. If keyLen is not provided, the key is assumed null-terminated.

Definition at line 284 of file Notes.cc.

References i.

Referenced by Note::updateNotePairs(), and UpdateRequestNotes().

void NotePairs::remove ( const SBuf key)

Definition at line 292 of file Notes.cc.

References i.

void NotePairs::replaceOrAdd ( const NotePairs src)

Replace existing list entries with the src NotePairs entries. Entries which do not exist in the destination set are added.

Definition at line 356 of file Notes.cc.

References entries.

Referenced by UpdateRequestNotes().

const char * NotePairs::toString ( const char *  sep = "\r\n") const

Convert NotePairs list to a string consist of "Key: Value" entries separated by sep string.

Definition at line 252 of file Notes.cc.

References SBuf::appendf(), SBuf::c_str(), SBuf::clear(), and SBuf::isEmpty().

Referenced by Format::Format::assemble(), and operator<<().

Member Data Documentation

Entries NotePairs::entries
private

Definition at line 251 of file Notes.h.

Referenced by append(), appendNewOnly(), clear(), empty(), and replaceOrAdd().


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

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors