williamr@4: // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@4: // All rights reserved. williamr@4: // This component and the accompanying materials are made available williamr@4: // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members williamr@4: // which accompanies this distribution, and is available williamr@4: // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@4: // williamr@4: // Initial Contributors: williamr@4: // Nokia Corporation - initial contribution. williamr@4: // williamr@4: // Contributors: williamr@4: // williamr@4: // Description: williamr@4: // Defines ECOM-plugin related classes used accross the Core Dump client/server interface williamr@4: // williamr@4: williamr@4: williamr@4: williamr@4: /** williamr@4: @file williamr@4: @publishedPartner williamr@4: @released williamr@4: */ williamr@4: williamr@4: #ifndef PLUGINDATA_H williamr@4: #define PLUGINDATA_H williamr@4: williamr@4: /** williamr@4: @publishedPartner williamr@4: @released williamr@4: williamr@4: Class used between Core Dump Server and its clients to request williamr@4: the server to carry out actions on plugins, such as load/unload. williamr@4: @see CCrashConfig::LoadPlugin() williamr@4: */ williamr@4: class TPluginRequest williamr@4: { williamr@4: public: williamr@4: williamr@4: /** williamr@4: Type of plugin to request williamr@4: */ williamr@4: enum TPluginType williamr@4: { williamr@4: /** A formatter plugin */ williamr@4: EFormatter, williamr@4: /** A writer plugin */ williamr@4: EWriter williamr@4: }; williamr@4: williamr@4: williamr@4: /** Whether to load or unload the plugin */ williamr@4: TBool iLoad; williamr@4: williamr@4: /** Type of plugin */ williamr@4: TPluginType iPluginType; williamr@4: williamr@4: /** @internalTechnology */ williamr@4: TUint iIndex; williamr@4: williamr@4: /** Plugin UID, used to check correct plugin */ williamr@4: TUid iUid; williamr@4: williamr@4: /** @internalTechnology */ williamr@4: TUint32 iSpare1; williamr@4: williamr@4: /** @internalTechnology */ williamr@4: TUint32 iSpare2; williamr@4: }; williamr@4: williamr@4: williamr@4: /** Maximum length allowed for a plugin's name */ williamr@4: #define KPluginNameLength (50) williamr@4: williamr@4: /** Maximum length allowed for a plugin's description */ williamr@4: #define KPluginDescriptionLength (250) williamr@4: williamr@4: /** williamr@4: @publishedPartner williamr@4: @released williamr@4: williamr@4: Detailed information about a plugin. williamr@4: @see RPluginList williamr@4: @see TPluginInfoBlock williamr@4: */ williamr@4: class TPluginInfo williamr@4: { williamr@4: public: williamr@4: williamr@4: /** Plugin's own version. williamr@4: From rss file::IMPLEMENTATION_INFO::version_no */ williamr@4: TUint iVersion; williamr@4: williamr@4: /** Plugin's unique UID. williamr@4: From rss file::IMPLEMENTATION_INFO::implementation_uid */ williamr@4: TUid iUid; williamr@4: williamr@4: /** Plugin's own name. williamr@4: From rss file::IMPLEMENTATION_INFO::display_name */ williamr@4: TBufC iName; williamr@4: williamr@4: /** Plugin's own description obtained from williamr@4: CCoreDumpFormatter->GetDescription() williamr@4: @see CCoreDumpFormatter */ williamr@4: TBufC iDescription; williamr@4: williamr@4: /** Plugin type : from TPluginRequest::TPluginType */ williamr@4: TPluginRequest::TPluginType iType; williamr@4: williamr@4: /** Plugin loaded state. */ williamr@4: TBool iLoaded; williamr@4: williamr@4: /** Reserved for future use williamr@4: @internalTechnology */ williamr@4: TUint32 iSpare1; williamr@4: williamr@4: /** @internalTechnology */ williamr@4: TUint32 iSpare2; williamr@4: }; williamr@4: williamr@4: williamr@4: /** williamr@4: @publishedPartner williamr@4: @released williamr@4: williamr@4: List of TPluginInfo objects. williamr@4: @see TPluginInfo williamr@4: @see RArray williamr@4: */ williamr@4: typedef RArray RPluginList; williamr@4: williamr@4: williamr@4: williamr@4: #endif