mtpfws/mtpfw/dataproviders/dataproviderapi/interface/mmtpreferencemgr.h
changeset 0 d0791faffa3f
equal deleted inserted replaced
-1:000000000000 0:d0791faffa3f
       
     1 // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 //
       
    15 
       
    16 /**
       
    17  @file
       
    18  @publishedPartner
       
    19  @released
       
    20 */
       
    21 
       
    22 
       
    23 #ifndef MMTPREFERENCEMGR_H
       
    24 #define MMTPREFERENCEMGR_H
       
    25 
       
    26 #include <badesca.h>
       
    27 #include <e32cmn.h>
       
    28 #include <e32def.h>
       
    29 
       
    30 class CMTPTypeArray;
       
    31 class TMTPTypeUint32;
       
    32 
       
    33 /** 
       
    34 Defines the MTP data provider framework object reference manager interface.
       
    35 
       
    36 @publishedPartner
       
    37 @released
       
    38 */
       
    39 class MMTPReferenceMgr
       
    40     {
       
    41 public:
       
    42     
       
    43     /**
       
    44     Provides an MTP array of the target object handles which are referenced 
       
    45     by the specified source object handle. A pointer to the MTP array is 
       
    46     placed on the cleanup stack.
       
    47     @param aFromHandle The MTP object handle of the source object from which 
       
    48     the references originate.
       
    49     @return The MTP reference target object handle array. Ownership IS transferred.
       
    50     @leave One of the system wide error codes, if a processing failure occurs.
       
    51     */
       
    52     virtual CMTPTypeArray* ReferencesLC(const TMTPTypeUint32& aFromHandle) const = 0;
       
    53     
       
    54     /**
       
    55     Provides an SUID array of the target object SUIDs which are referenced by 
       
    56     the specified source object SUID. A pointer to the SUID array is 
       
    57     placed on the cleanup stack.
       
    58     @param aFromSuid The SUID of the source object from which the references 
       
    59     originate.
       
    60     @return The reference target object SUID array. Ownership IS transferred.
       
    61     @leave One of the system wide error codes, if a processing failure occurs.
       
    62     */
       
    63     virtual CDesCArray* ReferencesLC(const TDesC& aParentSuid) const = 0;
       
    64     
       
    65     /**
       
    66     Removes all object reference links in which the specified SUID represents 
       
    67     either the source or target reference object.
       
    68     @param aSuid The object SUID.
       
    69     @leave One of the system wide error codes, if a processing failure occurs.
       
    70     */
       
    71     virtual void RemoveReferencesL(const TDesC& aSuid) = 0;
       
    72 
       
    73     /**
       
    74     Creates an abstract reference linkage between the specified source and 
       
    75     target object SUIDs.
       
    76     @param aFromSuid The SUID of the source object from which the reference 
       
    77     originates.
       
    78     @param aToSuid The SUID of the target object to which the reference is 
       
    79     made.
       
    80     @leave One of the system wide error codes, if a processing failure occurs.
       
    81     */
       
    82     virtual void SetReferenceL(const TDesC& aFromSuid, const TDesC& aToSuid) = 0;
       
    83     
       
    84     /**
       
    85     Replaces the abstract reference links originating from the specified 
       
    86     source object SUID with the specified set of target object SUIDs.
       
    87     @param aFromSuid The SUID of the source object from which the references 
       
    88     originate.
       
    89     @param aToSuids The reference target object SUID array.
       
    90     @leave One of the system wide error codes, if a processing failure occurs.
       
    91     */
       
    92     virtual void SetReferencesL(const TDesC& aFromSuid, const CDesCArray& aToSuids) = 0;
       
    93     
       
    94     /**
       
    95     Replaces the abstract reference links originating from the specified 
       
    96     source object handle with the specified set of target object handles.
       
    97     @param aFromHandle The MTP object handle of the source object from which 
       
    98     the references originate.
       
    99     @param aToHandles The reference target MTP object handle array.
       
   100     @leave One of the system wide error codes, if a processing failure occurs.
       
   101     */
       
   102     virtual void SetReferencesL(const TMTPTypeUint32& aFromHandle, const CMTPTypeArray& aToHandles) = 0;
       
   103     };
       
   104 #endif // MMTPREFERENCEMGR_H