blob: 2ad40c645c55c15025b100213e4ccc4364d48656 [file] [log] [blame]
/*
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.motorolamobility.preflighting.core;
import java.util.HashSet;
import java.util.Set;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import com.motorolamobility.preflighting.core.logging.PreflightingLogger;
/**
* This is the PLugin's Activator. It is responsible for initializing
* this plug-in.
*/
public class PreflightingCorePlugin implements BundleActivator
{
/**
* This is the unique identifier of this plugin.
*/
public static final String PLUGIN_ID = "com.motorolamobility.preflighting.core"; //$NON-NLS-1$
private static BundleContext context;
private static PreflightingCorePlugin plugin;
private static Set<String> availableMarkers;
/**
* Default constructor.
*/
public PreflightingCorePlugin()
{
plugin = this;
availableMarkers = new HashSet<String>();
}
/**
* Retrieve the {@link BundleContext} of this plug-in.
*
* @return Returns the {@link BundleContext} of this plug-in.
*/
public static BundleContext getContext()
{
return context;
}
/**
* Retrieves an instance of this plug-in.
*
* @return Returns an instance of this plug-in.
*/
public static PreflightingCorePlugin getInstance()
{
return plugin;
}
/**
* Start this plug-in.
*
* @param bundleContext {@link BundleContext} to be used with
* this plug-in.
*
* @throws Exception Exception thrown when there is an error
* starting this plug-in.
*
* @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
*/
public void start(BundleContext bundleContext) throws Exception
{
PreflightingCorePlugin.context = bundleContext;
PreflightingLogger.debug(PreflightingCorePlugin.class,
"Starting Preflighting Core Plugin...");
PreflightingLogger.debug(PreflightingCorePlugin.class,
"Preflighting Core Plugin started...");
}
/**
* Stop this plug-in.
*
* @param bundleContext {@link BundleContext} used with this plug-in.
*
* @throws Exception Exception thrown when there is an error stopping this plug-in.
*
* @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
*/
public void stop(BundleContext bundleContext) throws Exception
{
PreflightingCorePlugin.context = null;
}
public static boolean addAvailableMarker(String markerType)
{
return PreflightingCorePlugin.availableMarkers.add(markerType);
}
public static Set<String> getAvailableMarkers()
{
return PreflightingCorePlugin.availableMarkers;
}
}