×
Namespaces

Variants
Actions

Archived:Sending package buffer between views in Symbian C++

From Nokia Developer Wiki
Jump to: navigation, search

Archived.pngArchived: This article is archived because it is not considered relevant for third-party developers creating commercial solutions today. If you think this article is still relevant, let us know by adding the template {{ReviewForRemovalFromArchive|user=~~~~|write your reason here}}.

Remove from Archive?: This article has been marked for removal from archive, for the following reasons:
I think still valid for current versions of Symbian C++ (Belle). Incorreclty archived

The following example shows how to send package buffer custom messages from a CAknView to another. See also the code snippet Archived:Sending custom message between views using Symbian C++

Article Metadata
Tested with
Devices(s): Nokia N95
Compatibility
Platform(s): S60 3rd Edition, MR
S60 3rd Edition (initial release)
Platform Security
Signing Required: Self-Signed
Capabilities: None
Article
Keywords: CAknViewAppUi, TPckgBuf, CAknView
Created: tepaa (14 May 2008)
Last edited: hamishwillee (28 Sep 2012)

Contents

Header

// Custom message
class TViewParameter
{
public:
TInt32 iId;
TBuf<32> iName;
TTime iDate;
};
 
const TUid KView1Id = {1};
const TUid KView2Id = {2};
const TUid KCustomMessageUid= {2}; // Your custom message uid

Source, sending custom package buffer message

// Create parameter
TViewParameter param;
param.iDate.HomeTime();
param.iId = 1;
param.iName.Copy(_L("Hello"));
 
// Create package buffer
TPckgBuf<TViewParameter> package(param);
 
// Activate another view
AppUi()->ActivateLocalViewL(KView2Id, KCustomMessageUid, package);

Source, receiving custom package buffer message

void CSecondView::DoActivateL(const TVwsViewId& aPrevViewId,
TUid aCustomMessageId, const TDesC8& aCustomMessage)
{
// Create Container
if (!iContainer)
{
iContainer = new (ELeave) CMyViewContainer2;
iContainer->SetMopParent(this);
iContainer->ConstructL( ClientRect() );
AppUi()->AddToStackL( *this, iContainer );
}
 
 
// 1. Check aCustomMessageId to handle aCustomMessage
// 2. You could check aPrevViewId if you were curious to know
// from where this view was called from.
if (aCustomMessageId==KCustomMessageUid)
{
// Create package buffer and copy received parameter in it
TPckgBuf<TViewParameter> package;
package.Copy(aCustomMessage);
 
// Read value from package buffer
TViewParameter param;
param = package();
 
// TODO: Do something with received param data
}
}

Postconditions

Package buffer data sent and received between the two views.

See also

Archived:Sending custom message between views using Symbian C++

This page was last modified on 28 September 2012, at 07:50.
48 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×