Back to index

lightning-sunbird  0.9+nobinonly
calBaseModule.cpp
Go to the documentation of this file.
00001 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
00002 /* ***** BEGIN LICENSE BLOCK *****
00003  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
00004  *
00005  * The contents of this file are subject to the Mozilla Public License Version
00006  * 1.1 (the "License"); you may not use this file except in compliance with
00007  * the License. You may obtain a copy of the License at
00008  * http://www.mozilla.org/MPL/
00009  *
00010  * Software distributed under the License is distributed on an "AS IS" basis,
00011  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
00012  * for the specific language governing rights and limitations under the
00013  * License.
00014  *
00015  * The Original Code is Oracle Corporation code.
00016  *
00017  * The Initial Developer of the Original Code is
00018  *  Oracle Corporation
00019  * Portions created by the Initial Developer are Copyright (C) 2004
00020  * the Initial Developer. All Rights Reserved.
00021  *
00022  * Contributor(s):
00023  *   Vladimir Vukicevic <vladimir.vukicevic@oracle.com>
00024  *
00025  * Alternatively, the contents of this file may be used under the terms of
00026  * either the GNU General Public License Version 2 or later (the "GPL"), or
00027  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
00028  * in which case the provisions of the GPL or the LGPL are applicable instead
00029  * of those above. If you wish to allow use of your version of this file only
00030  * under the terms of either the GPL or the LGPL, and not to allow others to
00031  * use your version of this file under the terms of the MPL, indicate your
00032  * decision by deleting the provisions above and replace them with the notice
00033  * and other provisions required by the GPL or the LGPL. If you do not delete
00034  * the provisions above, a recipient may use your version of this file under
00035  * the terms of any one of the MPL, the GPL or the LGPL.
00036  *
00037  * ***** END LICENSE BLOCK ***** */
00038 
00039 #include "nsIGenericFactory.h"
00040 
00041 #ifndef MOZILLA_1_8_BRANCH
00042 #include "nsIClassInfoImpl.h"
00043 #endif
00044 
00045 #include "calDateTime.h"
00046 #include "calDuration.h"
00047 #include "calPeriod.h"
00048 #include "calICSService.h"
00049 #include "calRecurrenceRule.h"
00050 #include "calRecurrenceDate.h"
00051 #include "calRecurrenceDateSet.h"
00052 
00053 #include "calBaseCID.h"
00054 
00055 NS_GENERIC_FACTORY_CONSTRUCTOR(calDuration)
00056 NS_DECL_CLASSINFO(calDuration)
00057 
00058 NS_GENERIC_FACTORY_CONSTRUCTOR(calPeriod)
00059 NS_DECL_CLASSINFO(calPeriod)
00060 
00061 NS_GENERIC_FACTORY_CONSTRUCTOR(calRecurrenceRule)
00062 NS_DECL_CLASSINFO(calRecurrenceRule)
00063 
00064 NS_GENERIC_FACTORY_CONSTRUCTOR(calRecurrenceDate)
00065 NS_DECL_CLASSINFO(calRecurrenceDate)
00066 
00067 NS_GENERIC_FACTORY_CONSTRUCTOR(calRecurrenceDateSet)
00068 NS_DECL_CLASSINFO(calRecurrenceDateSet)
00069 
00070 NS_GENERIC_FACTORY_CONSTRUCTOR(calDateTime)
00071 NS_DECL_CLASSINFO(calDateTime)
00072 
00073 NS_GENERIC_FACTORY_CONSTRUCTOR(calICSService)
00074 NS_DECL_CLASSINFO(calICSService)
00075 
00076 static const nsModuleComponentInfo components[] =
00077 {
00078     { "Calendar DateTime Object",
00079       CAL_DATETIME_CID,
00080       CAL_DATETIME_CONTRACTID,
00081       calDateTimeConstructor,
00082       NULL,
00083       NULL,
00084       NULL,
00085       NS_CI_INTERFACE_GETTER_NAME(calDateTime),
00086       NULL,
00087       &NS_CLASSINFO_NAME(calDateTime)
00088     },
00089     { "Calendar Duration Object",
00090       CAL_DURATION_CID,
00091       CAL_DURATION_CONTRACTID,
00092       calDurationConstructor,
00093       NULL,
00094       NULL,
00095       NULL,
00096       NS_CI_INTERFACE_GETTER_NAME(calDuration),
00097       NULL,
00098       &NS_CLASSINFO_NAME(calDuration)
00099     },
00100     { "Calendar Period Object",
00101       CAL_PERIOD_CID,
00102       CAL_PERIOD_CONTRACTID,
00103       calPeriodConstructor,
00104       NULL,
00105       NULL,
00106       NULL,
00107       NS_CI_INTERFACE_GETTER_NAME(calPeriod),
00108       NULL,
00109       &NS_CLASSINFO_NAME(calPeriod)
00110     },
00111     { "ICS parser/serializer",
00112       CAL_ICSSERVICE_CID,
00113       CAL_ICSSERVICE_CONTRACTID,
00114       calICSServiceConstructor,
00115       NULL,
00116       NULL,
00117       NULL,
00118       NS_CI_INTERFACE_GETTER_NAME(calICSService),
00119       NULL,
00120       &NS_CLASSINFO_NAME(calICSService)
00121     },
00122     { "Calendar Recurrence Rule",
00123       CAL_RECURRENCERULE_CID,
00124       CAL_RECURRENCERULE_CONTRACTID,
00125       calRecurrenceRuleConstructor,
00126       NULL,
00127       NULL,
00128       NULL,
00129       NS_CI_INTERFACE_GETTER_NAME(calRecurrenceRule),
00130       NULL,
00131       &NS_CLASSINFO_NAME(calRecurrenceRule)
00132     },
00133     { "Calendar Recurrence Date",
00134       CAL_RECURRENCEDATE_CID,
00135       CAL_RECURRENCEDATE_CONTRACTID,
00136       calRecurrenceDateConstructor,
00137       NULL,
00138       NULL,
00139       NULL,
00140       NS_CI_INTERFACE_GETTER_NAME(calRecurrenceDate),
00141       NULL,
00142       &NS_CLASSINFO_NAME(calRecurrenceDate)
00143     },
00144     { "Calendar Recurrence Date Set",
00145       CAL_RECURRENCEDATESET_CID,
00146       CAL_RECURRENCEDATESET_CONTRACTID,
00147       calRecurrenceDateSetConstructor,
00148       NULL,
00149       NULL,
00150       NULL,
00151       NS_CI_INTERFACE_GETTER_NAME(calRecurrenceDateSet),
00152       NULL,
00153       &NS_CLASSINFO_NAME(calRecurrenceDateSet)
00154     }
00155 };
00156 
00157 NS_IMPL_NSGETMODULE(calBaseModule, components)