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

📄 lnsactio.hpp

📁 IBM Lotus C++ API 7.0a for IBM Lotus Notes/Domino Directory Release --------- ------------------
💻 HPP
📖 第 1 页 / 共 2 页
字号:
//===========================================================================
//
// Module:  LNSACTIO.HPP
//
// Description:
//
//		Class library definition for LNSimpleAction and related classes.
//
//===========================================================================
//
// Copyright (c) 1998 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 LNSACTIO_HPP
#define LNSACTIO_HPP

#ifndef LNSFIELD_HPP
#include "lnsfield.hpp"
#endif


//===========================================================================
//
//		Data types and constants
//
//===========================================================================

	// Type codes for simple actions
enum LNSIMPLEACTIONTYPE
{
	LNSIMPLEACTIONTYPE_UNKNOWN = 0,
	LNSIMPLEACTIONTYPE_COPY_TO_DATABASE,
	LNSIMPLEACTIONTYPE_COPY_TO_FOLDER,
	LNSIMPLEACTIONTYPE_DELETE,
	LNSIMPLEACTIONTYPE_MODIFY_FIELDS_IN_FORM,
	LNSIMPLEACTIONTYPE_MARK_READ,
	LNSIMPLEACTIONTYPE_MARK_UNREAD,
	LNSIMPLEACTIONTYPE_MODIFY_FIELD,
	LNSIMPLEACTIONTYPE_MOVE_TO_FOLDER,
	LNSIMPLEACTIONTYPE_REMOVE_FROM_FOLDER,
	LNSIMPLEACTIONTYPE_RUN_AGENT,
	LNSIMPLEACTIONTYPE_RUN_FORMULA,
	LNSIMPLEACTIONTYPE_RUN_JAVA,
	LNSIMPLEACTIONTYPE_RUN_LOTUS_SCRIPT,
	LNSIMPLEACTIONTYPE_SEND_DOCUMENT,
	LNSIMPLEACTIONTYPE_SEND_MAIL,
	LNSIMPLEACTIONTYPE_SEND_NEWSLETTER,
	LNSIMPLEACTIONTYPE_SEND_REPLY
};

//===========================================================================
//
//		Class definition for LNSimpleAction
//
//===========================================================================

class LNIMPEXPCL LNSimpleAction : public LNSmartPtr
{
	friend class LNSimpleActions;
	friend class LNSimpleFolderAction;
	friend class LNSimpleFieldsInFormAction;
	friend class LNSimpleDatabaseAction;
	friend class LNSimpleModifyFieldAction;
	friend class LNSimpleRunFormulaAction;
	friend class LNSimpleRunAgentAction;
	friend class LNSimpleSendMailAction;
	friend class LNSimpleSendNewsletterAction;
	friend class LNSimpleSendReplyAction;

	public:
		LNSimpleAction (void);
		LNSimpleAction (LNSIMPLEACTIONTYPE type);
		LNSimpleAction (const LNSimpleAction & other);

		~LNSimpleAction (void);

		LNSimpleAction &	operator= (const LNSimpleAction & other);

		LNCLASSID			GetClassID (void) const
								{ return (LNCLASSID_LNSIMPLEACTION); }

		LNSIMPLEACTIONTYPE	GetSimpleActionType (void) const;

	protected:
		LNSimpleAction (LNSimpleActionBody * pBody);
		virtual LNINT		GetSize (void) const;
		virtual	LNSTATUS	Update (void * pStartPtr, void * * ppEndPtr) const;

	private:
		LNSimpleActionBody * GetSimpleActionBody (void) const;
};


//===========================================================================
//
//		Class definition for LNSimpleActions
//
//===========================================================================

class LNIMPEXPCL LNSimpleActions : public LNSmartPtr
{

	public:
		LNSimpleActions (void);
		LNSimpleActions (const LNSimpleActions & other);

		~LNSimpleActions (void);

		LNSimpleActions &	operator= (const LNSimpleActions & other);

		LNSimpleAction		operator[] (LNINT n);

		LNSTATUS			Append (const LNSimpleAction & newAction);
		LNSTATUS			Delete (LNINT index, LNINT count = 1);
		virtual LNCLASSID	GetClassID (void) const
								{ return (LNCLASSID_LNSIMPLEACTIONS); }
		LNINT				GetCount (void) const;
		LNSTATUS			Insert (LNINT position,
								const LNSimpleAction & newAction);
		LNSTATUS			ParseSimpleActions (HANDLE pool,
								DBLOCK block, DWORD cdsize);
		LNSTATUS			ParseSimpleActions (char *pData, DWORD length);

protected:
		LNSimpleActions (LNSimpleActionsBody * pBody);
		virtual LNINT		GetSize (void) const;
		virtual	LNSTATUS	Update (void * pStartPtr, void * * ppEndPtr) const;

private:
		void				CreateBody (LNSimpleActionsBody * pBody);
		LNSimpleActionsBody * GetSimpleActionsBody (void) const;
};


//===========================================================================
//
//		Class definition for LNSimpleDatabaseAction
//
//===========================================================================

class LNIMPEXPCL LNSimpleDatabaseAction : public LNSimpleAction
{
	friend class LNSimpleActions;
	friend class LNSimpleActionsBody;

	public:
		LNSimpleDatabaseAction (void);
		LNSimpleDatabaseAction (const LNSimpleDatabaseAction & other);
		LNSimpleDatabaseAction (const LNSimpleAction & other);

		~LNSimpleDatabaseAction (void);

		LNSimpleDatabaseAction & operator= (const LNSimpleDatabaseAction & other);
		
		LNCLASSID	GetClassID (void) const
						{ return (LNCLASSID_LNSIMPLEDATABASEACTION); }
		LNString	GetDatabasePathname (void) const;
		LNBOOL		GetDeleteFromSource (void) const;
		LNString	GetServerName (void) const;

		LNSTATUS	SetDatabasePathname (const LNString & newName);
		LNSTATUS	SetDeleteFromSource (LNBOOL newFlag);
		LNSTATUS	SetServerName (const LNString & newName);

	protected:
		LNSimpleDatabaseAction (LNSimpleDatabaseActionBody * pBody);
		virtual LNINT		GetSize (void) const;
		virtual	LNSTATUS	Update (void * pStartPtr, void * * ppEndPtr) const;

	private:
		LNSimpleDatabaseAction (LNSIMPLEACTIONTYPE type);	// disabled

		void		CreateBody (LNSimpleDatabaseActionBody * pBody);
		LNSimpleDatabaseActionBody * GetSimpleDatabaseActionBody (void) const;
};


//===========================================================================
//
//		Class definition for LNSimpleFieldsInFormAction
//
//===========================================================================

class LNIMPEXPCL LNSimpleFieldsInFormAction : public LNSimpleAction
{
	friend class LNSimpleActions;
	friend class LNSimpleActionsBody;
	friend class LNSimpleFieldValueBody;

	public:
		LNSimpleFieldsInFormAction (void);
		LNSimpleFieldsInFormAction (const LNSimpleFieldsInFormAction & other);
		LNSimpleFieldsInFormAction (const LNSimpleAction & other);

		~LNSimpleFieldsInFormAction (void);

		LNSimpleFieldsInFormAction & operator= (const LNSimpleFieldsInFormAction & other);
		LNSimpleFieldValue	operator[] (LNINT n);

		LNSTATUS	Append (const LNSimpleFieldValue & newField);
		LNSTATUS	Delete (LNINT index, LNINT count = 1);
		LNCLASSID	GetClassID (void) const
								{ return (LNCLASSID_LNSIMPLEFIELDSINFORMACTION); }
		LNINT		GetFieldCount (void) const;
		LNString	GetFormName (void) const;
		LNSTATUS	Insert (LNINT position, const LNSimpleFieldValue & newField);
		LNSTATUS	SetFormName (const LNString & newName);

	protected:
		LNSimpleFieldsInFormAction (LNSimpleFieldsInFormActionBody * pBody);
		virtual LNINT		GetSize (void) const;
		virtual	LNSTATUS	Update (void * pStartPtr, void * * ppEndPtr) const;

	private:
		LNSimpleFieldsInFormAction (LNSIMPLEACTIONTYPE type);	// disabled

		void		CreateBody (LNSimpleFieldsInFormActionBody * pBody);
		LNSimpleFieldsInFormActionBody * GetSimpleFieldsInFormActionBody (void) const;
};


//===========================================================================
//
//		Class definition for LNSimpleFolderAction
//
//===========================================================================

class LNIMPEXPCL LNSimpleFolderAction : public LNSimpleAction
{
	friend class LNSimpleActions;
	friend class LNSimpleActionsBody;

	public:
		LNSimpleFolderAction (void);
		LNSimpleFolderAction (LNSIMPLEACTIONTYPE type);
		LNSimpleFolderAction (const LNSimpleFolderAction & other);
		LNSimpleFolderAction (const LNSimpleAction & other);

		~LNSimpleFolderAction (void);

		LNSimpleFolderAction &	operator= (const LNSimpleFolderAction & other);

		LNCLASSID	GetClassID (void) const
								{ return (LNCLASSID_LNSIMPLEFOLDERACTION); }
		LNBOOL		GetCreateNewFolder (void) const;
		LNString	GetFolderName (void) const;
		LNBOOL		GetPrivateFolder (void) const;

		LNSTATUS	SetCreateNewFolder (LNBOOL newFlag);
		LNSTATUS	SetFolderName (const LNString & newFolder);
		LNSTATUS	SetPrivateFolder (LNBOOL newFlag);

	protected:
		LNSimpleFolderAction (LNSimpleFolderActionBody * pBody);
		virtual LNINT		GetSize (void) const;
		virtual	LNSTATUS	Update (void * pStartPtr, void * * ppEndPtr) const;

	private:
		void		CreateBody (LNSimpleFolderActionBody * pBody);
		LNSimpleFolderActionBody * GetSimpleFolderActionBody (void) const;
};


//===========================================================================
//
//		Class definition for LNSimpleModifyFieldAction
//
//===========================================================================

class LNIMPEXPCL LNSimpleModifyFieldAction : public LNSimpleAction
{
	friend class LNSimpleActions;
	friend class LNSimpleActionsBody;

	public:
		LNSimpleModifyFieldAction (void);
		LNSimpleModifyFieldAction (const LNSimpleModifyFieldAction & other);
		LNSimpleModifyFieldAction (const LNSimpleAction & other);

		~LNSimpleModifyFieldAction (void);
		
		LNSimpleModifyFieldAction & operator= (const LNSimpleModifyFieldAction & other);
		
		LNBOOL		GetAppendToField (void) const;

		LNCLASSID	GetClassID (void) const
						{ return (LNCLASSID_LNSIMPLEMODIFYFIELDACTION); }
		
		LNString	GetFieldName (void) const;
		
		LNBOOL		GetReplaceField (void) const;

		LNString	GetValueString (void) const;

		LNSTATUS	SetAppendToField (LNBOOL newFlag);

		LNSTATUS	SetFieldName (const LNString & newName);
		
		LNSTATUS	SetReplaceField (LNBOOL newFlag);
		
		LNSTATUS	SetValueString (const LNString & newValue);

	protected:
		LNSimpleModifyFieldAction (LNSimpleModifyFieldActionBody * pBody);
		virtual LNINT		GetSize (void) const;
		virtual	LNSTATUS	Update (void * pStartPtr, void * * ppEndPtr) const;

	private:
		LNSimpleModifyFieldAction (LNSIMPLEACTIONTYPE type);	// disabled

		void		CreateBody (LNSimpleModifyFieldActionBody * pBody);
		LNSimpleModifyFieldActionBody * GetSimpleModifyFieldActionBody (void) const;
};


⌨️ 快捷键说明

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