void CBBSubSessionImpl::Deleted(const TTupleName& aName, const TDesC& aSubName)
{
	CALLSTACKITEM_N(_CL("CBBSubSessionImpl"), _CL("NewValue"));

	TItem t(0, aName, aSubName, KNoComponent, 0);
	iPending->AppendL(t);
	Async();
}
void CBBSubSessionImpl::NewValue(TUint aId, const TTupleName& aTupleName, const TDesC& aSubName, const TComponentName& aComponentName, 
	const CRefCountedData* aData)
{
	CALLSTACKITEM_N(_CL("CBBSubSessionImpl"), _CL("NewValue"));

	TItem t(aId, aTupleName, aSubName, aComponentName, aData);
	iPending->AppendL(t);
	t.iData->AddRef();
	Async();
}
void CSmsSnapshotImpl::expired(CBase* /*Source*/)
{
	CALLSTACKITEM_N(_CL("CSmsSnapshotImpl"), _CL("expired"));

	iToBeSend->AppendL(TSendTo(KNullDesC, _L("automatic snapshot")));

	cb->status_change(_L("taking picture"));
	iSnapShot->TakeSnapShot(DataDir(), this);

	if (iInterval>0) iTimer->Wait(iInterval);
}
void CUploadViewImpl::Prompt(const TDesC& FileName, MUploadCallBack* CallBack)
{
	CALLSTACKITEM_N(_CL("CUploadViewImpl"), _CL("Prompt"));
	*iNextViewId=TVwsViewId();

	if (!iCallBack) {
		iFileName=FileName;
		iCallBack=CallBack;
		if (iContainer) iNext=true;
		else AppUi()->ActivateLocalViewL(iId);
	} else {
		iCallBacks->AppendL(TCallBackItem(FileName, CallBack));
	}
}
void CBBListenerImpl::IncomingTuple(const CBBTuple* aTuple)
{
	iTimer->Wait(KMaxAckInterval);

	TTupleName tn= { aTuple->iTupleMeta.iModuleUid(), aTuple->iTupleMeta.iModuleId() };

	auto_ptr<HBufC8> serialized(HBufC8::NewL(1024));

	if (! iSeenIds->SeenIdL(aTuple->iTupleId()) ) {
		PutTupleL(tn, aTuple->iTupleMeta.iSubName(),
			aTuple->iData(), aTuple->iExpires());
		iSeenIds->SetAsSeenL(aTuple->iTupleId());
	}

	iToAck->AppendL(aTuple->iTupleId());
}
bool CSmsSnapshotImpl::handle_reception(const TMsvId& , 
										const TMsvId& , const TDesC& sender, 
										const TDesC& body)
{
	CALLSTACKITEM_N(_CL("CSmsSnapshotImpl"), _CL("handle_reception"));


	 // return true if message is to be deleted
	if (!iEnabled) return false;
	//if (sender.Length()<4) return false;
	iToBeSend->AppendL(TSendTo(sender, body));

	cb->status_change(_L("taking picture"));
	iSnapShot->TakeSnapShot(DataDir(), this);

	return true;
}