windows-nt/Source/XPSP1/NT/ds/security/csps/cryptoflex/slbcci/v1cont.cpp

139 lines
3.6 KiB
C++
Raw Normal View History

2020-09-26 03:20:57 -05:00
// V1Cont.cpp: implementation of the CV1Container class.
//
// (c) Copyright Schlumberger Technology Corp., unpublished work, created
// 1999. This computer program includes Confidential, Proprietary
// Information and is a Trade Secret of Schlumberger Technology Corp. All
// use, disclosure, and/or reproduction is prohibited unless authorized
// in writing. All Rights Reserved.
//////////////////////////////////////////////////////////////////////
#include "NoWarning.h"
#include <scuCast.h>
#include "slbCci.h"
#include "cciCard.h"
#include "TransactionWrap.h"
#include "V1ContRec.h"
#include "V1Cont.h"
using namespace std;
using namespace cci;
/////////////////////////// LOCAL/HELPER /////////////////////////////////
/////////////////////////// PUBLIC /////////////////////////////////
// Types
// C'tors/D'tors
CV1Container::CV1Container(CV1Card const &rv1card,
string const &rsCntrTag,
bool fCreateContainer)
: SuperClass(rv1card)
{
CV1ContainerRecord::CreateMode mode = fCreateContainer
? CV1ContainerRecord::cmAlways
: CV1ContainerRecord::cmNoCheck;
m_apcr =
auto_ptr<CV1ContainerRecord>(new CV1ContainerRecord(rv1card,
rsCntrTag,
mode));
}
CV1Container::~CV1Container() throw()
{}
// Operators
// Operations
void
CV1Container::ID(string const &rstrID)
{
throw Exception(ccNotImplemented);
}
CV1Container *
CV1Container::Make(CV1Card const &rv1card)
{
CTransactionWrap wrap(rv1card);
return new CV1Container(rv1card, CV1ContainerRecord::DefaultName(),
true);
}
void
CV1Container::Name(string const &rstrName)
{
m_apcr->Name(rstrName);
}
// Access
string
CV1Container::ID()
{
throw Exception(ccNotImplemented);
return string();
}
string
CV1Container::Name()
{
return m_apcr->Name();
}
CV1ContainerRecord &
CV1Container::Record() const
{
return *m_apcr.get();
}
// Predicates
bool
CV1Container::Exists() const
{
return m_apcr->Exists();
}
// Static Variables
/////////////////////////// PROTECTED /////////////////////////////////
// C'tors/D'tors
// Operators
// Operations
void
CV1Container::DoDelete()
{
m_hcard->InvalidateCache(); // to forget the key pairs
m_apcr->Delete();
}
// Access
// Predicates
bool
CV1Container::DoEquals(CAbstractContainer const &rhs) const
{
return true; // there can only be one container
}
// Static Variables
/////////////////////////// PRIVATE /////////////////////////////////
// C'tors/D'tors
// Operators
// Operations
// Access
// Predicates
// Static Variables