homescreensrv_plat/ai_plugin_management_api/inc/hspublisherinfo.h
branchRCL_3
changeset 8 d0529222e3f0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreensrv_plat/ai_plugin_management_api/inc/hspublisherinfo.h	Fri Feb 19 23:07:29 2010 +0200
@@ -0,0 +1,156 @@
+/*
+* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: HS Publisher info
+*
+*/
+
+
+#ifndef _HSPUBLISHERINFO_H
+#define _HSPUBLISHERINFO_H
+
+// System includes
+#include <e32std.h>
+
+// User includes
+
+// Forward declarations
+
+// Constants
+
+/**
+ * Maximum length for Content publisher name.
+ * 
+ * @since S60 5.2
+ */
+const TInt KHsPublisherNameMaxLength( 128 );
+
+/**
+ * Maximum length for Content publisher namespace.
+ * 
+ * @since S60 5.2
+ */
+const TInt KHsPublisherNamespaceMaxLength( 32 );
+
+// Types
+
+/**
+ * Content publisher name buffer.
+ * 
+ * @since S60 5.2 
+ */
+typedef TBuf< KHsPublisherNameMaxLength > THsPublisherName;
+
+/**
+ * Content publisher namespace buffer.
+ *
+ * @since S60 5.2 
+ */
+typedef TBuf8< KHsPublisherNamespaceMaxLength > THsPublisherNamespace;
+
+/**
+ * Content publisher information
+ *
+ * @since S60 5.2
+ */
+
+/**
+ * Holds content publisher plug-in information.
+ * 
+ * @since S60 5.2
+ */
+class THsPublisherInfo
+    {
+public:
+    // Constructors
+    
+    /**
+     * C++ default contrutor
+     */    
+    inline THsPublisherInfo(); 
+
+    /**
+     * C++ contrutor
+     */        
+    inline THsPublisherInfo( const TUid& aUid, 
+        const TDesC& aName, const TDesC8& aNamespace );
+    
+public:
+    // new functions
+    
+    /**
+     * Assigment operator
+     * 
+     * @since S60 5.2
+     * @param aInfo Publisher info to assign.
+     */
+    inline THsPublisherInfo& operator= ( const THsPublisherInfo& aInfo );
+    
+    /**
+     * Equals operator
+     * 
+     * @since S60 5.2
+     * @param aInfo Publisher info  to compare
+     * @return ETrue if this and aInfo equals, EFalse otherwise.
+     */
+    inline TBool operator== ( const THsPublisherInfo& aInfo ) const;
+            
+    /**
+     * Gets Uid
+     * 
+     * @since S60 5.2
+     * @return Uid 
+     */
+    inline TUid Uid() const;
+
+    /**
+     * Gets Name
+     * 
+     * @since S60 5.2
+     * @return Name 
+     */    
+    inline const TDesC& Name() const;
+
+    /**
+     * Gets Namespace
+     * 
+     * @since S60 5.2
+     * @return Namespace
+     */        
+    inline const TDesC8& Namespace() const;
+        
+private:
+    // data
+
+    /** Publisher implementation UID */
+    TUid iUid;
+    /** Publisher name */
+    THsPublisherName iName;
+    /** Publisher namespace */
+    THsPublisherNamespace iNamespace;
+    
+private:
+    // friend classes
+    
+    friend class CAiPluginFactory;
+
+#ifdef _AIFW_UNIT_TEST
+    friend class UT_HsPublisherInfo;
+#endif
+    };
+
+#include <hspublisherinfo.inl>
+
+#endif  // _HSPUBLISHERINFO_H
+
+// End of file