|
#pragma once
#include "MDUserImports.h"
using namespace System;
using namespace System::Collections;
namespace MDaemon
{
public __gc class cUser
{
public:
__value enum eAccessType : SByte
{
PopAndImap = 'Y',
PopOrImap = 'N',
OnlyPop = 'P',
OnlyImap = 'I',
Disabled = 'C'
};
[FlagsAttribute]
__value enum eWebConfig : Int32
{
ACCESS_WORLDCLIENT = MDUSERDLL_ACCESSWORLDCLIENT,
ACCESS_WEBCONFIG = MDUSERDLL_ACCESSWEBCONFIG,
IS_ADMIN = MDUSERDLL_ISADMIN,
EDIT_FULLNAME = MDUSERDLL_EDITFULLNAME,
EDIT_PASSWORD = MDUSERDLL_EDITPASSWORD,
EDIT_MAILDIR = MDUSERDLL_EDITMAILDIR,
EDIT_FORWARD = MDUSERDLL_EDITFWD,
EDIT_ADVANCED_FOWARD = MDUSERDLL_EDITADVFWD,
EDIT_MAIL_ENCRYPT = MDUSERDLL_EDITENCRYPT,
EDIT_HIDE_FROM_EVERYONE = MDUSERDLL_EDITEVERYONE,
EDIT_MAIL_RESTRICTIONS = MDUSERDLL_EDITMAILRESTRICTIONS,
EDIT_QUOTAS = MDUSERDLL_EDITQUOTAS,
EDIT_MULTIPOP = MDUSERDLL_EDITMULTIPOP,
EDIT_AUTO_RESPONDER = MDUSERDLL_EDITAUTORESPONDER,
EDIT_EMAIL_CHANGES = MDUSERDLL_EDITEMAILCHANGES,
EDIT_IMAP_RULES = MDUSERDLL_EDITIMAPRULES,
EDIT_MAILBOX = MDUSERDLL_EDITMAILBOX
};
[FlagsAttribute]
__value enum eDeleteFlags : Int32
{
USER_LIST_DB = MDUSERDLL_DUSERLISTDB,
AUTORESPONDER_DB = MDUSERDLL_DAUTORESPDB,
FORWARD_DB = MDUSERDLL_DFWDDB,
MAIL_FORMAT_DB = MDUSERDLL_DMAILFORMATDB,
WEBCONFIG_ACCESS_DB = MDUSERDLL_DWEBACCESSDB,
MULTIPOP_DB = MDUSERDLL_DMULTIPOPDB,
ALIAS_DB = MDUSERDLL_DALIASDB,
REMOVE_DIR = MDUSERDLL_DREMOVEDIR,
LISTS = MDUSERDLL_DLISTS,
DELETE_ALL = MDUSERDLL_DDELETEALL
};
__gc struct kAutoResponder
{
String* Script;
String* Process;
String* Exclude;
String* AddToList;
String* RemoveFromList;
String* StartTime;
String* EndTime;
bool PassMessage;
};
__gc struct kForwarding
{
String* Address;
String* Host;
String* SendAs;
String* Port;
};
// -----------------------
cUser();
~cUser();
void Add();
void GetByEmail(String* s_Email);
void Update();
// STATIC
static void Delete(String* s_Email, eDeleteFlags e_Flags);
static bool Exists(String* s_Email);
static ArrayList* GetAllUsers();
// -----------------------
String* Email;
String* Mailbox;
String* Domain;
String* FullName;
String* MailDir;
String* Password;
bool AutoDecode;
bool IsForwarding;
eAccessType AccessType;
bool AllowChangeViaEmail;
bool KeepForwardedMail;
bool HideFromEveryone;
bool ProcessCalendarRequests;
bool ApplyQuotas;
bool EnableMultiPOP;
bool CanModifyGAB;
long MaxMessageCount;
long MaxDiskSpace;
eWebConfig WebConfig;
String* NTAccount;
String* MailFormat;
int MultiPOPMaxMessageAge;
long MultiPOPMaxMessageSize;
bool RecurseIMAP;
bool IsDisabled;
bool CheckAddrBook;
bool UpdateAddrBook;
int MaxInactive;
int MaxMessageAge;
int MaxDeletedIMAPMessageAge;
String* Comments;
String* UserDefined;
String* Groups;
kForwarding* Forwarding;
kAutoResponder* AutoResponder;
// -----------------------
private:
void CopyFromManaged(MD_UserInfo* pk_User);
void CopyToManaged(MD_UserInfo* pk_User);
void VerifyData(MD_UserInfo* pk_User);
void CleanUp();
IntPtr mh_Handle;
};
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.