void            operator = (const nsFileSpec& inOther) { *(nsFileSpec*)this = inOther; }
void nsSpecialFileSpec::operator = (Type aType)  { *this = (const char*)nsnull;  switch (aType) { case App_PrefsDirectory30: case App_PrefsDirectory40: NS_NOTYETIMPLEMENTED("Write me!"); break; case App_PrefsDirectory50: { *this = nsSpecialFileSpec(App_UserProfileDirectory50); break; }  case App_ComponentsDirectory: { *this = nsSpecialSystemDirectory(nsSpecialSystemDirectory::OS_CurrentProcessDirectory); #ifdef XP_MAC *this += "Components"; #else *this += "components"; #endif } break; case App_ChromeDirectory: { *this = nsSpecialSystemDirectory(nsSpecialSystemDirectory::OS_CurrentProcessDirectory); #ifdef XP_MAC *this += "Chrome"; #else *this += "chrome"; #endif } break; case App_PluginsDirectory: { *this = nsSpecialSystemDirectory(nsSpecialSystemDirectory::OS_CurrentProcessDirectory); #ifdef XP_MAC *this += "Plugins"; #else *this += "plugins"; #endif } break;  case App_UserProfileDirectory30: case App_UserProfileDirectory40: NS_NOTYETIMPLEMENTED("Write me!"); break; case App_UserProfileDirectory50: if (!GetProfileDirectory(*this)) mError = NS_ERROR_NOT_INITIALIZED; break;  case App_DefaultUserProfileRoot30: case App_DefaultUserProfileRoot40: NS_NOTYETIMPLEMENTED("Write me!"); break; case App_DefaultUserProfileRoot50: GetDefaultUserProfileRoot(*this); break;  case App_ProfileDefaultsFolder30: case App_ProfileDefaultsFolder40: NS_NOTYETIMPLEMENTED("Write me!"); break; case App_ProfileDefaultsFolder50: GetProfileDefaultsFolder(*this); break;   case App_PreferencesFile30: { *this = nsSpecialFileSpec(App_PrefsDirectory30); #ifdef XP_MAC *this += "Netscape Preferences"; #elif defined(XP_UNIX) || defined(XP_BEOS) *this += "preferences.js"; #else *this += "prefs.js"; #endif } break; case App_PreferencesFile40: { *this = nsSpecialFileSpec(App_PrefsDirectory40); #ifdef XP_MAC *this += "Netscape Preferences"; #elif defined(XP_UNIX) || defined(XP_BEOS) *this += "preferences.js"; #else *this += "prefs.js"; #endif } break; case App_PreferencesFile50: { *this = nsSpecialFileSpec(App_PrefsDirectory50); *this += "prefs.js"; break; } break;  case App_BookmarksFile30: #ifdef XP_MAC {  *this = nsSpecialFileSpec(App_PrefsDirectory30); *this += "Bookmarks.html"; break; } #endif case App_BookmarksFile40: #ifdef XP_MAC {  *this = nsSpecialFileSpec(App_PrefsDirectory40); *this += "Bookmarks.html"; break; } #endif case App_BookmarksFile50: NS_NOTYETIMPLEMENTED("Write me!"); break;  case App_Registry40: #ifdef XP_MAC { *this = nsSpecialFileSpec(App_PrefsDirectory30); *this += "Netscape Registry"; break; } #endif case App_Registry50: #ifdef XP_MAC { *this = nsSpecialFileSpec(App_PrefsDirectory30); *this += "Mozilla Registry"; break; } #endif  NS_NOTYETIMPLEMENTED("Write me!"); break;  case App_DirectoryBase: case App_FileBase: default: NS_ERROR("Invalid location type"); break; } }
    void            operator = (const nsFileSpec& inOther) { *(nsFileSpec*)this = inOther; }