Back to index

lightning-sunbird  0.9+nobinonly
SizeTest05.cpp
Go to the documentation of this file.
00001 // Test05.cpp
00002 
00003 #include "nsIDOMNode.h"
00004 #include "nsCOMPtr.h"
00005 
00006 #ifdef __MWERKS__
00007        #pragma exceptions off
00008 #endif
00009 
00010 NS_DEF_PTR(nsIDOMNode);
00011 
00012        /*
00013               Windows:
00014                         raw, nsCOMPtr           21 bytes
00015 
00016               Macintosh:
00017                         Raw, nsCOMPtr           64 bytes
00018        */
00019 
00020 class Test05_Raw
00021        {
00022               public:
00023                         Test05_Raw();
00024                  ~Test05_Raw();
00025 
00026                      void /*nsresult*/ GetNode( nsIDOMNode** aNode );
00027 
00028               private:
00029                      nsIDOMNode* mNode;
00030        };
00031 
00032 Test05_Raw::Test05_Raw()
00033               : mNode(0)
00034        {
00035               // nothing else to do here
00036        }
00037 
00038 Test05_Raw::~Test05_Raw()
00039        {
00040               NS_IF_RELEASE(mNode);
00041        }
00042 
00043 void // nsresult
00044 Test05_Raw::GetNode( nsIDOMNode** aNode )
00045               // m64, w21
00046        {
00047 //            if ( !aNode )
00048 //                   return NS_ERROR_NULL_POINTER;
00049 
00050               *aNode = mNode;
00051               NS_IF_ADDREF(*aNode);
00052 
00053 //            return NS_OK;
00054        }
00055 
00056 
00057 
00058 class Test05_nsCOMPtr
00059        {
00060               public:
00061                      void /*nsresult*/ GetNode( nsIDOMNode** aNode );
00062 
00063               private:
00064                      nsCOMPtr<nsIDOMNode> mNode;
00065        };
00066 
00067 void // nsresult
00068 Test05_nsCOMPtr::GetNode( nsIDOMNode** aNode )
00069               // m64, w21
00070        {
00071 //            if ( !aNode )
00072 //                   return NS_ERROR_NULL_POINTER;
00073 
00074               *aNode = mNode;
00075               NS_IF_ADDREF(*aNode);
00076 
00077 //            return NS_OK;
00078        }