⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lnrtelem.hpp

📁 IBM Lotus C++ API 7.0a for IBM Lotus Notes/Domino Directory Release --------- ------------------
💻 HPP
字号:
//===========================================================================
//
// Module:  LNRTELEM.HPP
//
// Description:
//
//  Class library definition for LNRTElement and related classes.
//
//===========================================================================
//
// Copyright (c) 1996-2003 Lotus Development Corporation. All rights reserved.
// This software is subject to the Lotus Software Agreement, Restricted
// Rights for U.S. government users, and applicable export regulations.
//
//===========================================================================

#ifndef LNRTELEM_HPP
#define LNRTELEM_HPP



class LNIMPEXPCL LNRTElement : public LNRTObject
{

public:
	
	LNRTElement();
	LNRTElement(const LNRTObject &object);
	LNRTElement(const LNRTElement &element);

	~LNRTElement();
	
	LNRTElement& operator=(const LNRTObject &object);
	LNRTElement& operator=(const LNRTElement &element);
	
	virtual LNCLASSID GetClassID() const { return LNCLASSID_LNRTELEMENT; }

	LNSTATUS GetCursor(LNRTCursor *cursor) const;				 
	
protected:

	LNRTElement(LNRTElementBody *body);
	
	LNRTElement& operator=(LNRTElementBody *body);

	LNRTElementBody * GetRTElementBody (void) const { return (LNRTElementBody *) Body; }

	virtual void ValidateRTType(const LNRTObject &other) const;
	virtual void ValidateRTType(const LNRTObjectBody *other) const;
};



// Default class for CDRecords we don't understand or haven't implemented yet.
class LNIMPEXPCL LNCompositeData : public LNRTElement
{
public:
	
	LNCompositeData();
	LNCompositeData( const LNRTObject &object );
	LNCompositeData( const LNCompositeData &compositeData );
	
	~LNCompositeData();
	
	LNCompositeData& operator=( const LNRTObject &object );
	LNCompositeData& operator=( const LNCompositeData &compositeData );

	virtual LNCLASSID GetClassID() const { return LNCLASSID_LNCOMPOSITEDATA; }

	WORD GetCDSignature() const;
	
 	virtual LNINT GetSize() const;

	LNSTATUS Read( LNINT bufsize, void *buf, LNINT offset = 0 ) const;

	LNSTATUS ReadODS( WORD odstype, void *buf, LNINT offset = 0 ) const;

	LNSTATUS Write( LNINT bufsize, void *buf, LNINT offset = 0 );

	LNSTATUS WriteODS( WORD odstype, void *buf, LNINT offset = 0 );	

protected:

	virtual void ValidateRTType(const LNRTObject &other) const;
	virtual void ValidateRTType(const LNRTObjectBody *other) const;
	//We use this pointer to access the object body
	//without increasing Reference Count 
	LNRTObjectBody *OriginatorObject;
};

class LNIMPEXPCL LNCompositeContainer : public LNRTContainer
{
	friend class LNRTInputParser;
	friend class LNTableBody;

public:
	
	LNCompositeContainer();
	LNCompositeContainer( const LNRTObject &object );
	LNCompositeContainer( const LNCompositeContainer &compositeContainer );
	
	~LNCompositeContainer();
	
	LNCompositeContainer& operator=( const LNRTObject &object );
	LNCompositeContainer& operator=( const LNCompositeContainer &compositeContainer );
	LNCompositeContainer& operator=(LNRTContainerBody *body);

	virtual LNCLASSID GetClassID() const { return LNCLASSID_LNCOMPOSITECONTAINER; }

	WORD GetCDSignature() const;
	
 	virtual LNINT GetSize() const;

	LNSTATUS Read( LNINT bufsize, void *buf, LNINT offset = 0 ) const;

	LNSTATUS ReadODS( WORD odstype, void *buf, LNINT offset = 0 ) const;

	LNSTATUS Write( LNINT bufsize, void *buf, LNINT offset = 0 );

	LNSTATUS WriteODS( WORD odstype, void *buf, LNINT offset = 0 );	

protected:
	LNCompositeContainer(LNRTContainerBody *body);

	LNCompositeContainerBody* GetCompositeContainerBody() const
		{ return (LNCompositeContainerBody *) Body; }	

	virtual void ValidateRTType(const LNRTObject &other) const;
	virtual void ValidateRTType(const LNRTObjectBody *other) const;
};

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -