📄 lnsactio.hpp
字号:
//===========================================================================
//
// 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 + -