gecko-dev/mailnews/base/public/nsIMsgHdr.idl
1999-06-10 20:24:43 +00:00

107 lines
3.1 KiB
Plaintext

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#include "nsISupports.idl"
/* just stub the interfaces for now */
interface nsIMsgHdr : nsISupports
{
};
interface nsIMsgDBHdr : nsIMsgHdr
{
};
/******************************************************************************
this is commented out because it doesn't match nsIMessage.h, and I don't
want anyone to try to use it yet.
the problem is nsIMessage.h has interfaces that pass references to nsStrings.
but, you can't do that in idl.
#include "nsISupports.idl"
#include "MailNewsTypes.idl"
[ptr] native nsString(nsString);
[ptr] native nsString2(nsString2);
native nsMsgPriority(nsMsgPriority);
%{C++
class nsString;
class nsString2;
%}
[scriptable, uuid(4e994f60-c317-11d2-8cc9-0060b0fc14a3)]
interface nsIMsgHdr : nsISupports
{
nsString GetProperty(in string propertyName);
void SetProperty(in string propertyName, in nsString propertyStr);
unsigned long GetUint32Property(in string propertyName);
void SetUint32Property(in string propertyName, in unsigned long propertyVal);
attribute unsigned short numReferences;
nsString2 GetStringReference(in long refNum);
attribute long long date;
attribute string messageId;
attribute string references;
attribute string CCList;
attribute string recipients;
attribute boolean recipientsIsNewsgroup;
attribute string author;
void SetRecipientsArray(in string names,
in string addresses,
in unsigned long numaddresses);
void SetCCListArray(in string names,
in string addresses,
in unsigned long numAddresses);
readonly attribute string mime2EncodedAuthor;
readonly attribute string mime2EncodedSubject;
readonly attribute string mime2EncodedRecipients;
readonly attribute string authorCollationKey;
readonly attribute string subjectCollationKey;
readonly attribute string recipientsCollationKey;
attribute string messageKey;
attribute nsMsgKey threadID;
attribute unsigned long messageSize;
attribute unsigned long lineCount;
attribute nsMsgPriority priority;
readonly attribute unsigned long messageOffset;
readonly attribute unsigned long statusOffset;
readonly attribute string charSet;
void MarkRead(in boolean markRead);
};
interface nsIMsgDBHdr : nsIMsgHdr
{
};
*******************************************************************************/