Closed
Bug 120474
Opened 23 years ago
Closed 22 years ago
Identify and Move required static classes into glue lib
Categories
(Core :: XPCOM, defect)
Tracking
()
RESOLVED
FIXED
mozilla1.0
People
(Reporter: dougt, Assigned: dougt)
References
Details
(Keywords: topembed+)
Attachments
(2 obsolete files)
Assignee | ||
Updated•23 years ago
|
Target Milestone: --- → mozilla1.0
Assignee | ||
Comment 1•23 years ago
|
||
Here is adams's listing: This is the list that my 1 month old debug copy of gbrowser.dll says it takes from xpcom.dll. NS_ConvertUTF8toUCS2::NS_ConvertUTF8toUCS2(char const *) nsAutoString::nsAutoString(class nsAutoString const &) nsAutoString::nsAutoString(unsigned short const *) nsAutoString::nsAutoString(void) nsCAutoString::nsCAutoString(void) nsCString::nsCString(class nsCString const &) nsCString::nsCString(char const *) nsCString::nsCString(void) nsCreateInstanceByContractID::nsCreateInstanceByContractID(char const *,class nsISupports *,unsigned int *) nsDependentString::nsDependentString(unsigned short const *,unsigned int) nsGetServiceByCID::nsGetServiceByCID(struct nsID const &,class nsISupports *,unsigned int *) nsGetServiceByContractID::nsGetServiceByContractID(char const *,class nsISupports *,unsigned int *) nsQueryInterface::nsQueryInterface(class nsISupports *,unsigned int *) nsString::nsString(class nsString const &) nsString::nsString(unsigned short const *) nsString::nsString(void) nsSupportsWeakReference::nsSupportsWeakReference(void) nsXPIDLCString::nsXPIDLCString(void) nsXPIDLString::nsXPIDLString(void) NS_ConvertUTF8toUCS2::~NS_ConvertUTF8toUCS2(void) nsAutoString::~nsAutoString(void) nsCAutoString::~nsCAutoString(void) nsCString::~nsCString(void) nsDependentString::~nsDependentString(void) nsGetServiceByCID::~nsGetServiceByCID(void) nsGetServiceByContractID::~nsGetServiceByContractID(void) nsString::~nsString(void) nsSupportsWeakReference::~nsSupportsWeakReference(void) nsXPIDLCString::~nsXPIDLCString(void) nsXPIDLString::~nsXPIDLString(void) class nsAString & nsAString::operator=(class nsAString const &) class nsAutoString & nsAutoString::operator=(class nsAutoString const &) class nsAutoString & nsAutoString::operator=(class nsAString const &) class nsAutoString & nsAutoString::operator=(unsigned short const *) class nsCAutoString & nsCAutoString::operator=(class nsACString const &) class nsCString & nsCString::operator=(class nsCString const &) class nsCString & nsCString::operator=(char const *) class nsString & nsString::operator=(class nsString const &) class nsString & nsString::operator=(class nsAString const &) class nsString & nsString::operator=(unsigned short const *) nsCString::operator char const *(void) nsXPIDLCString::operator char const *(void) nsXPIDLString::operator unsigned short const *(void) unsigned int nsGetInterface::operator()(struct nsID const &,void * *) unsigned int nsQueryElementAt::operator()(struct nsID const &,void * *) unsigned int nsQueryReferent::operator()(struct nsID const &,void * *) class nsACString & nsACString::operator+=(class nsACString const &) class nsACString & nsACString::operator+=(char const *) class nsAString & nsAString::operator+=(class nsAString const &) class nsAString & nsAString::operator+=(unsigned short const *) void nsXPIDLCString::Adopt(char *) void * nsMemory::Alloc(unsigned int) void nsAString::Append(class nsAString const &) void nsAString::Append(unsigned short const *) void nsString::AppendInt(int,int) void nsString::AppendWithConversion(char const *,int) void nsDebug::Assertion(char const *,char const *,char const *,int) void nsAString::Assign(class nsAString const &) void nsString::AssignWithConversion(char const *) int nsString::CompareWithConversion(unsigned short const *,int,int) void nsString::CompressWhitespace(int,int) unsigned int nsComponentManager::CreateInstance(struct nsID const &,class nsISupports *,struct nsID const &,void * *) int nsAString::Equals(unsigned short const *) int nsCString::EqualsIgnoreCase(char const *,int) int nsString::EqualsIgnoreCase(class nsString const &) int nsString::EqualsIgnoreCase(char const *,int) int nsString::EqualsWithConversion(char const *,int,int) int nsCString::Find(char const *,int,int,int) int nsString::Find(char const *,int,int,int) int nsString::Find(unsigned short const *,int,int,int) int nsCString::FindChar(unsigned short,int,int,int) int nsString::FindChar(unsigned short,int,int,int) void nsMemory::Free(void *) unsigned int nsSupportsWeakReference::GetWeakReference(class nsIWeakReference * *) void nsString::InsertWithConversion(char const *,unsigned int,int) int nsACString::IsEmpty(void) int nsAString::IsEmpty(void) unsigned int nsAString::Left(class nsAString &,unsigned int) unsigned int nsAFlatCString::Length(void) unsigned int nsAFlatString::Length(void) unsigned int nsCString::Length(void) unsigned int nsString::Length(void) void nsTraceRefcnt::LogAddRef(void *,unsigned long,char const *,unsigned int) void nsTraceRefcnt::LogRelease(void *,unsigned long,char const *) unsigned int nsAString::Mid(class nsAString &,unsigned int,unsigned int) class nsIWeakReference * NS_GetWeakReference(class nsISupports *,unsigned int *) class nsIAtom * NS_NewAtom(char const *) void nsDebug::PreCondition(char const *,char const *,char const *,int) char * * nsXPIDLCString::PrepareForUseAsOutParam(void) unsigned short * * nsXPIDLString::PrepareForUseAsOutParam(void) unsigned int nsComponentManager::RegisterFactory(struct nsID const &,char const *,char const *,class nsIFactory *,int) unsigned int nsACString::Right(class nsACString &,unsigned int) unsigned int nsAString::Right(class nsAString &,unsigned int) void nsString::SetLength(unsigned int) void nsCString::StripChar(char,int) void nsString::StripWhitespace(void) char * nsString::ToCString(char *,unsigned int,unsigned int) int nsCString::ToInteger(int *,unsigned int) char * nsCString::ToNewCString(void) char * nsString::ToNewCString(void) char * ToNewUTF8String(class nsAString const &) unsigned short * nsString::ToNewUnicode(void) void nsCString::Trim(char const *,int,int,int) void nsACString::Truncate(unsigned int) void nsAString::Truncate(unsigned int) int nsDebug::WarnIfFalse(char const *,char const *,char const *,int) void nsDebug::Warning(char const *,char const *,int) void nsCOMPtr_base::assign_with_AddRef(class nsISupports *) void nsCRT::free(char *) char const * nsAFlatCString::get(void) unsigned short const * nsAFlatString::get(void) char const * nsCString::get(void) unsigned short const * nsString::get(void) int nsCRT::strcmp(unsigned short const *,unsigned short const *) char * nsCRT::strdup(char const *) unsigned int nsCRT::strlen(char const *) Strings has been moved nsMemory has been moved. Need to move nsSupportsWeakReference nsCRT (or question it is being used) nsDebug (or question it is being used) nsTraceRefcnt (or question it is being used)
Assignee | ||
Comment 2•23 years ago
|
||
Actually, I question also why nsSupportsWeakReference is being used too. This class does nothing really special. Why cant embedders copy this functionality?
Assignee | ||
Comment 3•23 years ago
|
||
alec and I spoke a bit about this. we agreed that nsDebug and nsWeakReference should be made part of the glue library.
Comment 4•23 years ago
|
||
xpcom/base/{nsDebug,nsWeakReference}.* have been copied to xpcom/glue (thanks endico).
Assignee | ||
Comment 5•23 years ago
|
||
Comment on attachment 68478 [details] [diff] [review] Move nsDebug.cpp & nsWeakReference.cpp into xpcomglue r=dougt. We need to get the mac up to speed.
Attachment #68478 -
Flags: review+
Assignee | ||
Comment 6•23 years ago
|
||
Thanks for the patch. Looks good. Lets make sure to cvs remove the xpcom/base files when this is checked in. With that said, I am not sure we can ignore the mac build.
Comment 7•23 years ago
|
||
Since we don't actually build sub-libraries on the classic mac builds and ::glue is already in the search path, I don't think there's anything that needs to be done for the mac.
Assignee | ||
Comment 8•23 years ago
|
||
Great news.
Assignee | ||
Comment 9•22 years ago
|
||
alec, jband, can one of you sr= this patch?
Updated•22 years ago
|
Summary: Identify and Move required status classes into glue lib → Identify and Move required static classes into glue lib
Comment 10•22 years ago
|
||
Comment on attachment 68478 [details] [diff] [review] Move nsDebug.cpp & nsWeakReference.cpp into xpcomglue sr=alecf
Attachment #68478 -
Flags: superreview+
Comment 11•22 years ago
|
||
Comment on attachment 68478 [details] [diff] [review] Move nsDebug.cpp & nsWeakReference.cpp into xpcomglue Sorry, this patch has already been checked in. I thought everyone saw the red from it. Note for future reference: don't forget to update the MANIFEST files when moving headers.
Attachment #68478 -
Attachment is obsolete: true
Assignee | ||
Comment 12•22 years ago
|
||
probably should be moved into glue: nsISupportsImpl.h nsISupportsUtils.h nsIWeakReferenceUtils.h nsIInterfaceRequestorUtils.h
Assignee | ||
Comment 13•22 years ago
|
||
alec, rick, objections on moving the above headers to glue?
Comment 14•22 years ago
|
||
Can't think of any reason why not...
Assignee | ||
Comment 15•22 years ago
|
||
Chris, can you cvs move these files to xpcom/glue?
Comment 16•22 years ago
|
||
Nope, I don't have direct access to the cvs repo. These requests should really go straight to dawn & leaf.
Comment 17•22 years ago
|
||
Move which files where? give complete path names. When i looked at this earlier I didn't find the files you listed.
Assignee | ||
Comment 18•22 years ago
|
||
/xpcom/base/nsISupportsImpl.h /xpcom/base/nsISupportsUtils.h /xpcom/base/nsIWeakReferenceUtils.h /xpcom/base/nsIInterfaceRequestorUtils.h to /xpcom/glue/*
Assignee | ||
Comment 19•22 years ago
|
||
Three more additions (since 108233 landed) xpcom/components/nsGenericModule.h xpcom/components/nsGenericModule.cpp xpcom/components/nsIGenericFactory.idl can be moved into xpcom/glue.
Comment 20•22 years ago
|
||
i copied the xpcom/base files as requested in comment #18 but the files listed in xpcom/components from comment 19 do not exist.
Assignee | ||
Comment 21•22 years ago
|
||
dawn hooked us up. chris, are you up for some build foo magic?
Assignee | ||
Comment 22•22 years ago
|
||
my fault... s/nsGenericModule/nsGenericFactory
Assignee | ||
Comment 23•22 years ago
|
||
alec, rick, I am thinking about moving nsISupportUtils into the glue lib, but it does call new/delete. Shouldn't it be using nsIMemory? http://lxr.mozilla.org/seamonkey/source/xpcom/base/nsISupportsUtils.h#78
Comment 24•22 years ago
|
||
NS_NEWXPCOM(...) and NS_DELETEXPCOM(...) are meant to be used when creating/destroying c++ instances. So, they can't use nsIMemory unless we add in the magic of calling the constructor or destructor too...
Assignee | ||
Comment 25•22 years ago
|
||
is new always new?
Comment 26•22 years ago
|
||
well, it's never old :-)
Comment 27•22 years ago
|
||
Comment 28•22 years ago
|
||
Comment on attachment 74835 [details] [diff] [review] Build repo-copied files in xpcom/glue instead of xpcom/base & xpcom/components a=asa (on behalf of drivers) for checkin to the 1.0 trunk
Attachment #74835 -
Flags: approval+
Updated•22 years ago
|
Attachment #74835 -
Attachment is obsolete: true
Comment 29•22 years ago
|
||
Comment on attachment 74835 [details] [diff] [review] Build repo-copied files in xpcom/glue instead of xpcom/base & xpcom/components Patch has been checked in & the original files have been cvs removed.
Assignee | ||
Comment 30•22 years ago
|
||
Marking this fix. Any other files that we think about adding to the glue library can be treated as seperate bugs. Chris, thanks for your help.
Assignee | ||
Comment 31•22 years ago
|
||
x
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•