Bug 1433211: Use `native` in idl for concrete types that are references but not defined in idl; r=jorgk
authorTom Prince <mozilla@hocat.ca>
Thu, 25 Jan 2018 11:32:39 -0700
changeset 30963 00b0d2631cc2f111e14b44c28cecf4189cf5e2c8
parent 30962 e34f8c36ca9e8889659b99863a03636762154e25
child 30964 2b56d89a8792fc1af6ae66be5f38cd9d26ecb7e1
push id383
push userclokep@gmail.com
push dateMon, 07 May 2018 21:52:48 +0000
reviewersjorgk
bugs1433211
Bug 1433211: Use `native` in idl for concrete types that are references but not defined in idl; r=jorgk MozReview-Commit-ID: 7jc1aXJtyxT Differential Revision: https://phabricator.services.mozilla.com/D439
mailnews/addrbook/public/nsIAddrDatabase.idl
mailnews/imap/public/nsIImapProtocol.idl
mailnews/imap/public/nsIMailboxSpec.idl
mailnews/import/public/nsIImportFieldMap.idl
mailnews/news/public/nsINntpIncomingServer.idl
--- a/mailnews/addrbook/public/nsIAddrDatabase.idl
+++ b/mailnews/addrbook/public/nsIAddrDatabase.idl
@@ -5,17 +5,20 @@
 
 #include "nsIAddrDBAnnouncer.idl"
 #include "nsIAbCard.idl"
 #include "nsIAbDirectory.idl"
 
 interface nsIFile;
 interface nsIMdbTableRowCursor;
 interface nsIMdbEnv;
-interface nsIMdbRow;
+[ptr] native nsIMdbRow (nsIMdbRow);
+%{C++
+class nsIMdbRow;
+%}
 interface nsIArray;
 interface nsISimpleEnumerator;
 
 %{C++
 // this is the prefix we for attributes that are specific
 // to the mozilla addressbook, and weren't in 4.x and aren't specified in
 // RFC 2789.  used when exporting and import LDIF
 // see nsTextAddress.cpp, nsAddressBook.cpp
--- a/mailnews/imap/public/nsIImapProtocol.idl
+++ b/mailnews/imap/public/nsIImapProtocol.idl
@@ -5,20 +5,24 @@
 
 #include "nsISupports.idl"
 
 interface nsIURI;
 interface nsIImapUrl;
 interface nsIImapProtocol;
 interface nsIImapIncomingServer;
 interface nsIMsgFolder;
-interface nsIImapHostSessionList;
 interface nsIMsgWindow;
 interface nsIImapFlagAndUidState;
 
+[ptr] native nsIImapHostSessionList (nsIImapHostSessionList);
+%{C++
+class nsIImapHostSessionList;
+%}
+
 [scriptable, uuid(290412eb-5824-4087-8984-05450c9397be)]
 interface nsIImapProtocol : nsISupports {
   void LoadImapUrl(in nsIURI aUrl, in nsISupports aConsumer);
 
   /**
    * IsBusy returns true if the connection is currently processing a url
    * and false otherwise.
    */
--- a/mailnews/imap/public/nsIMailboxSpec.idl
+++ b/mailnews/imap/public/nsIMailboxSpec.idl
@@ -1,17 +1,20 @@
 /* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "nsISupports.idl"
 #include "nsIImapFlagAndUidState.idl"
 
-interface nsIMAPNamespace;
+[ptr] native nsIMAPNamespace (nsIMAPNamespace);
+%{C++
+class nsIMAPNamespace;
+%}
 
 [scriptable, uuid(a9fbbc80-5291-4ed8-a7f7-c2fcad231269)]
 interface nsIMailboxSpec : nsISupports
 {
   attribute long folder_UIDVALIDITY;
   /**
    * The highest modification sequence number the parser has seen
    * for this mailbox. See IMAP RFC 4551
--- a/mailnews/import/public/nsIImportFieldMap.idl
+++ b/mailnews/import/public/nsIImportFieldMap.idl
@@ -11,17 +11,20 @@
   to mozilla fields.
   For export, the map contains the ordered list of mozilla fields to
   export!
 */
 
 #include "nsISupports.idl"
 
 interface nsIAddrDatabase;
-interface nsIMdbRow;
+[ptr] native nsIMdbRow (nsIMdbRow);
+%{C++
+class nsIMdbRow;
+%}
 interface nsIAbCard;
 
 [scriptable, uuid(deee9264-1fe3-47b1-b745-47b22de454e2)]
 interface nsIImportFieldMap : nsISupports
 {
   /*
     Flag to indicate whether or not to skip the first record,
     for instance csv files often have field names as the first
--- a/mailnews/news/public/nsINntpIncomingServer.idl
+++ b/mailnews/news/public/nsINntpIncomingServer.idl
@@ -3,17 +3,20 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "nsISupports.idl"
 
 interface nsIFile;
 interface nsIMsgNewsFolder;
 interface nsINNTPProtocol;
-interface nsNNTPProtocol;
+[ptr] native nsNNTPProtocol (nsNNTPProtocol);
+%{C++
+class nsNNTPProtocol;
+%}
 interface nsIChannel;
 interface nsIURI;
 interface nsIMsgWindow;
 
 [scriptable, uuid(077620ed-c6c4-4d4d-bed5-4d041f924002)]
 interface nsINntpIncomingServer : nsISupports {
     /* the on-disk path to the newsrc file for this server */
     attribute nsIFile newsrcFilePath;