/**
 * This file was generated by the Objective Systems ASN1C Compiler
 * (http://www.obj-sys.com).  Version: 5.63.
 */
#ifndef GOST_QUALIFIED_CERTIFICATETABLE_H
#define GOST_QUALIFIED_CERTIFICATETABLE_H

#include <stdio.h>
#include <stdlib.h>
#include "asn1BerCppTypes.h"
#include "asn1XerCppTypes.h"
#include "rtTable.h"
#include "Gost-Qualified-Certificate.h"
#include "PKIX1Explicit88Class.h"
#include "PKIX1Explicit88BaseTypesClass.h"
#include "Cryptographic-Gost-Useful-DefinitionsClass.h"
#include "CertificateExtensionsClass.h"
#include "PKIXOCSPClass.h"
#include "PKIXCMPClass.h"
#include "CryptographicMessageSyntaxClass.h"
#include "ETS-ElectronicSignatureFormats-97SyntaxClass.h"
namespace asn1data {

/* Object definitions */

/**************************************************************/
/*                                                            */
/*  ogrn                                                      */
/*                                                            */
/**************************************************************/

class EXTERN ogrn : public ATTRIBUTE {
 public:
   ogrn();

   virtual void* constructASN1TType
       (ASN1CTXT* pctxt);

   virtual ASN1CType* constructASN1CType
       (ASN1MessageBufferIF& msgBuf, void* data);

   virtual void destructASN1CType
       (ASN1CType* obj);

   virtual ~ogrn() {}

   virtual int encodeBERType
      (ASN1CTXT* pctxt, ASN1TObject& object);

   virtual int decodeBERType
      (ASN1CTXT* pctxt, ASN1TObject& object);

   virtual void copyType
      (ASN1CTXT* pctxt, ASN1TObject& srcObject, ASN1TObject& dstObject);
   virtual void freeType
      (ASN1CTXT* pctxt, ASN1TObject& object);
} ;

/**************************************************************/
/*                                                            */
/*  ogrnip                                                    */
/*                                                            */
/**************************************************************/

class EXTERN ogrnip : public ATTRIBUTE {
 public:
   ogrnip();

   virtual void* constructASN1TType
       (ASN1CTXT* pctxt);

   virtual ASN1CType* constructASN1CType
       (ASN1MessageBufferIF& msgBuf, void* data);

   virtual void destructASN1CType
       (ASN1CType* obj);

   virtual ~ogrnip() {}

   virtual int encodeBERType
      (ASN1CTXT* pctxt, ASN1TObject& object);

   virtual int decodeBERType
      (ASN1CTXT* pctxt, ASN1TObject& object);

   virtual void copyType
      (ASN1CTXT* pctxt, ASN1TObject& srcObject, ASN1TObject& dstObject);
   virtual void freeType
      (ASN1CTXT* pctxt, ASN1TObject& object);
} ;

/**************************************************************/
/*                                                            */
/*  snils                                                     */
/*                                                            */
/**************************************************************/

class EXTERN snils : public ATTRIBUTE {
 public:
   snils();

   virtual void* constructASN1TType
       (ASN1CTXT* pctxt);

   virtual ASN1CType* constructASN1CType
       (ASN1MessageBufferIF& msgBuf, void* data);

   virtual void destructASN1CType
       (ASN1CType* obj);

   virtual ~snils() {}

   virtual int encodeBERType
      (ASN1CTXT* pctxt, ASN1TObject& object);

   virtual int decodeBERType
      (ASN1CTXT* pctxt, ASN1TObject& object);

   virtual void copyType
      (ASN1CTXT* pctxt, ASN1TObject& srcObject, ASN1TObject& dstObject);
   virtual void freeType
      (ASN1CTXT* pctxt, ASN1TObject& object);
} ;

/**************************************************************/
/*                                                            */
/*  innle                                                     */
/*                                                            */
/**************************************************************/

class EXTERN innle : public ATTRIBUTE {
 public:
   innle();

   virtual void* constructASN1TType
       (ASN1CTXT* pctxt);

   virtual ASN1CType* constructASN1CType
       (ASN1MessageBufferIF& msgBuf, void* data);

   virtual void destructASN1CType
       (ASN1CType* obj);

   virtual ~innle() {}

   virtual int encodeBERType
      (ASN1CTXT* pctxt, ASN1TObject& object);

   virtual int decodeBERType
      (ASN1CTXT* pctxt, ASN1TObject& object);

   virtual void copyType
      (ASN1CTXT* pctxt, ASN1TObject& srcObject, ASN1TObject& dstObject);
   virtual void freeType
      (ASN1CTXT* pctxt, ASN1TObject& object);
} ;

/**************************************************************/
/*                                                            */
/*  inn                                                       */
/*                                                            */
/**************************************************************/

class EXTERN inn : public ATTRIBUTE {
 public:
   inn();

   virtual void* constructASN1TType
       (ASN1CTXT* pctxt);

   virtual ASN1CType* constructASN1CType
       (ASN1MessageBufferIF& msgBuf, void* data);

   virtual void destructASN1CType
       (ASN1CType* obj);

   virtual ~inn() {}

   virtual int encodeBERType
      (ASN1CTXT* pctxt, ASN1TObject& object);

   virtual int decodeBERType
      (ASN1CTXT* pctxt, ASN1TObject& object);

   virtual void copyType
      (ASN1CTXT* pctxt, ASN1TObject& srcObject, ASN1TObject& dstObject);
   virtual void freeType
      (ASN1CTXT* pctxt, ASN1TObject& object);
} ;

/**************************************************************/
/*                                                            */
/*  subjectSignTool                                           */
/*                                                            */
/**************************************************************/

class EXTERN subjectSignTool : public EXTENSION {
 public:
   subjectSignTool();

   virtual void* constructASN1TExtnType
       (ASN1CTXT* pctxt);

   virtual ASN1CType* constructASN1CExtnType
       (ASN1MessageBufferIF& msgBuf, void* data);

   virtual void destructASN1CExtnType
       (ASN1CType* obj);

   virtual ~subjectSignTool() {}

   virtual int encodeBERExtnType
      (ASN1CTXT* pctxt, ASN1TObject& object);

   virtual int decodeBERExtnType
      (ASN1CTXT* pctxt, ASN1TObject& object);

   virtual void copyExtnType
      (ASN1CTXT* pctxt, ASN1TObject& srcObject, ASN1TObject& dstObject);
   virtual void freeExtnType
      (ASN1CTXT* pctxt, ASN1TObject& object);
} ;

/**************************************************************/
/*                                                            */
/*  issuerSignTool                                            */
/*                                                            */
/**************************************************************/

class EXTERN issuerSignTool : public EXTENSION {
 public:
   issuerSignTool();

   virtual void* constructASN1TExtnType
       (ASN1CTXT* pctxt);

   virtual ASN1CType* constructASN1CExtnType
       (ASN1MessageBufferIF& msgBuf, void* data);

   virtual void destructASN1CExtnType
       (ASN1CType* obj);

   virtual ~issuerSignTool() {}

   virtual int encodeBERExtnType
      (ASN1CTXT* pctxt, ASN1TObject& object);

   virtual int decodeBERExtnType
      (ASN1CTXT* pctxt, ASN1TObject& object);

   virtual void copyExtnType
      (ASN1CTXT* pctxt, ASN1TObject& srcObject, ASN1TObject& dstObject);
   virtual void freeExtnType
      (ASN1CTXT* pctxt, ASN1TObject& object);
} ;

/**************************************************************/
/*                                                            */
/*  identificationKind                                        */
/*                                                            */
/**************************************************************/

class EXTERN identificationKind : public EXTENSION {
 public:
   identificationKind();

   virtual void* constructASN1TExtnType
       (ASN1CTXT* pctxt);

   virtual ASN1CType* constructASN1CExtnType
       (ASN1MessageBufferIF& msgBuf, void* data);

   virtual void destructASN1CExtnType
       (ASN1CType* obj);

   virtual ~identificationKind() {}

   virtual int encodeBERExtnType
      (ASN1CTXT* pctxt, ASN1TObject& object);

   virtual int decodeBERExtnType
      (ASN1CTXT* pctxt, ASN1TObject& object);

   virtual void copyExtnType
      (ASN1CTXT* pctxt, ASN1TObject& srcObject, ASN1TObject& dstObject);
   virtual void freeExtnType
      (ASN1CTXT* pctxt, ASN1TObject& object);
} ;


}
#endif
