contentmgmt/contentaccessfwfordrm/source/f32agent/f32agentcontent.cpp
branchRCL_3
changeset 95 641f389e9157
parent 53 030c4fbc13d7
child 96 a71299154b21
equal deleted inserted replaced
92:f18401adf8e1 95:641f389e9157
    40 	self->ConstructL(aFile);
    40 	self->ConstructL(aFile);
    41 	CleanupStack::Pop(self);
    41 	CleanupStack::Pop(self);
    42 	return self;
    42 	return self;
    43 	}
    43 	}
    44 
    44 
       
    45 #ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
       
    46 CF32AgentContent* CF32AgentContent::NewL(const TDesC8& aHeaderData)
       
    47 	{
       
    48 	CF32AgentContent* self = new (ELeave) CF32AgentContent;
       
    49 	CleanupStack::PushL(self);
       
    50 	self->ConstructL(aHeaderData);
       
    51 	CleanupStack::Pop(self);
       
    52 	return self;
       
    53 	}
       
    54 #endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
    45 	
    55 	
    46 CF32AgentContent::CF32AgentContent()
    56 CF32AgentContent::CF32AgentContent()
    47 	{
    57 	{
    48 	}
    58 	}
    49 
    59 
    54 		{
    64 		{
    55 		// file session only created when file is opened by name
    65 		// file session only created when file is opened by name
    56 		iFs.Close();
    66 		iFs.Close();
    57 		}
    67 		}
    58 	delete iURI;
    68 	delete iURI;
       
    69 	
       
    70 #ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT	
       
    71 	delete iHeaderData;
       
    72 #endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
    59 	}
    73 	}
    60   
    74   
    61 void CF32AgentContent::ConstructL(const TDesC& aURI, TContentShareMode aShareMode)
    75 void CF32AgentContent::ConstructL(const TDesC& aURI, TContentShareMode aShareMode)
    62 	{
    76 	{
    63 	iURI = aURI.AllocL();
    77 	iURI = aURI.AllocL();
    71 
    85 
    72 void CF32AgentContent::ConstructL(RFile& aFile)
    86 void CF32AgentContent::ConstructL(RFile& aFile)
    73 	{
    87 	{
    74 	User::LeaveIfError(iFile.Duplicate(aFile));
    88 	User::LeaveIfError(iFile.Duplicate(aFile));
    75 	}
    89 	}
       
    90 
       
    91 #ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT	
       
    92 void CF32AgentContent::ConstructL(const TDesC8& aHeaderData)
       
    93 	{
       
    94 	if(aHeaderData.Length() > 0)
       
    95 		iHeaderData = aHeaderData.AllocL();
       
    96 	else
       
    97 		User::Leave(KErrMissingWmdrmHeaderData);
       
    98 	}
       
    99 #endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
    76 
   100 
    77 TInt CF32AgentContent::OpenContainer(const TDesC&)
   101 TInt CF32AgentContent::OpenContainer(const TDesC&)
    78 	{
   102 	{
    79 	return KErrNotFound;
   103 	return KErrNotFound;
    80 	}
   104 	}
   156 	{
   180 	{
   157 	TRAPD( err, SearchL(aArray, aMimeType, aRecurse) );
   181 	TRAPD( err, SearchL(aArray, aMimeType, aRecurse) );
   158 	return err;
   182 	return err;
   159 	}
   183 	}
   160 
   184 
       
   185 #ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
   161 TInt CF32AgentContent::GetAttribute(TInt aAttribute, TInt& aValue, const TDesC& aUniqueId)
   186 TInt CF32AgentContent::GetAttribute(TInt aAttribute, TInt& aValue, const TDesC& aUniqueId)
   162 	{
   187 	{
       
   188 	
   163 	// check that the unique Id exists
   189 	// check that the unique Id exists
   164 	if(TF32DefaultAttributes::CheckUniqueId(aUniqueId) != KErrNone)
   190 	if(TF32DefaultAttributes::CheckUniqueId(aUniqueId) != KErrNone)
   165 		{
   191 		{
   166 		return KErrNotFound;	
   192 		return KErrNotFound;	
   167 		}
   193 		}
   169 	TInt err = KErrNone;
   195 	TInt err = KErrNone;
   170 	if(iURI)
   196 	if(iURI)
   171 		{
   197 		{
   172 		err = TF32DefaultAttributes::GetAttribute(aAttribute, aValue, *iURI);
   198 		err = TF32DefaultAttributes::GetAttribute(aAttribute, aValue, *iURI);
   173 		}
   199 		}
       
   200 	else if(iHeaderData)
       
   201 		{
       
   202 		err = TF32DefaultAttributes::GetAttribute(*iHeaderData, aAttribute, aValue);
       
   203 		}
   174 	else
   204 	else
   175 		{
   205 		{
   176 		err = TF32DefaultAttributes::GetAttribute(aAttribute, aValue, iFile);
   206 		err = TF32DefaultAttributes::GetAttribute(aAttribute, aValue, iFile);
   177 		}
   207 		}
   178 	return err;
   208 	return err;
   179 	}
   209 	}
   180 
   210 
       
   211 #else
       
   212 TInt CF32AgentContent::GetAttribute(TInt aAttribute, TInt& aValue, const TDesC& aUniqueId)
       
   213 	{
       
   214 	// check that the unique Id exists
       
   215 	if(TF32DefaultAttributes::CheckUniqueId(aUniqueId) != KErrNone)
       
   216 		{
       
   217 		return KErrNotFound;	
       
   218 		}
       
   219 	
       
   220 	TInt err = KErrNone;
       
   221 	if(iURI)
       
   222 		{
       
   223 		err = TF32DefaultAttributes::GetAttribute(aAttribute, aValue, *iURI);
       
   224 		}
       
   225 	else
       
   226 		{
       
   227 		err = TF32DefaultAttributes::GetAttribute(aAttribute, aValue, iFile);
       
   228 		}
       
   229 	return err;
       
   230 	}
       
   231 #endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
       
   232 
       
   233 #ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
   181 
   234 
   182 TInt CF32AgentContent::GetAttributeSet(RAttributeSet& aAttributeSet, const TDesC& aUniqueId)
   235 TInt CF32AgentContent::GetAttributeSet(RAttributeSet& aAttributeSet, const TDesC& aUniqueId)
   183 	{
   236 	{
   184 	// check that the unique Id exists
   237 	// check that the unique Id exists
   185 	if(TF32DefaultAttributes::CheckUniqueId(aUniqueId) != KErrNone)
   238 	if(TF32DefaultAttributes::CheckUniqueId(aUniqueId) != KErrNone)
   190 	TInt err = KErrNone;
   243 	TInt err = KErrNone;
   191 	if(iURI)
   244 	if(iURI)
   192 		{
   245 		{
   193 		err = TF32DefaultAttributes::GetAttributeSet(aAttributeSet, *iURI);
   246 		err = TF32DefaultAttributes::GetAttributeSet(aAttributeSet, *iURI);
   194 		}
   247 		}
       
   248 	else if(iHeaderData)
       
   249 		{
       
   250 		err = TF32DefaultAttributes::GetAttributeSet(*iHeaderData, aAttributeSet);
       
   251 		}
   195 	else
   252 	else
   196 		{
   253 		{
   197 		err = TF32DefaultAttributes::GetAttributeSet(aAttributeSet, iFile);
   254 		err = TF32DefaultAttributes::GetAttributeSet(aAttributeSet, iFile);
   198 		}
   255 		}
   199 	return err;
   256 	return err;
   200 	}
   257 	}
   201 
   258 
       
   259 #else
       
   260 
       
   261 TInt CF32AgentContent::GetAttributeSet(RAttributeSet& aAttributeSet, const TDesC& aUniqueId)
       
   262 	{
       
   263 	// check that the unique Id exists
       
   264 	if(TF32DefaultAttributes::CheckUniqueId(aUniqueId) != KErrNone)
       
   265 		{
       
   266 		return KErrNotFound;	
       
   267 		}
       
   268 		
       
   269 	TInt err = KErrNone;
       
   270 	if(iURI)
       
   271 		{
       
   272 		err = TF32DefaultAttributes::GetAttributeSet(aAttributeSet, *iURI);
       
   273 		}
       
   274 	else
       
   275 		{
       
   276 		err = TF32DefaultAttributes::GetAttributeSet(aAttributeSet, iFile);
       
   277 		}
       
   278 	return err;
       
   279 	}
       
   280 
       
   281 #endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
       
   282 
       
   283 #ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
       
   284 
   202 TInt CF32AgentContent::GetStringAttribute(TInt aAttribute, TDes& aValue, const TDesC& aUniqueId)
   285 TInt CF32AgentContent::GetStringAttribute(TInt aAttribute, TDes& aValue, const TDesC& aUniqueId)
   203 	{
   286 	{
   204 	// check that the unique Id exists
   287 	// check that the unique Id exists
   205 	if(TF32DefaultAttributes::CheckUniqueId(aUniqueId) != KErrNone)
   288 	if(TF32DefaultAttributes::CheckUniqueId(aUniqueId) != KErrNone)
   206 		{
   289 		{
   210 	TInt err = KErrNone;
   293 	TInt err = KErrNone;
   211 	if(iURI)
   294 	if(iURI)
   212 		{
   295 		{
   213 		err = TF32DefaultAttributes::GetStringAttribute(aAttribute, aValue, *iURI);
   296 		err = TF32DefaultAttributes::GetStringAttribute(aAttribute, aValue, *iURI);
   214 		}
   297 		}
       
   298 	else if(iHeaderData)
       
   299 		{
       
   300 		err = TF32DefaultAttributes::GetStringAttribute(*iHeaderData, aAttribute, aValue);
       
   301 		}
   215 	else
   302 	else
   216 		{
   303 		{
   217 		err = TF32DefaultAttributes::GetStringAttribute(aAttribute, aValue, iFile);
   304 		err = TF32DefaultAttributes::GetStringAttribute(aAttribute, aValue, iFile);
   218 		}
   305 		}
   219 	return err;
   306 	return err;
   220 	}
   307 	}
   221 
   308 
       
   309 #else
       
   310 TInt CF32AgentContent::GetStringAttribute(TInt aAttribute, TDes& aValue, const TDesC& aUniqueId)
       
   311 	{
       
   312 	// check that the unique Id exists
       
   313 	if(TF32DefaultAttributes::CheckUniqueId(aUniqueId) != KErrNone)
       
   314 		{
       
   315 		return KErrNotFound;	
       
   316 		}
       
   317 		
       
   318 	TInt err = KErrNone;
       
   319 	if(iURI)
       
   320 		{
       
   321 		err = TF32DefaultAttributes::GetStringAttribute(aAttribute, aValue, *iURI);
       
   322 		}
       
   323 	else
       
   324 		{
       
   325 		err = TF32DefaultAttributes::GetStringAttribute(aAttribute, aValue, iFile);
       
   326 		}
       
   327 	return err;
       
   328 	}
       
   329 #endif
       
   330 
       
   331 #ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
   222 
   332 
   223 TInt CF32AgentContent::GetStringAttributeSet(RStringAttributeSet& aStringAttributeSet, const TDesC& aUniqueId)
   333 TInt CF32AgentContent::GetStringAttributeSet(RStringAttributeSet& aStringAttributeSet, const TDesC& aUniqueId)
   224 	{
   334 	{
   225 	// check that the unique Id exists
   335 	// check that the unique Id exists
   226 	if(TF32DefaultAttributes::CheckUniqueId(aUniqueId) != KErrNone)
   336 	if(TF32DefaultAttributes::CheckUniqueId(aUniqueId) != KErrNone)
   231 	TInt err = KErrNone;
   341 	TInt err = KErrNone;
   232 	if(iURI)
   342 	if(iURI)
   233 		{
   343 		{
   234 		err = TF32DefaultAttributes::GetStringAttributeSet(aStringAttributeSet, *iURI);
   344 		err = TF32DefaultAttributes::GetStringAttributeSet(aStringAttributeSet, *iURI);
   235 		}
   345 		}
       
   346 	else if(iHeaderData)
       
   347 		{
       
   348 		err = TF32DefaultAttributes::GetStringAttributeSet(*iHeaderData, aStringAttributeSet);
       
   349 		}
   236 	else
   350 	else
   237 		{
   351 		{
   238 		err = TF32DefaultAttributes::GetStringAttributeSet(aStringAttributeSet, iFile);
   352 		err = TF32DefaultAttributes::GetStringAttributeSet(aStringAttributeSet, iFile);
   239 		}
   353 		}
   240 	return err;
   354 	return err;
   241 	}
   355 	}
       
   356 
       
   357 #else
       
   358 
       
   359 TInt CF32AgentContent::GetStringAttributeSet(RStringAttributeSet& aStringAttributeSet, const TDesC& aUniqueId)
       
   360 	{
       
   361 	// check that the unique Id exists
       
   362 	if(TF32DefaultAttributes::CheckUniqueId(aUniqueId) != KErrNone)
       
   363 		{
       
   364 		return KErrNotFound;	
       
   365 		}
       
   366 	
       
   367 	TInt err = KErrNone;
       
   368 	if(iURI)
       
   369 		{
       
   370 		err = TF32DefaultAttributes::GetStringAttributeSet(aStringAttributeSet, *iURI);
       
   371 		}
       
   372 	else
       
   373 		{
       
   374 		err = TF32DefaultAttributes::GetStringAttributeSet(aStringAttributeSet, iFile);
       
   375 		}
       
   376 	return err;
       
   377 	}
       
   378 
       
   379 #endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
   242 
   380 
   243 TInt CF32AgentContent::AgentSpecificCommand(TInt , const TDesC8& , TDes8& )
   381 TInt CF32AgentContent::AgentSpecificCommand(TInt , const TDesC8& , TDes8& )
   244 	{
   382 	{
   245 	return KErrCANotSupported;
   383 	return KErrCANotSupported;
   246 	}
   384 	}