add way to create a new search term from JS

This commit is contained in:
alecf%netscape.com 2000-05-15 00:01:22 +00:00
Родитель 6b6c943696
Коммит 99b784ae09
2 изменённых файлов: 10 добавлений и 27 удалений

Просмотреть файл

@ -38,7 +38,6 @@ interface nsIMsgFilter : nsISupports {
readonly attribute nsIMsgFilterList filterList; // owning filter list readonly attribute nsIMsgFilterList filterList; // owning filter list
readonly attribute long numTerms;
void AddTerm(in nsMsgSearchAttribValue attrib, void AddTerm(in nsMsgSearchAttribValue attrib,
in nsMsgSearchOpValue op, in nsMsgSearchOpValue op,
in nsIMsgSearchValue value, in nsIMsgSearchValue value,
@ -54,6 +53,7 @@ interface nsIMsgFilter : nsISupports {
void appendTerm(in nsIMsgSearchTerm term); void appendTerm(in nsIMsgSearchTerm term);
nsIMsgSearchTerm createTerm();
// this is the actual array of search terms, and is thus modifyable // this is the actual array of search terms, and is thus modifyable
readonly attribute nsISupportsArray searchTerms; readonly attribute nsISupportsArray searchTerms;

Просмотреть файл

@ -59,23 +59,7 @@ nsMsgFilter::~nsMsgFilter()
{ {
} }
NS_IMPL_ADDREF(nsMsgFilter) NS_IMPL_ISUPPORTS1(nsMsgFilter, nsIMsgFilter)
NS_IMPL_RELEASE(nsMsgFilter)
NS_IMETHODIMP nsMsgFilter::QueryInterface(REFNSIID aIID, void** aResult)
{
if (aResult == NULL)
return NS_ERROR_NULL_POINTER;
if (aIID.Equals(NS_GET_IID(nsIMsgFilter)) ||
aIID.Equals(NS_GET_IID(nsISupports)))
{
*aResult = NS_STATIC_CAST(nsMsgFilter*, this);
NS_ADDREF_THIS();
return NS_OK;
}
return NS_NOINTERFACE;
}
NS_IMETHODIMP nsMsgFilter::GetFilterType(nsMsgFilterTypeType *aResult) NS_IMETHODIMP nsMsgFilter::GetFilterType(nsMsgFilterTypeType *aResult)
{ {
@ -148,18 +132,17 @@ NS_IMETHODIMP nsMsgFilter::AppendTerm(nsIMsgSearchTerm * aTerm)
return m_termList->AppendElement(aTerm); return m_termList->AppendElement(aTerm);
} }
NS_IMETHODIMP nsMsgFilter::GetNumTerms(PRInt32 *aResult) NS_IMETHODIMP
nsMsgFilter::CreateTerm(nsIMsgSearchTerm **aResult)
{ {
if (aResult == NULL) nsMsgSearchTerm *term = new nsMsgSearchTerm;
return NS_ERROR_NULL_POINTER; NS_ENSURE_TRUE(term, NS_ERROR_OUT_OF_MEMORY);
PRUint32 count; *aResult = NS_STATIC_CAST(nsIMsgSearchTerm*,term);
m_termList->Count(&count); NS_ADDREF(*aResult);
*aResult = count; return NS_OK;
return NS_OK;
} }
NS_IMETHODIMP nsMsgFilter::GetTerm(PRInt32 termIndex, NS_IMETHODIMP nsMsgFilter::GetTerm(PRInt32 termIndex,
nsMsgSearchAttribValue *attrib, /* attribute for this term */ nsMsgSearchAttribValue *attrib, /* attribute for this term */
nsMsgSearchOpValue *op, /* operator e.g. opContains */ nsMsgSearchOpValue *op, /* operator e.g. opContains */