contentmgmt/contentaccessfwfordrm/source/f32agent/f32agentcontent.cpp
changeset 15 da2ae96f639b
parent 8 35751d3474b7
child 33 cf642210ecb7
equal deleted inserted replaced
10:afc583cfa176 15:da2ae96f639b
    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
       
    55 	
    45 CF32AgentContent::CF32AgentContent()
    56 CF32AgentContent::CF32AgentContent()
    46 	{
    57 	{
    47 	}
    58 	}
    48 
    59 
    49 CF32AgentContent::~CF32AgentContent()
    60 CF32AgentContent::~CF32AgentContent()
    53 		{
    64 		{
    54 		// file session only created when file is opened by name
    65 		// file session only created when file is opened by name
    55 		iFs.Close();
    66 		iFs.Close();
    56 		}
    67 		}
    57 	delete iURI;
    68 	delete iURI;
       
    69 	
       
    70 #ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT	
       
    71 	delete iHeaderData;
       
    72 #endif //SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
    58 	}
    73 	}
    59   
    74   
    60 void CF32AgentContent::ConstructL(const TDesC& aURI, TContentShareMode aShareMode)
    75 void CF32AgentContent::ConstructL(const TDesC& aURI, TContentShareMode aShareMode)
    61 	{
    76 	{
    62 	iURI = aURI.AllocL();
    77 	iURI = aURI.AllocL();
    70 
    85 
    71 void CF32AgentContent::ConstructL(RFile& aFile)
    86 void CF32AgentContent::ConstructL(RFile& aFile)
    72 	{
    87 	{
    73 	User::LeaveIfError(iFile.Duplicate(aFile));
    88 	User::LeaveIfError(iFile.Duplicate(aFile));
    74 	}
    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
    75 
   100 
    76 TInt CF32AgentContent::OpenContainer(const TDesC&)
   101 TInt CF32AgentContent::OpenContainer(const TDesC&)
    77 	{
   102 	{
    78 	return KErrNotFound;
   103 	return KErrNotFound;
    79 	}
   104 	}
   155 	{
   180 	{
   156 	TRAPD( err, SearchL(aArray, aMimeType, aRecurse) );
   181 	TRAPD( err, SearchL(aArray, aMimeType, aRecurse) );
   157 	return err;
   182 	return err;
   158 	}
   183 	}
   159 
   184 
       
   185 #ifdef SYMBIAN_ENABLE_SDP_WMDRM_SUPPORT
   160 TInt CF32AgentContent::GetAttribute(TInt aAttribute, TInt& aValue, const TDesC& aUniqueId)
   186 TInt CF32AgentContent::GetAttribute(TInt aAttribute, TInt& aValue, const TDesC& aUniqueId)
   161 	{
   187 	{
       
   188 	
   162 	// check that the unique Id exists
   189 	// check that the unique Id exists
   163 	if(TF32DefaultAttributes::CheckUniqueId(aUniqueId) != KErrNone)
   190 	if(TF32DefaultAttributes::CheckUniqueId(aUniqueId) != KErrNone)
   164 		{
   191 		{
   165 		return KErrNotFound;	
   192 		return KErrNotFound;	
   166 		}
   193 		}
   168 	TInt err = KErrNone;
   195 	TInt err = KErrNone;
   169 	if(iURI)
   196 	if(iURI)
   170 		{
   197 		{
   171 		err = TF32DefaultAttributes::GetAttribute(aAttribute, aValue, *iURI);
   198 		err = TF32DefaultAttributes::GetAttribute(aAttribute, aValue, *iURI);
   172 		}
   199 		}
       
   200 	else if(iHeaderData)
       
   201 		{
       
   202 		err = TF32DefaultAttributes::GetAttribute(*iHeaderData, aAttribute, aValue);
       
   203 		}
   173 	else
   204 	else
   174 		{
   205 		{
   175 		err = TF32DefaultAttributes::GetAttribute(aAttribute, aValue, iFile);
   206 		err = TF32DefaultAttributes::GetAttribute(aAttribute, aValue, iFile);
   176 		}
   207 		}
   177 	return err;
   208 	return err;
   178 	}
   209 	}
   179 
   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
       
   234 
   180 TInt CF32AgentContent::GetAttributeSet(RAttributeSet& aAttributeSet, const TDesC& aUniqueId)
   235 TInt CF32AgentContent::GetAttributeSet(RAttributeSet& aAttributeSet, const TDesC& aUniqueId)
   181 	{
   236 	{
   182 	// check that the unique Id exists
   237 	// check that the unique Id exists
   183 	if(TF32DefaultAttributes::CheckUniqueId(aUniqueId) != KErrNone)
   238 	if(TF32DefaultAttributes::CheckUniqueId(aUniqueId) != KErrNone)
   184 		{
   239 		{
   188 	TInt err = KErrNone;
   243 	TInt err = KErrNone;
   189 	if(iURI)
   244 	if(iURI)
   190 		{
   245 		{
   191 		err = TF32DefaultAttributes::GetAttributeSet(aAttributeSet, *iURI);
   246 		err = TF32DefaultAttributes::GetAttributeSet(aAttributeSet, *iURI);
   192 		}
   247 		}
       
   248 	else if(iHeaderData)
       
   249 		{
       
   250 		err = TF32DefaultAttributes::GetAttributeSet(*iHeaderData, aAttributeSet);
       
   251 		}
   193 	else
   252 	else
   194 		{
   253 		{
   195 		err = TF32DefaultAttributes::GetAttributeSet(aAttributeSet, iFile);
   254 		err = TF32DefaultAttributes::GetAttributeSet(aAttributeSet, iFile);
   196 		}
   255 		}
   197 	return err;
   256 	return err;
   198 	}
   257 	}
   199 
   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 
   200 TInt CF32AgentContent::GetStringAttribute(TInt aAttribute, TDes& aValue, const TDesC& aUniqueId)
   285 TInt CF32AgentContent::GetStringAttribute(TInt aAttribute, TDes& aValue, const TDesC& aUniqueId)
   201 	{
   286 	{
   202 	// check that the unique Id exists
   287 	// check that the unique Id exists
   203 	if(TF32DefaultAttributes::CheckUniqueId(aUniqueId) != KErrNone)
   288 	if(TF32DefaultAttributes::CheckUniqueId(aUniqueId) != KErrNone)
   204 		{
   289 		{
   208 	TInt err = KErrNone;
   293 	TInt err = KErrNone;
   209 	if(iURI)
   294 	if(iURI)
   210 		{
   295 		{
   211 		err = TF32DefaultAttributes::GetStringAttribute(aAttribute, aValue, *iURI);
   296 		err = TF32DefaultAttributes::GetStringAttribute(aAttribute, aValue, *iURI);
   212 		}
   297 		}
       
   298 	else if(iHeaderData)
       
   299 		{
       
   300 		err = TF32DefaultAttributes::GetStringAttribute(*iHeaderData, aAttribute, aValue);
       
   301 		}
   213 	else
   302 	else
   214 		{
   303 		{
   215 		err = TF32DefaultAttributes::GetStringAttribute(aAttribute, aValue, iFile);
   304 		err = TF32DefaultAttributes::GetStringAttribute(aAttribute, aValue, iFile);
   216 		}
   305 		}
   217 	return err;
   306 	return err;
   218 	}
   307 	}
   219 
   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
       
   332 
   220 TInt CF32AgentContent::GetStringAttributeSet(RStringAttributeSet& aStringAttributeSet, const TDesC& aUniqueId)
   333 TInt CF32AgentContent::GetStringAttributeSet(RStringAttributeSet& aStringAttributeSet, const TDesC& aUniqueId)
   221 	{
   334 	{
   222 	// check that the unique Id exists
   335 	// check that the unique Id exists
   223 	if(TF32DefaultAttributes::CheckUniqueId(aUniqueId) != KErrNone)
   336 	if(TF32DefaultAttributes::CheckUniqueId(aUniqueId) != KErrNone)
   224 		{
   337 		{
   228 	TInt err = KErrNone;
   341 	TInt err = KErrNone;
   229 	if(iURI)
   342 	if(iURI)
   230 		{
   343 		{
   231 		err = TF32DefaultAttributes::GetStringAttributeSet(aStringAttributeSet, *iURI);
   344 		err = TF32DefaultAttributes::GetStringAttributeSet(aStringAttributeSet, *iURI);
   232 		}
   345 		}
       
   346 	else if(iHeaderData)
       
   347 		{
       
   348 		err = TF32DefaultAttributes::GetStringAttributeSet(*iHeaderData, aStringAttributeSet);
       
   349 		}
   233 	else
   350 	else
   234 		{
   351 		{
   235 		err = TF32DefaultAttributes::GetStringAttributeSet(aStringAttributeSet, iFile);
   352 		err = TF32DefaultAttributes::GetStringAttributeSet(aStringAttributeSet, iFile);
   236 		}
   353 		}
   237 	return err;
   354 	return err;
   238 	}
   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
   239 
   380 
   240 TInt CF32AgentContent::AgentSpecificCommand(TInt , const TDesC8& , TDes8& )
   381 TInt CF32AgentContent::AgentSpecificCommand(TInt , const TDesC8& , TDes8& )
   241 	{
   382 	{
   242 	return KErrCANotSupported;
   383 	return KErrCANotSupported;
   243 	}
   384 	}