diff --git a/mozilla/calendar/libxpical/Makefile.in b/mozilla/calendar/libxpical/Makefile.in index d9da1ba8b0b..1ae1a54b896 100644 --- a/mozilla/calendar/libxpical/Makefile.in +++ b/mozilla/calendar/libxpical/Makefile.in @@ -49,6 +49,8 @@ EXPORT_LIBRARY = 1 IS_COMPONENT = 1 MODULE_NAME = oeICalModule REQUIRES = xpcom \ + appshell \ + string \ $(NULL) XPIDLSRCS = oeIICal.idl @@ -57,6 +59,7 @@ CPPSRCS = \ oeICalEventImpl.cpp \ oeICalFactory.cpp \ oeICalImpl.cpp \ + oeICalStartupHandler.cpp \ $(NULL) EXTRA_DSO_LDOPTS += $(MOZ_COMPONENT_LIBS) -lical -licalss diff --git a/mozilla/calendar/libxpical/oeICalFactory.cpp b/mozilla/calendar/libxpical/oeICalFactory.cpp index b6429edb5b8..6e855985560 100644 --- a/mozilla/calendar/libxpical/oeICalFactory.cpp +++ b/mozilla/calendar/libxpical/oeICalFactory.cpp @@ -36,6 +36,7 @@ #include "oeICalImpl.h" #include "oeICalEventImpl.h" +#include "oeICalStartupHandler.h" #include "nsIGenericFactory.h" @@ -43,6 +44,7 @@ NS_GENERIC_FACTORY_CONSTRUCTOR(oeICalImpl); NS_GENERIC_FACTORY_CONSTRUCTOR(oeICalEventImpl); +NS_GENERIC_FACTORY_CONSTRUCTOR(oeICalStartupHandler); static nsModuleComponentInfo pModuleInfo[] = { @@ -55,12 +57,16 @@ static nsModuleComponentInfo pModuleInfo[] = OE_ICALEVENT_CID, OE_ICALEVENT_CONTRACTID, oeICalEventImplConstructor, + }, + { + "Calendar Startup Handler", + OE_ICALSTARTUPHANDLER_CID, + OE_ICALSTARTUPHANDLER_CONTRACTID, + oeICalStartupHandlerConstructor, + oeICalStartupHandler::RegisterProc, + oeICalStartupHandler::UnregisterProc } }; NS_IMPL_NSGETMODULE(oeICalModule, pModuleInfo) - - - - diff --git a/mozilla/calendar/libxpical/oeICalStartupHandler.cpp b/mozilla/calendar/libxpical/oeICalStartupHandler.cpp new file mode 100644 index 00000000000..ec06bd06b91 --- /dev/null +++ b/mozilla/calendar/libxpical/oeICalStartupHandler.cpp @@ -0,0 +1,55 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 2001 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#include "oeICalStartupHandler.h" + +NS_IMPL_ISUPPORTS1(oeICalStartupHandler, nsICmdLineHandler); + +oeICalStartupHandler::oeICalStartupHandler() +{ + NS_INIT_ISUPPORTS(); +} + +oeICalStartupHandler::~oeICalStartupHandler() +{ +} + +CMDLINEHANDLER_IMPL(oeICalStartupHandler, "-calendar", "general.startup.calendar", + "chrome://calendar/content", + "Start with calendar", OE_ICALSTARTUPHANDLER_CONTRACTID, + "Calendar cmd line handler", PR_FALSE, "", PR_TRUE); + diff --git a/mozilla/calendar/libxpical/oeICalStartupHandler.h b/mozilla/calendar/libxpical/oeICalStartupHandler.h new file mode 100644 index 00000000000..05c0655aaca --- /dev/null +++ b/mozilla/calendar/libxpical/oeICalStartupHandler.h @@ -0,0 +1,61 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 2001 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +#ifndef __oeICalStartupHandler_h_ +#define __oeICalStartupHandler_h_ + +#include "nsICmdLineHandler.h" + +#define OE_ICALSTARTUPHANDLER_CID \ +{ 0x58623304, 0x1dd2, 0x11b2, \ + { 0x8c, 0x3f, 0xe2, 0x88, 0xb2, 0x02, 0x2c, 0xc0 } } + +#define OE_ICALSTARTUPHANDLER_CONTRACTID "@mozilla.org/commandlinehandler/general-startup;1?type=calendar" + +class oeICalStartupHandler : public nsICmdLineHandler { + +public: + oeICalStartupHandler(); + virtual ~oeICalStartupHandler(); + + NS_DECL_ISUPPORTS + NS_DECL_NSICMDLINEHANDLER + CMDLINEHANDLER_REGISTERPROC_DECLS +}; + +#endif + diff --git a/mozilla/calendar/libxpical/oeICalStartupHandler.o b/mozilla/calendar/libxpical/oeICalStartupHandler.o new file mode 100644 index 00000000000..7efec20440b Binary files /dev/null and b/mozilla/calendar/libxpical/oeICalStartupHandler.o differ