ndn::security::v2::InterestValidationState Class Referencefinal

Validation state for an interest packet. More...

#include <validation-state.hpp>

Inheritance diagram for ndn::security::v2::InterestValidationState:
[legend]
Collaboration diagram for ndn::security::v2::InterestValidationState:
[legend]

Public Member Functions

 InterestValidationState (const Interest &interest, const InterestValidationSuccessCallback &successCb, const InterestValidationFailureCallback &failureCb)
 Create validation state for interest. More...
 
 ~InterestValidationState () final
 Destructor. More...
 
void fail (const ValidationError &error) final
 Call the failure callback. More...
 
const InterestgetOriginalInterest () const
 
size_t getDepth () const
 
bool hasSeenCertificateName (const Name &certName)
 Check if certName has been previously seen and record the supplied name. More...
 
void addCertificate (const Certificate &cert)
 Add cert to the top of the certificate chain. More...
 
template<typename T >
shared_ptr< T > getTag () const
 get a tag item More...
 
template<typename T >
void setTag (shared_ptr< T > tag) const
 set a tag item More...
 
template<typename T >
void removeTag () const
 remove tag item More...
 

Protected Attributes

bool m_hasOutcome
 

Detailed Description

Validation state for an interest packet.

Definition at line 196 of file validation-state.hpp.

Constructor & Destructor Documentation

ndn::security::v2::InterestValidationState::InterestValidationState ( const Interest interest,
const InterestValidationSuccessCallback successCb,
const InterestValidationFailureCallback failureCb 
)

Create validation state for interest.

The caller must ensure that state instance is valid until validation finishes (i.e., until after validateCertificateChain() and validateOriginalPacket() are called)

Definition at line 148 of file validation-state.cpp.

ndn::security::v2::InterestValidationState::~InterestValidationState ( )
final

Destructor.

If neither success callback nor failure callback was called, the destructor will call failure callback with IMPLEMENTATION_ERROR error code.

Definition at line 159 of file validation-state.cpp.

Member Function Documentation

void ndn::security::v2::ValidationState::addCertificate ( const Certificate cert)
inherited

Add cert to the top of the certificate chain.

If m_certificateChain is empty, cert should be the signer of the original packet. If m_certificateChain is not empty, cert should be the signer of m_certificateChain.front().

Postcondition
m_certificateChain.front() == cert
Note
This function does not verify the signature bits.

Definition at line 60 of file validation-state.cpp.

void ndn::security::v2::InterestValidationState::fail ( const ValidationError error)
finalvirtual

Call the failure callback.

Implements ndn::security::v2::ValidationState.

Definition at line 192 of file validation-state.cpp.

size_t ndn::security::v2::ValidationState::getDepth ( ) const
inherited
Returns
Depth of certificate chain

Definition at line 48 of file validation-state.cpp.

const Interest & ndn::security::v2::InterestValidationState::getOriginalInterest ( ) const
Returns
Original interest being validated

Definition at line 201 of file validation-state.cpp.

template<typename T >
shared_ptr< T > ndn::TagHost::getTag ( ) const
inlineinherited

get a tag item

Template Parameters
Ttype of the tag, which must be a subclass of ndn::Tag
Return values
nullptrif no Tag of type T is stored

Definition at line 67 of file tag-host.hpp.

bool ndn::security::v2::ValidationState::hasSeenCertificateName ( const Name certName)
inherited

Check if certName has been previously seen and record the supplied name.

Definition at line 54 of file validation-state.cpp.

template<typename T >
void ndn::TagHost::removeTag ( ) const
inlineinherited

remove tag item

Note
Tag can be removed even on a const tag host instance

Definition at line 94 of file tag-host.hpp.

template<typename T >
void ndn::TagHost::setTag ( shared_ptr< T >  tag) const
inlineinherited

set a tag item

Template Parameters
Ttype of the tag, which must be a subclass of ndn::Tag
Note
Tag can be set even on a const tag host instance

Definition at line 80 of file tag-host.hpp.

Field Documentation

bool ndn::security::v2::ValidationState::m_hasOutcome
protectedinherited

Definition at line 131 of file validation-state.hpp.