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

📄 lnitem.hpp

📁 IBM Lotus C++ API 7.0a for IBM Lotus Notes/Domino Directory Release --------- ------------------
💻 HPP
字号:
//===========================================================================
//
// Module:		LNITEM.HPP
//
// Description:
//
//		Class library definitions for LNItem related classes.
//
//===========================================================================
//
// Copyright (c) 1996-2004 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 LNITEM_HPP
#define LNITEM_HPP

LNITEMTYPE LNMapItemType( WORD nsfitem_type, WORD item_flags, LNCLASSID classid );
void LNUnmapItemType( LNITEMTYPE item_type, WORD *nsf_itemtype,	WORD *nsf_itemflags );

//
//	Class definition for LNItem.
//
class LNIMPEXPCL LNItem : public LNSmartPtr
{

public:
	LNItem() {}
	LNItem( const LNItem &other ) : LNSmartPtr(other) {}

	~LNItem();

	LNItem & operator=( const LNItem &other );

	LNCLASSID GetClassID() const {return LNCLASSID_LNITEM;}

	LNBOOL GetExpandOnSave() const;
	
	LNITEMFLAGS GetFlags() const;

	LNDatetime GetLastModified() const;

	LNString GetName() const;

	LNNote GetNote() const;

	LNITEMTYPE GetType() const;

	LNINT GetValueSize() const;

	LNBOOL IsDeleted() const;

	LNBOOL IsModified() const {return IsDirty();}

	LNBOOL IsNoteItem() const;

	LNBOOL IsType( LNITEMTYPE type ) const;

	LNSTATUS Read( LNINT offset, LNINT num, void *buf );

	LNSTATUS ReadODS( LNINT offset, WORD ods_type, void *buf );

	void SetExpandOnSave( LNBOOL flag );

	LNSTATUS Write( LNINT offset, LNINT num, void *buf );

	LNSTATUS WriteODS( LNINT offset, WORD ods_type, void *buf );

protected:
	LNItem( LNNoteBody *, LNItemBody *itemb ) :
		 LNSmartPtr((LNBody *) itemb) {}

	LNItem & operator=( LNItemBody *itemb );

	LNSTATUS Alloc( LNINT size, LNITEMTYPE type );

	void Assign( LNNoteBody *noteb, LNItemBody *itemb );

	LNSTATUS Expand( LNINT offset, LNINT num );

	LNSTATUS GetBlock( LNINT index, LNItemBlock * pBlock ) const;

	LNINT GetBlockCount() const;

	LNItemBody * GetItemBody() const {return (LNItemBody *)Body;}

	LNBOOL IsDirty() const;

	LNSTATUS Shorten( LNINT offset, LNINT num );
};


//
//	Class definition for LNItemArray.
//
class LNIMPEXPCL LNItemArray : public LNSmartPtr
{

public:
	LNItemArray();
	LNItemArray( const LNItemArray &other );

	~LNItemArray();

	LNItemArray & operator=( const LNItemArray &other );

	LNItem operator[]( LNINT n ) const;

	LNCLASSID GetClassID() const {return LNCLASSID_LNITEMARRAY;}

	LNINT GetCount() const;

	LNNote GetNote() const;

private:
	void Assign( LNNoteBody *noteb, LNItemArrayBody *itemab );
};


#ifndef LNRT_HPP
#include "lnrt.hpp"
#endif

#ifndef LNDTS_HPP
#include "lndts.hpp"
#endif

#ifndef LNNUM_HPP
#include "lnnum.hpp"
#endif

#ifndef LNTEXT_HPP
#include "lntext.hpp"
#endif

#ifndef LNFORMUL_HPP
#include "lnformul.hpp"
#endif

#endif

⌨️ 快捷键说明

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