--- a/uiacceltk/hitchcock/plugins/alftranseffect/alftranseffectplugin/src/alfpolicyhandler.cpp Tue Feb 02 07:56:43 2010 +0200
+++ b/uiacceltk/hitchcock/plugins/alftranseffect/alftranseffectplugin/src/alfpolicyhandler.cpp Mon Feb 22 17:57:49 2010 +0200
@@ -24,12 +24,12 @@
// ======== HELPER CLASS ========
NONSHARABLE_CLASS(TFullScreenBlock)
- {
+ {
public:
- TUid iFromUid;
- TUid iToUid;
+ TUid iFromUid;
+ TUid iToUid;
- };
+ };
// ======== MEMBER FUNCTIONS ========
@@ -69,128 +69,128 @@
// ---------------------------------------------------------------------------
//
void CPolicyHandler::RegisterListBoxKmlL( const TUid& aUid,
- const TThreadId& aThreadId,
+ const TThreadId& aThreadId,
const CAlfTransitionServerClient::TListBoxType aListBoxType,
const TDesC& aResourceDir,
- const TDesC& aBackgroundFilename,
- const TDesC& aItemFilename,
- TInt aCachePriority,
- TInt aWantedTime , TInt aMinTime )
+ const TDesC& aBackgroundFilename,
+ const TDesC& aItemFilename,
+ TInt aCachePriority,
+ TInt aWantedTime , TInt aMinTime )
{
__ALFFXLOGSTRING2("CPolicyHandler::RegisterListBoxKmlL - aUid 0x%x, aThreadId >>", aUid, aThreadId.Id());
- aCachePriority = 1;
- // For now, the cache priority is always 1 at registration time, and after
- // fetching the KML information from the policy, it gets set to 0. This is
- // used to trigger eviction from the KML cache. Newly registered KML:s have
- // priority over existing...
- CListBoxPolicy* policy = CListBoxPolicy::NewL( aUid,
- aThreadId,
- aListBoxType,
- aResourceDir,
+ aCachePriority = 1;
+ // For now, the cache priority is always 1 at registration time, and after
+ // fetching the KML information from the policy, it gets set to 0. This is
+ // used to trigger eviction from the KML cache. Newly registered KML:s have
+ // priority over existing...
+ CListBoxPolicy* policy = CListBoxPolicy::NewL( aUid,
+ aThreadId,
+ aListBoxType,
+ aResourceDir,
aBackgroundFilename,
aItemFilename,
aCachePriority,
aWantedTime,
aMinTime );
- CleanupStack::PushL( policy );
- TInt spec = policy->Specificity();
- TInt count = iListBoxPolicies.Count();
- TInt uid = aUid.iUid;
- TInt i;
-
- // This keeps the list with ListBox KMLs sorted after specifity,
- // High specificity is in the beginning of the list and low at the end.
- // This means that when getting a ListBox KML it will find the more specified
- // values first. A Uid counts as more specific than a TListBoxType.
-
- for ( i = 0; i < count; i++ )
- {
- CListBoxPolicy* curr = iListBoxPolicies[i];
- TInt currspec = curr->Specificity();
-
- if ( uid == curr->Uid().iUid && aListBoxType == curr->ListBoxType() )
- {
- // Duplicate policy, delete the old one.
- iListBoxPolicies.Remove( i );
- delete curr;
- break;
- }
- else if ( spec > currspec )
- {
- break;
- }
- }
+ CleanupStack::PushL( policy );
+ TInt spec = policy->Specificity();
+ TInt count = iListBoxPolicies.Count();
+ TInt uid = aUid.iUid;
+ TInt i;
+
+ // This keeps the list with ListBox KMLs sorted after specifity,
+ // High specificity is in the beginning of the list and low at the end.
+ // This means that when getting a ListBox KML it will find the more specified
+ // values first. A Uid counts as more specific than a TListBoxType.
+
+ for ( i = 0; i < count; i++ )
+ {
+ CListBoxPolicy* curr = iListBoxPolicies[i];
+ TInt currspec = curr->Specificity();
+
+ if ( uid == curr->Uid().iUid && aListBoxType == curr->ListBoxType() )
+ {
+ // Duplicate policy, delete the old one.
+ iListBoxPolicies.Remove( i );
+ delete curr;
+ break;
+ }
+ else if ( spec > currspec )
+ {
+ break;
+ }
+ }
iListBoxPolicies.InsertL( policy, i );
CleanupStack::Pop();
__ALFFXLOGSTRING("CPolicyHandler::RegisterListBoxKmlL <<");
- }
-
+ }
+
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
TInt CPolicyHandler::UnregisterListBoxKml( const TUid& aUid,
CAlfTransitionServerClient::TListBoxType aListBoxType )
- {
- __ALFFXLOGSTRING1("CPolicyHandler::UnregisterListBoxKml - Uid: 0x%x >>", aUid);
- for( TInt count = iListBoxPolicies.Count() - 1 ; count >= 0; count-- )
- {
- if( iListBoxPolicies[count]->Uid() == aUid &&
- iListBoxPolicies[count]->ListBoxType() == aListBoxType )
- {
- delete iListBoxPolicies[count];
- iListBoxPolicies.Remove( count );
- __ALFFXLOGSTRING("CPolicyHandler::UnregisterListBoxKml - return KErrNone<<");
- return KErrNone;
- }
- }
- __ALFFXLOGSTRING("CPolicyHandler::UnregisterListBoxKml - return KErrNotFound <<");
- return KErrNotFound;
- }
+ {
+ __ALFFXLOGSTRING1("CPolicyHandler::UnregisterListBoxKml - Uid: 0x%x >>", aUid);
+ for( TInt count = iListBoxPolicies.Count() - 1 ; count >= 0; count-- )
+ {
+ if( iListBoxPolicies[count]->Uid() == aUid &&
+ iListBoxPolicies[count]->ListBoxType() == aListBoxType )
+ {
+ delete iListBoxPolicies[count];
+ iListBoxPolicies.Remove( count );
+ __ALFFXLOGSTRING("CPolicyHandler::UnregisterListBoxKml - return KErrNone<<");
+ return KErrNone;
+ }
+ }
+ __ALFFXLOGSTRING("CPolicyHandler::UnregisterListBoxKml - return KErrNotFound <<");
+ return KErrNotFound;
+ }
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
TInt CPolicyHandler::UnregisterListBoxKml( const TThreadId& aThreadId )
- {
- __ALFFXLOGSTRING1("CPolicyHandler::UnregisterListBoxKml - aThreadId: %d >>", aThreadId.Id());
- TThreadId tid;
- TInt err = KErrNotFound;
-
- for( TInt count = iListBoxPolicies.Count() - 1 ; count >= 0; count-- )
- {
- tid = iListBoxPolicies[count]->ThreadId();
- if( tid.Id() == aThreadId.Id() )
- {
- delete iListBoxPolicies[count];
- iListBoxPolicies.Remove( count );
- err = KErrNone;
- }
- }
- __ALFFXLOGSTRING1("CPolicyHandler::UnregisterListBoxKml - return: %d <<", err);
- return err;
- }
-
+ {
+ __ALFFXLOGSTRING1("CPolicyHandler::UnregisterListBoxKml - aThreadId: %d >>", aThreadId.Id());
+ TThreadId tid;
+ TInt err = KErrNotFound;
+
+ for( TInt count = iListBoxPolicies.Count() - 1 ; count >= 0; count-- )
+ {
+ tid = iListBoxPolicies[count]->ThreadId();
+ if( tid.Id() == aThreadId.Id() )
+ {
+ delete iListBoxPolicies[count];
+ iListBoxPolicies.Remove( count );
+ err = KErrNone;
+ }
+ }
+ __ALFFXLOGSTRING1("CPolicyHandler::UnregisterListBoxKml - return: %d <<", err);
+ return err;
+ }
+
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
-TInt CPolicyHandler::GetListBoxKml( const TUid& aAppId,
+TInt CPolicyHandler::GetListBoxKml( const TUid& aAppId,
const CAlfTransitionServerClient::TListBoxType aListBoxType,
TPtrC& aResourceDir,
TPtrC& aBackgroundFilename,
TPtrC& aItemFilename,
TInt& aCachePriority, TInt& aWantedTime,
- TInt& aMinTime)
- {
- __ALFFXLOGSTRING3("CPolicyHandler::GetListBoxKml - aResourceDir: %S, aBackgroundFilename: %S, aItemFilename: %S >>", &aResourceDir, &aBackgroundFilename, &aItemFilename);
- TInt count = iListBoxPolicies.Count();
- TBool hit = EFalse;
- TInt i;
+ TInt& aMinTime)
+ {
+ __ALFFXLOGSTRING3("CPolicyHandler::GetListBoxKml - aResourceDir: %S, aBackgroundFilename: %S, aItemFilename: %S >>", &aResourceDir, &aBackgroundFilename, &aItemFilename);
+ TInt count = iListBoxPolicies.Count();
+ TBool hit = EFalse;
+ TInt i;
aResourceDir.Set( TPtrC() );
aBackgroundFilename.Set( TPtrC() );
aItemFilename.Set( TPtrC() );
-
+
for ( i = 0; i < count; i++ )
{
CListBoxPolicy* curr = iListBoxPolicies[i];
@@ -212,127 +212,127 @@
return KErrNotFound;
}
- aResourceDir.Set( iListBoxPolicies[i]->ResourceDir() );
- aBackgroundFilename.Set( iListBoxPolicies[i]->BackgroundFilename() );
- aItemFilename.Set( iListBoxPolicies[i]->ItemFilename() );
- aCachePriority = iListBoxPolicies[i]->CachePriority();
- aWantedTime = iListBoxPolicies[i]->WantedTime();
- aMinTime = iListBoxPolicies[i]->MinTime();
-
- // For now, this entry should have no priority over others
- iListBoxPolicies[i]->SetCachePriority( 0 );
- __ALFFXLOGSTRING("CPolicyHandler::GetListBoxKml - return KErrNone <<");
- return KErrNone;
- }
+ aResourceDir.Set( iListBoxPolicies[i]->ResourceDir() );
+ aBackgroundFilename.Set( iListBoxPolicies[i]->BackgroundFilename() );
+ aItemFilename.Set( iListBoxPolicies[i]->ItemFilename() );
+ aCachePriority = iListBoxPolicies[i]->CachePriority();
+ aWantedTime = iListBoxPolicies[i]->WantedTime();
+ aMinTime = iListBoxPolicies[i]->MinTime();
+
+ // For now, this entry should have no priority over others
+ iListBoxPolicies[i]->SetCachePriority( 0 );
+ __ALFFXLOGSTRING("CPolicyHandler::GetListBoxKml - return KErrNone <<");
+ return KErrNone;
+ }
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
void CPolicyHandler::RegisterFullscreenKmlL(TUint aAction, const TUid& aUid, const TThreadId& aThreadId,
- const TDesC& aResourceDir, const TDesC& aFilename,
- TInt /*aCachePriority*/, TInt aWantedTime, TInt aMinTime)
- {
- __ALFFXLOGSTRING3("CPolicyHandler::RegisterFullscreenKmlL - aAction: %d aUid: 0x%x aThread.Id : %d", aAction, aUid, aThreadId.Id() );
- __ALFFXLOGSTRING2("CPolicyHandler::RegisterFullscreenKmlL - aResourceDir: %S, aFilename: %S", &aResourceDir, &aFilename );
- TInt cachePriority = 1; //aCachePriority;
- // For now, the cache priority is always 1 at registration time, and after
- // fetching the KML information from the policy, it gets set to 0. This is
- // used to trigger eviction from the KML cache. Newly registered KML:s have
- // priority over existing...
-
- CFullscreenPolicy* policy = NULL;
-
- // Check if the action was already is registered and if so, delete it.
- TInt count = iFullscreenPolicies.Count()-1;
- for(; count >= 0; count--)
- {
- if( iFullscreenPolicies[count]->Action() == aAction &&
- iFullscreenPolicies[count]->Uid() == aUid)
- {
- policy = iFullscreenPolicies[count];
- iFullscreenPolicies.Remove(count);
- delete policy;
- policy = NULL;
- }
- }
+ const TDesC& aResourceDir, const TDesC& aFilename,
+ TInt /*aCachePriority*/, TInt aWantedTime, TInt aMinTime)
+ {
+ __ALFFXLOGSTRING3("CPolicyHandler::RegisterFullscreenKmlL - aAction: %d aUid: 0x%x aThread.Id : %d", aAction, aUid, aThreadId.Id() );
+ __ALFFXLOGSTRING2("CPolicyHandler::RegisterFullscreenKmlL - aResourceDir: %S, aFilename: %S", &aResourceDir, &aFilename );
+ TInt cachePriority = 1; //aCachePriority;
+ // For now, the cache priority is always 1 at registration time, and after
+ // fetching the KML information from the policy, it gets set to 0. This is
+ // used to trigger eviction from the KML cache. Newly registered KML:s have
+ // priority over existing...
+
+ CFullscreenPolicy* policy = NULL;
+
+ // Check if the action was already is registered and if so, delete it.
+ TInt count = iFullscreenPolicies.Count()-1;
+ for(; count >= 0; count--)
+ {
+ if( iFullscreenPolicies[count]->Action() == aAction &&
+ iFullscreenPolicies[count]->Uid() == aUid)
+ {
+ policy = iFullscreenPolicies[count];
+ iFullscreenPolicies.Remove(count);
+ delete policy;
+ policy = NULL;
+ }
+ }
- // create and add the new action.
- policy = CFullscreenPolicy::NewL(aAction, aUid, aThreadId, aResourceDir, aFilename,
- cachePriority, aWantedTime, aMinTime);
- CleanupStack::PushL(policy);
- iFullscreenPolicies.AppendL(policy);
- CleanupStack::Pop(policy);
- __ALFFXLOGSTRING("CPolicyHandler::RegisterFullscreenKmlL <<");
- }
-
+ // create and add the new action.
+ policy = CFullscreenPolicy::NewL(aAction, aUid, aThreadId, aResourceDir, aFilename,
+ cachePriority, aWantedTime, aMinTime);
+ CleanupStack::PushL(policy);
+ iFullscreenPolicies.AppendL(policy);
+ CleanupStack::Pop(policy);
+ __ALFFXLOGSTRING("CPolicyHandler::RegisterFullscreenKmlL <<");
+ }
+
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
TInt CPolicyHandler::UnregisterFullscreenKml(TUint aAction, const TUid& aUid)
- {
- __ALFFXLOGSTRING2("CPolicyHandler::UnregisterFullscreenKml - aAction: %d, aUid: 0x%x <<", aAction, aUid );
- TInt count = iFullscreenPolicies.Count() -1;
- for(; count >= 0; count--)
- {
- if(iFullscreenPolicies[count]->Action() == aAction &&
- iFullscreenPolicies[count]->Uid() == aUid)
- {
- CFullscreenPolicy* policy = iFullscreenPolicies[count];
- iFullscreenPolicies.Remove(count);
- delete policy;
- policy = NULL;
- __ALFFXLOGSTRING("CPolicyHandler::UnregisterFullscreenKml - return KErrNone <<");
- return KErrNone;
- }
- }
- __ALFFXLOGSTRING("CPolicyHandler::UnregisterFullscreenKml - return KErrNotFound <<");
- return KErrNotFound;
- }
+ {
+ __ALFFXLOGSTRING2("CPolicyHandler::UnregisterFullscreenKml - aAction: %d, aUid: 0x%x <<", aAction, aUid );
+ TInt count = iFullscreenPolicies.Count() -1;
+ for(; count >= 0; count--)
+ {
+ if(iFullscreenPolicies[count]->Action() == aAction &&
+ iFullscreenPolicies[count]->Uid() == aUid)
+ {
+ CFullscreenPolicy* policy = iFullscreenPolicies[count];
+ iFullscreenPolicies.Remove(count);
+ delete policy;
+ policy = NULL;
+ __ALFFXLOGSTRING("CPolicyHandler::UnregisterFullscreenKml - return KErrNone <<");
+ return KErrNone;
+ }
+ }
+ __ALFFXLOGSTRING("CPolicyHandler::UnregisterFullscreenKml - return KErrNotFound <<");
+ return KErrNotFound;
+ }
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
TInt CPolicyHandler::UnregisterFullscreenKml(const TThreadId& aThreadId)
- {
- __ALFFXLOGSTRING1("CPolicyHandler::UnregisterFullscreenKml - aThreadId: %d >>", aThreadId.Id());
- TInt count = iFullscreenPolicies.Count() -1;
- TInt err = KErrNotFound;
- TThreadId tid;
-
- for(; count >= 0; count--)
- {
- tid = iFullscreenPolicies[count]->ThreadId();
- if( tid.Id() == aThreadId.Id())
- {
- CFullscreenPolicy* policy = iFullscreenPolicies[count];
- iFullscreenPolicies.Remove(count);
- delete policy;
- policy = NULL;
- err = KErrNone;
- }
- }
- __ALFFXLOGSTRING1("CPolicyHandler::UnregisterFullscreenKml - return: %d <<", err);
- return err;
- }
-
+ {
+ __ALFFXLOGSTRING1("CPolicyHandler::UnregisterFullscreenKml - aThreadId: %d >>", aThreadId.Id());
+ TInt count = iFullscreenPolicies.Count() -1;
+ TInt err = KErrNotFound;
+ TThreadId tid;
+
+ for(; count >= 0; count--)
+ {
+ tid = iFullscreenPolicies[count]->ThreadId();
+ if( tid.Id() == aThreadId.Id())
+ {
+ CFullscreenPolicy* policy = iFullscreenPolicies[count];
+ iFullscreenPolicies.Remove(count);
+ delete policy;
+ policy = NULL;
+ err = KErrNone;
+ }
+ }
+ __ALFFXLOGSTRING1("CPolicyHandler::UnregisterFullscreenKml - return: %d <<", err);
+ return err;
+ }
+
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
TInt CPolicyHandler::UnregisterAllKml(const TThreadId& aThreadId)
- {
- __ALFFXLOGSTRING1("CPolicyHandler::UnregisterAllKml - aThreadId: <<", aThreadId.Id());
- TInt err = KErrNotFound;
- TInt err1 = UnregisterFullscreenKml(aThreadId);
- TInt err2 = UnregisterControlKml(aThreadId);
+ {
+ __ALFFXLOGSTRING1("CPolicyHandler::UnregisterAllKml - aThreadId: <<", aThreadId.Id());
+ TInt err = KErrNotFound;
+ TInt err1 = UnregisterFullscreenKml(aThreadId);
+ TInt err2 = UnregisterControlKml(aThreadId);
- if(err1 == KErrNone || err2 == KErrNone)
- err = KErrNone;
+ if(err1 == KErrNone || err2 == KErrNone)
+ err = KErrNone;
- TInt err3 = UnregisterListBoxKml(aThreadId);
- if(err3 == KErrNone)
- err = KErrNone;
- __ALFFXLOGSTRING1("CPolicyHandler::UnregisterAllKml - return: %d <<", err);
+ TInt err3 = UnregisterListBoxKml(aThreadId);
+ if(err3 == KErrNone)
+ err = KErrNone;
+ __ALFFXLOGSTRING1("CPolicyHandler::UnregisterAllKml - return: %d <<", err);
return err;
}
@@ -340,688 +340,688 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
-TInt CPolicyHandler::GetFullscreenKml( TUint aAction, const TUid& aToUid, const TUid& aFromUid,
- TPtrC& aResourceDir, TPtrC& aFilename,
- TInt& aCachePriority, TInt& aWantedTime, TInt& aMinTime)
- {
+TInt CPolicyHandler::GetFullscreenKml( TUint aAction, const TUid& aToUid, const TUid& aFromUid,
+ TPtrC& aResourceDir, TPtrC& aFilename,
+ TInt& aCachePriority, TInt& aWantedTime, TInt& aMinTime)
+ {
__ALFFXLOGSTRING3("CPolicyHandler::GetFullscreenKml - aAction: %d, aToUid: %d, aFromUid :%d", aAction, aToUid, aFromUid );
__ALFFXLOGSTRING2("CPolicyHandler::GetFullscreenKml - aResourceDir: %S, aFilename :%S", &aResourceDir, &aFilename );
- // Checking if the UID is blocked.
- TInt blockedUids = iFullScreenBlocks.Count();
- aResourceDir.Set( TPtrC() );
- aFilename.Set( TPtrC() );
-
- for( TInt i = 0 ; i < blockedUids ; i++ )
- {
- if( iFullScreenBlocks[i]->iToUid == aToUid ||
- iFullScreenBlocks[i]->iFromUid == aFromUid)
- {
- __ALFFXLOGSTRING("CPolicyHandler::GetFullscreenKml - return KErrNotSupported <<");
- return KErrNotSupported;
- }
- }
-
- TInt count = iFullscreenPolicies.Count();
- // try to find it using both action and uid
- for(TInt i = 0; i < count; i++)
- {
- if(iFullscreenPolicies[i]->Action() == aAction &&
- iFullscreenPolicies[i]->Uid() == aToUid)
- {
- aResourceDir.Set( iFullscreenPolicies[i]->ResourceDir() );
- aFilename.Set( iFullscreenPolicies[i]->Filename() );
- aCachePriority = iFullscreenPolicies[i]->CachePriority();
- aWantedTime = iFullscreenPolicies[i]->WantedTime();
- aMinTime = iFullscreenPolicies[i]->MinTime();
- // Check if theres a block on this UID/Action pair.
- if( aFilename.Length() == 0 )
- {
- __ALFFXLOGSTRING("CPolicyHandler::GetFullscreenKml - return KErrNotSupported <<");
- return KErrNotSupported;
- }
-
- // For now, this entry should have no priority over others
- iFullscreenPolicies[i]->SetCachePriority(0);
+ // Checking if the UID is blocked.
+ TInt blockedUids = iFullScreenBlocks.Count();
+ aResourceDir.Set( TPtrC() );
+ aFilename.Set( TPtrC() );
+
+ for( TInt i = 0 ; i < blockedUids ; i++ )
+ {
+ if( iFullScreenBlocks[i]->iToUid == aToUid ||
+ iFullScreenBlocks[i]->iFromUid == aFromUid)
+ {
+ __ALFFXLOGSTRING("CPolicyHandler::GetFullscreenKml - return KErrNotSupported <<");
+ return KErrNotSupported;
+ }
+ }
+
+ TInt count = iFullscreenPolicies.Count();
+ // try to find it using both action and uid
+ for(TInt i = 0; i < count; i++)
+ {
+ if(iFullscreenPolicies[i]->Action() == aAction &&
+ iFullscreenPolicies[i]->Uid() == aToUid)
+ {
+ aResourceDir.Set( iFullscreenPolicies[i]->ResourceDir() );
+ aFilename.Set( iFullscreenPolicies[i]->Filename() );
+ aCachePriority = iFullscreenPolicies[i]->CachePriority();
+ aWantedTime = iFullscreenPolicies[i]->WantedTime();
+ aMinTime = iFullscreenPolicies[i]->MinTime();
+ // Check if theres a block on this UID/Action pair.
+ if( aFilename.Length() == 0 )
+ {
+ __ALFFXLOGSTRING("CPolicyHandler::GetFullscreenKml - return KErrNotSupported <<");
+ return KErrNotSupported;
+ }
+
+ // For now, this entry should have no priority over others
+ iFullscreenPolicies[i]->SetCachePriority(0);
__ALFFXLOGSTRING("CPolicyHandler::GetFullscreenKml - return KErrNone <<");
return KErrNone;
- }
- }
- // try to find the default (Uid == KNullUid)
- for(TInt i = 0; i < count; i++)
- {
- if(iFullscreenPolicies[i]->Action() == aAction &&
- iFullscreenPolicies[i]->Uid() == KNullUid)
- {
- aResourceDir.Set( iFullscreenPolicies[i]->ResourceDir() );
- aFilename.Set( iFullscreenPolicies[i]->Filename() );
- aCachePriority = iFullscreenPolicies[i]->CachePriority();
- aWantedTime = iFullscreenPolicies[i]->WantedTime();
- aMinTime = iFullscreenPolicies[i]->MinTime();
-
- // For now, this entry should have no priority over others
- iFullscreenPolicies[i]->SetCachePriority(0);
- __ALFFXLOGSTRING("CPolicyHandler::GetFullscreenKml - return KErrNone <<");
- return KErrNone;
- }
- }
- __ALFFXLOGSTRING("CPolicyHandler::GetFullscreenKml - return KErrNotFound <<");
- return KErrNotFound;
- }
+ }
+ }
+ // try to find the default (Uid == KNullUid)
+ for(TInt i = 0; i < count; i++)
+ {
+ if(iFullscreenPolicies[i]->Action() == aAction &&
+ iFullscreenPolicies[i]->Uid() == KNullUid)
+ {
+ aResourceDir.Set( iFullscreenPolicies[i]->ResourceDir() );
+ aFilename.Set( iFullscreenPolicies[i]->Filename() );
+ aCachePriority = iFullscreenPolicies[i]->CachePriority();
+ aWantedTime = iFullscreenPolicies[i]->WantedTime();
+ aMinTime = iFullscreenPolicies[i]->MinTime();
+
+ // For now, this entry should have no priority over others
+ iFullscreenPolicies[i]->SetCachePriority(0);
+ __ALFFXLOGSTRING("CPolicyHandler::GetFullscreenKml - return KErrNone <<");
+ return KErrNone;
+ }
+ }
+ __ALFFXLOGSTRING("CPolicyHandler::GetFullscreenKml - return KErrNotFound <<");
+ return KErrNotFound;
+ }
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
TInt CPolicyHandler::BlockFullScreenUid(const TUid& aUid, TBool aBlockFrom, TBool aBlockTo)
- {
- __ALFFXLOGSTRING3("CPolicyHandler::BlockFullScreenUid - aUid: 0x%x, aBlockFrom: %d, aBlockTo: %d >>", aUid, aBlockFrom, aBlockTo );
- TFullScreenBlock* block = NULL;
-
- TInt blockedUids = iFullScreenBlocks.Count();
- if( blockedUids > 0)
- {
- // Looking for an existing To block.
- if(!aBlockTo && aBlockFrom )
- {
- for(TInt i = 0; i < blockedUids; i++)
- {
- if(iFullScreenBlocks[i]->iFromUid == aUid)
- {
- __ALFFXLOGSTRING("CPolicyHandler::BlockFullScreenUid - return KErrNone <<");
- return KErrNone;
- }
- }
- }
- // Looking for an existing From block.
- else if(aBlockTo && !aBlockFrom)
- {
- for(TInt i = 0; i < blockedUids; i++)
- {
- if(iFullScreenBlocks[i]->iToUid == aUid)
- {
- __ALFFXLOGSTRING("CPolicyHandler::BlockFullScreenUid - return KErrNone <<");
- return KErrNone;
- }
- }
- }
- // Trying to unblock stuff.
- else if(!aBlockTo && !aBlockFrom)
- {
- for(TInt i = blockedUids -1; i >= 0; i--)
- {
- if( iFullScreenBlocks[i]->iToUid == aUid ||
- iFullScreenBlocks[i]->iFromUid == aUid )
- {
- block = iFullScreenBlocks[i];
- iFullScreenBlocks.Remove(i);
- delete block;
- block = NULL;
- }
- }
- __ALFFXLOGSTRING("CPolicyHandler::BlockFullScreenUid - return KErrNone <<");
- return KErrNone;
- }
- // Looking for an existing To and From block with the same UID's.
- else
- {
- for(TInt i = 0; i < blockedUids; i++)
- {
- if( iFullScreenBlocks[i]->iToUid == aUid &&
- iFullScreenBlocks[i]->iFromUid == aUid )
- {
- __ALFFXLOGSTRING("CPolicyHandler::BlockFullScreenUid - return KErrNone <<");
- return KErrNone;
- }
- }
- }
- }
+ {
+ __ALFFXLOGSTRING3("CPolicyHandler::BlockFullScreenUid - aUid: 0x%x, aBlockFrom: %d, aBlockTo: %d >>", aUid, aBlockFrom, aBlockTo );
+ TFullScreenBlock* block = NULL;
+
+ TInt blockedUids = iFullScreenBlocks.Count();
+ if( blockedUids > 0)
+ {
+ // Looking for an existing To block.
+ if(!aBlockTo && aBlockFrom )
+ {
+ for(TInt i = 0; i < blockedUids; i++)
+ {
+ if(iFullScreenBlocks[i]->iFromUid == aUid)
+ {
+ __ALFFXLOGSTRING("CPolicyHandler::BlockFullScreenUid - return KErrNone <<");
+ return KErrNone;
+ }
+ }
+ }
+ // Looking for an existing From block.
+ else if(aBlockTo && !aBlockFrom)
+ {
+ for(TInt i = 0; i < blockedUids; i++)
+ {
+ if(iFullScreenBlocks[i]->iToUid == aUid)
+ {
+ __ALFFXLOGSTRING("CPolicyHandler::BlockFullScreenUid - return KErrNone <<");
+ return KErrNone;
+ }
+ }
+ }
+ // Trying to unblock stuff.
+ else if(!aBlockTo && !aBlockFrom)
+ {
+ for(TInt i = blockedUids -1; i >= 0; i--)
+ {
+ if( iFullScreenBlocks[i]->iToUid == aUid ||
+ iFullScreenBlocks[i]->iFromUid == aUid )
+ {
+ block = iFullScreenBlocks[i];
+ iFullScreenBlocks.Remove(i);
+ delete block;
+ block = NULL;
+ }
+ }
+ __ALFFXLOGSTRING("CPolicyHandler::BlockFullScreenUid - return KErrNone <<");
+ return KErrNone;
+ }
+ // Looking for an existing To and From block with the same UID's.
+ else
+ {
+ for(TInt i = 0; i < blockedUids; i++)
+ {
+ if( iFullScreenBlocks[i]->iToUid == aUid &&
+ iFullScreenBlocks[i]->iFromUid == aUid )
+ {
+ __ALFFXLOGSTRING("CPolicyHandler::BlockFullScreenUid - return KErrNone <<");
+ return KErrNone;
+ }
+ }
+ }
+ }
- // None found. Create!
- block = new TFullScreenBlock();
- if(NULL == block)
- {
- __ALFFXLOGSTRING("CPolicyHandler::BlockFullScreenUid - return KErrNoMemory <<");
- return KErrNoMemory;
- }
+ // None found. Create!
+ block = new TFullScreenBlock();
+ if(NULL == block)
+ {
+ __ALFFXLOGSTRING("CPolicyHandler::BlockFullScreenUid - return KErrNoMemory <<");
+ return KErrNoMemory;
+ }
- if(aBlockTo)
- {
- block->iToUid = aUid;
- }
- if(aBlockFrom)
- {
- block->iFromUid = aUid;
- }
+ if(aBlockTo)
+ {
+ block->iToUid = aUid;
+ }
+ if(aBlockFrom)
+ {
+ block->iFromUid = aUid;
+ }
- TInt err = iFullScreenBlocks.Append(block);
- if(KErrNone != err)
- {
- delete block;
- block = NULL;
- }
- __ALFFXLOGSTRING1("CPolicyHandler::BlockFullScreenUid - return: %d <<", err);
- return err;
- }
+ TInt err = iFullScreenBlocks.Append(block);
+ if(KErrNone != err)
+ {
+ delete block;
+ block = NULL;
+ }
+ __ALFFXLOGSTRING1("CPolicyHandler::BlockFullScreenUid - return: %d <<", err);
+ return err;
+ }
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
TInt CPolicyHandler::RegisterControlAction(const TUid aUid, TUint aAction, const TDesC& aActionString)
- {
- __ALFFXLOGSTRING3("CPolicyHandler::RegisterControlAction - aUid: 0x%x, aAction: %d, aActionString: %S", aUid, aAction, &aActionString );
- TInt index = 0;
- CControlPolicy* pData = NULL;
- CActionPolicy* pPolicy = NULL;
-
- // TEST!!!!!!!!!!
- // First see if we have an empty entry that means a new KML has been registered
- // Adding just a KML does not remove the old one, the old one gets removed only
- // after we add an action to the new KML
-
- // The double action of first registering a KML file and then registering the action
- // should be replaced with single call where the control file and action are defined
- // in one call
-
+ {
+ __ALFFXLOGSTRING3("CPolicyHandler::RegisterControlAction - aUid: 0x%x, aAction: %d, aActionString: %S", aUid, aAction, &aActionString );
+ TInt index = 0;
+ CControlPolicy* pData = NULL;
+ CActionPolicy* pPolicy = NULL;
+
+ // TEST!!!!!!!!!!
+ // First see if we have an empty entry that means a new KML has been registered
+ // Adding just a KML does not remove the old one, the old one gets removed only
+ // after we add an action to the new KML
+
+ // The double action of first registering a KML file and then registering the action
+ // should be replaced with single call where the control file and action are defined
+ // in one call
+
TInt count = iControlPolicies.Count();
- index = -1; // Setting index to negative value to use as check if match found.
- TInt i = 0;
- TInt j = 0;
- TInt k = 0;
-
- // We stop when we find a matching empty entry
- // But first old non-empty entries are deleted
- for( i = count - 1; i >= 0 && index == -1; i-- )
- {
- pData = iControlPolicies[i];
- if( pData->Uid() == aUid )
- {
- if ( pData->iControlPolicies.Count() == 0 )
- {
- index = i;
- // We have found an empty definition.
- // This means a new effect definition file has been added, and the new action
- // should be attached to it.
- // But first we have to remove the possible old effect file
- for ( j = count - 1; j >= 0; j-- )
- {
- pData = iControlPolicies[j];
- if ( pData->Uid() == aUid )
- {
- for ( k = 0; pData && k < pData->iControlPolicies.Count(); k++ )
- {
- pPolicy = pData->iControlPolicies[k];
- if ( pPolicy->iAction == aAction )
- {
- // Old definition found, remove the whole policy entry
- iControlPolicies.Remove( j );
- count--; // this value is referred later. It must be kept up to date.
- delete pData;
- pData = NULL;
- }
- }
- }
- }
- }
- }
- }
-
- if( index >= 0 )
- {
- index = -1; // paranoid...
- // find the empty entry again - if it exists
- // our indexes may have got messed up if we removed something
- // so we must recheck the index
- // We only accept entries with no policies, as we just checked
- // the existence of an entry with matching policy
- for( i = count - 1; i >= 0 && index == -1; i-- )
- {
- pData = iControlPolicies[i];
- if( pData->Uid() == aUid )
- {
- if ( pData->iControlPolicies.Count() == 0 )
- {
- index = i;
- }
- }
- }
- }
+ index = -1; // Setting index to negative value to use as check if match found.
+ TInt i = 0;
+ TInt j = 0;
+ TInt k = 0;
+
+ // We stop when we find a matching empty entry
+ // But first old non-empty entries are deleted
+ for( i = count - 1; i >= 0 && index == -1; i-- )
+ {
+ pData = iControlPolicies[i];
+ if( pData->Uid() == aUid )
+ {
+ if ( pData->iControlPolicies.Count() == 0 )
+ {
+ index = i;
+ // We have found an empty definition.
+ // This means a new effect definition file has been added, and the new action
+ // should be attached to it.
+ // But first we have to remove the possible old effect file
+ for ( j = count - 1; j >= 0; j-- )
+ {
+ pData = iControlPolicies[j];
+ if ( pData->Uid() == aUid )
+ {
+ for ( k = 0; pData && k < pData->iControlPolicies.Count(); k++ )
+ {
+ pPolicy = pData->iControlPolicies[k];
+ if ( pPolicy->iAction == aAction )
+ {
+ // Old definition found, remove the whole policy entry
+ iControlPolicies.Remove( j );
+ count--; // this value is referred later. It must be kept up to date.
+ delete pData;
+ pData = NULL;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ if( index >= 0 )
+ {
+ index = -1; // paranoid...
+ // find the empty entry again - if it exists
+ // our indexes may have got messed up if we removed something
+ // so we must recheck the index
+ // We only accept entries with no policies, as we just checked
+ // the existence of an entry with matching policy
+ for( i = count - 1; i >= 0 && index == -1; i-- )
+ {
+ pData = iControlPolicies[i];
+ if( pData->Uid() == aUid )
+ {
+ if ( pData->iControlPolicies.Count() == 0 )
+ {
+ index = i;
+ }
+ }
+ }
+ }
// Now we have checked if we have an effect file definition that has no entries yet,
// and if we found one, we deleted old effect file definitions for this UID.
-// Now we check if we just update an old action or add a new one to the existing entry
+// Now we check if we just update an old action or add a new one to the existing entry
- // First checking if we need to update a policy.
- // If we have an empty entry, we must use it, not add our action to a different entry
- // even if if has the same UID.
- // So we must not try to find an existing entry if we have already decided to use an
- // empty entry
-
- if ( index < 0 )
- {
- if(FindControlPolicy(aAction, aUid, pPolicy, index) == KErrNone)
- {
- // If we get here and pPolicy == NULL, something is really wrong outside of
- // our control.
- pPolicy->iAction = aAction;
- // Setting the action string is a leaving method.
- // Trap it here to avoid the rest of the system to become
- // leaving to.
- TRAPD(err, pPolicy->SetActionStringL(aActionString));
- if(KErrNone != err)
- {
- __ALFFXLOGSTRING1("CPolicyHandler::RegisterControlAction - return: %d <<", err);
- return err;
- }
- pPolicy->iPolicy = ESupported;
- iClientRequestHandler->RegisterControlAction( aUid, aAction);
- __ALFFXLOGSTRING("CPolicyHandler::RegisterControlAction - return KErrNone <<");
- return KErrNone;
- }
- }
-
- if( index < 0 )
- {
- __ALFFXLOGSTRING("CPolicyHandler::RegisterControlAction - return KErrNotFound <<");
- return KErrNotFound;
- }
-
- pData = iControlPolicies[index];
- pPolicy = new CActionPolicy();
- if(!pPolicy)
- {
- __ALFFXLOGSTRING("CPolicyHandler::RegisterControlAction - return KErrNoMemory <<");
- return KErrNoMemory;
- }
-
- // Assign some values
- pPolicy->iAction = aAction;
- pPolicy->iPolicy = ESupported;
- TRAPD(err, pPolicy->SetActionStringL(aActionString));
- if(KErrNone != err)
- {
- delete pPolicy;
- __ALFFXLOGSTRING1("CPolicyHandler::RegisterControlAction - return: %d <<", err);
- return err;
- }
+ // First checking if we need to update a policy.
+ // If we have an empty entry, we must use it, not add our action to a different entry
+ // even if if has the same UID.
+ // So we must not try to find an existing entry if we have already decided to use an
+ // empty entry
+
+ if ( index < 0 )
+ {
+ if(FindControlPolicy(aAction, aUid, pPolicy, index) == KErrNone)
+ {
+ // If we get here and pPolicy == NULL, something is really wrong outside of
+ // our control.
+ pPolicy->iAction = aAction;
+ // Setting the action string is a leaving method.
+ // Trap it here to avoid the rest of the system to become
+ // leaving to.
+ TRAPD(err, pPolicy->SetActionStringL(aActionString));
+ if(KErrNone != err)
+ {
+ __ALFFXLOGSTRING1("CPolicyHandler::RegisterControlAction - return: %d <<", err);
+ return err;
+ }
+ pPolicy->iPolicy = ESupported;
+ iClientRequestHandler->RegisterControlAction( aUid, aAction);
+ __ALFFXLOGSTRING("CPolicyHandler::RegisterControlAction - return KErrNone <<");
+ return KErrNone;
+ }
+ }
+
+ if( index < 0 )
+ {
+ __ALFFXLOGSTRING("CPolicyHandler::RegisterControlAction - return KErrNotFound <<");
+ return KErrNotFound;
+ }
+
+ pData = iControlPolicies[index];
+ pPolicy = new CActionPolicy();
+ if(!pPolicy)
+ {
+ __ALFFXLOGSTRING("CPolicyHandler::RegisterControlAction - return KErrNoMemory <<");
+ return KErrNoMemory;
+ }
+
+ // Assign some values
+ pPolicy->iAction = aAction;
+ pPolicy->iPolicy = ESupported;
+ TRAPD(err, pPolicy->SetActionStringL(aActionString));
+ if(KErrNone != err)
+ {
+ delete pPolicy;
+ __ALFFXLOGSTRING1("CPolicyHandler::RegisterControlAction - return: %d <<", err);
+ return err;
+ }
- // Then add it to the list.
- err = pData->iControlPolicies.Append(pPolicy);
- if(err != KErrNone)
- {
- delete pPolicy;
- pPolicy = NULL;
- __ALFFXLOGSTRING1("CPolicyHandler::RegisterControlAction - return: %d <<", err);
- return err;
- }
- iClientRequestHandler->RegisterControlAction(aUid, aAction);
- __ALFFXLOGSTRING1("CPolicyHandler::RegisterControlAction - return: %d <<", err);
- return err;
- }
-
+ // Then add it to the list.
+ err = pData->iControlPolicies.Append(pPolicy);
+ if(err != KErrNone)
+ {
+ delete pPolicy;
+ pPolicy = NULL;
+ __ALFFXLOGSTRING1("CPolicyHandler::RegisterControlAction - return: %d <<", err);
+ return err;
+ }
+ iClientRequestHandler->RegisterControlAction(aUid, aAction);
+ __ALFFXLOGSTRING1("CPolicyHandler::RegisterControlAction - return: %d <<", err);
+ return err;
+ }
+
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
TInt CPolicyHandler::UnregisterControlAction(const TUid aUid, TUint aAction)
- {
- __ALFFXLOGSTRING2("CPolicyHandler::UnregisterControlAction - aUid %d, aAction: %d >>", aUid, aAction);
- CControlPolicy* pData = NULL;
- CActionPolicy* pPolicy = NULL;
-
- TInt count = iControlPolicies.Count();
-
- // Removing policy for action.
- for(TInt counter = 0; counter < count; counter++)
- {
- pData = iControlPolicies[counter];
- if(pData->Uid() == aUid)
- {
- TInt polActionCount = pData->iControlPolicies.Count();
- // Iterating the list from first. No problem since we only delete one item!
- for(TInt j = 0; j < polActionCount; j++)
- {
- pPolicy = pData->iControlPolicies[j];
- if(pPolicy->iAction == aAction)
- {
- // Call this before removing data permanently!
- iClientRequestHandler->RemoveControlPolicy( aUid, aAction);
- delete pPolicy;
- pPolicy = NULL;
- pData->iControlPolicies.Remove(j);
- __ALFFXLOGSTRING("CPolicyHandler::UnregisterControlAction - return KErrNone<<");
- return KErrNone;
- }
- }
- }
- }
- __ALFFXLOGSTRING("CPolicyHandler::UnregisterControlAction - return KErrNotFound<<");
- return KErrNotFound;
- }
-
-
+ {
+ __ALFFXLOGSTRING2("CPolicyHandler::UnregisterControlAction - aUid %d, aAction: %d >>", aUid, aAction);
+ CControlPolicy* pData = NULL;
+ CActionPolicy* pPolicy = NULL;
+
+ TInt count = iControlPolicies.Count();
+
+ // Removing policy for action.
+ for(TInt counter = 0; counter < count; counter++)
+ {
+ pData = iControlPolicies[counter];
+ if(pData->Uid() == aUid)
+ {
+ TInt polActionCount = pData->iControlPolicies.Count();
+ // Iterating the list from first. No problem since we only delete one item!
+ for(TInt j = 0; j < polActionCount; j++)
+ {
+ pPolicy = pData->iControlPolicies[j];
+ if(pPolicy->iAction == aAction)
+ {
+ // Call this before removing data permanently!
+ iClientRequestHandler->RemoveControlPolicy( aUid, aAction);
+ delete pPolicy;
+ pPolicy = NULL;
+ pData->iControlPolicies.Remove(j);
+ __ALFFXLOGSTRING("CPolicyHandler::UnregisterControlAction - return KErrNone<<");
+ return KErrNone;
+ }
+ }
+ }
+ }
+ __ALFFXLOGSTRING("CPolicyHandler::UnregisterControlAction - return KErrNotFound<<");
+ return KErrNotFound;
+ }
+
+
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
void CPolicyHandler::RegisterControlKmlL(const TUid &aUid, const TThreadId &aThreadId,
- const TDesC& aResourceDir, const TDesC& aFilename,
- const TInt aWantedTime, const TInt aMinTime)
- {
-
- __ALFFXLOGSTRING2("CPolicyHandler::RegisterControlKmlL - aUid :%d aThread.Id :%d", aUid, aThreadId.Id() );
+ const TDesC& aResourceDir, const TDesC& aFilename,
+ const TInt aWantedTime, const TInt aMinTime)
+ {
+
+ __ALFFXLOGSTRING2("CPolicyHandler::RegisterControlKmlL - aUid :%d aThread.Id :%d", aUid, aThreadId.Id() );
__ALFFXLOGSTRING2("CPolicyHandler::RegisterControlKmlL - aResourceDir: %S, aFilename :%S", &aResourceDir, &aFilename );
- CControlPolicy* policy = NULL;
- TInt cachePriority = 1; //aCachePriority;
- // For now, the cache priority is always 1 at registration time, and after
- // fetching the KML information from the policy, it gets set to 0. This is
- // used to trigger eviction from the KML cache. Newly registered KML:s have
- // priority over existing...
+ CControlPolicy* policy = NULL;
+ TInt cachePriority = 1; //aCachePriority;
+ // For now, the cache priority is always 1 at registration time, and after
+ // fetching the KML information from the policy, it gets set to 0. This is
+ // used to trigger eviction from the KML cache. Newly registered KML:s have
+ // priority over existing...
- // Check if the action was already is registered and if so, delete it.
-
-// TEST!!!!!!!!!!!! Don't delete before action is added
+ // Check if the action was already is registered and if so, delete it.
+
+// TEST!!!!!!!!!!!! Don't delete before action is added
// Only delete if the entry has no policies, then we are replacing the xml file
// though we have added no actions yet
- TInt count = iControlPolicies.Count()-1;
- for(; count >= 0; count--)
- {
- if( iControlPolicies[count]->Uid() == aUid)
- {
- policy = iControlPolicies[count];
- if ( policy->iControlPolicies.Count() == 0 )
- {
- iControlPolicies.Remove(count);
- delete policy;
- policy = NULL;
- }
- }
- }
+ TInt count = iControlPolicies.Count()-1;
+ for(; count >= 0; count--)
+ {
+ if( iControlPolicies[count]->Uid() == aUid)
+ {
+ policy = iControlPolicies[count];
+ if ( policy->iControlPolicies.Count() == 0 )
+ {
+ iControlPolicies.Remove(count);
+ delete policy;
+ policy = NULL;
+ }
+ }
+ }
- // Create the new action and add it.
- policy = CControlPolicy::NewL(aUid, aThreadId, aResourceDir, aFilename, cachePriority, aWantedTime, aMinTime);
- CleanupStack::PushL(policy);
- iControlPolicies.AppendL(policy);
- CleanupStack::Pop(policy);
- __ALFFXLOGSTRING("CPolicyHandler::RegisterControlKmlL <<");
- }
-
+ // Create the new action and add it.
+ policy = CControlPolicy::NewL(aUid, aThreadId, aResourceDir, aFilename, cachePriority, aWantedTime, aMinTime);
+ CleanupStack::PushL(policy);
+ iControlPolicies.AppendL(policy);
+ CleanupStack::Pop(policy);
+ __ALFFXLOGSTRING("CPolicyHandler::RegisterControlKmlL <<");
+ }
+
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
TInt CPolicyHandler::RemoveControlKml(const TUid &aUid)
- {
- __ALFFXLOGSTRING1("CPolicyHandler::RemoveControlKml - aUid: %d ", aUid);
-
- TInt err = KErrNotFound;
- CControlPolicy* ptr = NULL;
- CActionPolicy* action = NULL;
- TInt policyCount = iControlPolicies.Count();
- // We may remove several KMLs if different actions have different effect files
- for( TInt i = policyCount - 1; i >= 0; i--)
- {
- ptr = iControlPolicies[i];
- if(ptr->Uid() == aUid)
- {
- // making sure that policies get removed from the running clients as well!
- TInt count = ptr->iControlPolicies.Count();
- if( count > 0)
- {
- for(TInt j = 0; j < count; j++)
- {
- action = ptr->iControlPolicies[j];
- iClientRequestHandler->RemoveControlPolicy(aUid, action->iAction);
- }
- }
- iControlPolicies.Remove(i);
- delete ptr;
- ptr = NULL;
- err = KErrNone;
- }
- }
- __ALFFXLOGSTRING1("CPolicyHandler::RemoveControlKml - return: %d <<", err);
- return err;
- }
-
+ {
+ __ALFFXLOGSTRING1("CPolicyHandler::RemoveControlKml - aUid: %d ", aUid);
+
+ TInt err = KErrNotFound;
+ CControlPolicy* ptr = NULL;
+ CActionPolicy* action = NULL;
+ TInt policyCount = iControlPolicies.Count();
+ // We may remove several KMLs if different actions have different effect files
+ for( TInt i = policyCount - 1; i >= 0; i--)
+ {
+ ptr = iControlPolicies[i];
+ if(ptr->Uid() == aUid)
+ {
+ // making sure that policies get removed from the running clients as well!
+ TInt count = ptr->iControlPolicies.Count();
+ if( count > 0)
+ {
+ for(TInt j = 0; j < count; j++)
+ {
+ action = ptr->iControlPolicies[j];
+ iClientRequestHandler->RemoveControlPolicy(aUid, action->iAction);
+ }
+ }
+ iControlPolicies.Remove(i);
+ delete ptr;
+ ptr = NULL;
+ err = KErrNone;
+ }
+ }
+ __ALFFXLOGSTRING1("CPolicyHandler::RemoveControlKml - return: %d <<", err);
+ return err;
+ }
+
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
TInt CPolicyHandler::UnregisterControlKml(const TThreadId &aThreadId)
- {
- __ALFFXLOGSTRING1("CPolicyHandler::UnregisterControlKml - aThreadId: %d ", aThreadId.Id() );
- CControlPolicy* ptr = NULL;
- CActionPolicy* action = NULL;
- TInt err = KErrNotFound;
- TThreadId tid;
- TInt policyCount = iControlPolicies.Count();
-
- for( TInt i = policyCount - 1; i >= 0; i--)
- {
- ptr = iControlPolicies[i];
- tid = ptr->ThreadId();
-
- if(tid.Id() == aThreadId.Id())
- {
- // making sure that policies get removed from the running clients as well!
- TInt count = ptr->iControlPolicies.Count();
- if(count > 0)
- {
- for(TInt j = 0; j < count; j++)
- {
- action = ptr->iControlPolicies[j];
- iClientRequestHandler->RemoveControlPolicy(ptr->Uid(), action->iAction);
- }
- }
- iControlPolicies.Remove(i);
- delete ptr;
- ptr = NULL;
- err = KErrNone;
- }
- }
- __ALFFXLOGSTRING1("CPolicyHandler::UnregisterControlKml - return: %d <<", err);
- return err;
- }
+ {
+ __ALFFXLOGSTRING1("CPolicyHandler::UnregisterControlKml - aThreadId: %d ", aThreadId.Id() );
+ CControlPolicy* ptr = NULL;
+ CActionPolicy* action = NULL;
+ TInt err = KErrNotFound;
+ TThreadId tid;
+ TInt policyCount = iControlPolicies.Count();
+
+ for( TInt i = policyCount - 1; i >= 0; i--)
+ {
+ ptr = iControlPolicies[i];
+ tid = ptr->ThreadId();
+
+ if(tid.Id() == aThreadId.Id())
+ {
+ // making sure that policies get removed from the running clients as well!
+ TInt count = ptr->iControlPolicies.Count();
+ if(count > 0)
+ {
+ for(TInt j = 0; j < count; j++)
+ {
+ action = ptr->iControlPolicies[j];
+ iClientRequestHandler->RemoveControlPolicy(ptr->Uid(), action->iAction);
+ }
+ }
+ iControlPolicies.Remove(i);
+ delete ptr;
+ ptr = NULL;
+ err = KErrNone;
+ }
+ }
+ __ALFFXLOGSTRING1("CPolicyHandler::UnregisterControlKml - return: %d <<", err);
+ return err;
+ }
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
-TInt CPolicyHandler::GetControlKml( TUid aUid, TUint aAction, TPtrC& aResourceDir,
- TPtrC& aFileName, TPtrC& aActionString, TInt& aCachePriority,
- TInt& aWantedTime, TInt& aMinTime)
- {
- __ALFFXLOGSTRING2("CPolicyHandler::GetControlKml - aAction: %d aUid :0x%x", aAction, aUid );
- __ALFFXLOGSTRING3("CPolicyHandler::GetControlKml - aResourceDir: %S, aFilename :%S, aActionString: %S", &aResourceDir, &aFileName, &aActionString );
-
- CControlPolicy* ptr = NULL;
- CActionPolicy* pPolicy = NULL;
- aResourceDir.Set( TPtrC() );
- aFileName.Set( TPtrC() );
+TInt CPolicyHandler::GetControlKml( TUid aUid, TUint aAction, TPtrC& aResourceDir,
+ TPtrC& aFileName, TPtrC& aActionString, TInt& aCachePriority,
+ TInt& aWantedTime, TInt& aMinTime)
+ {
+ __ALFFXLOGSTRING2("CPolicyHandler::GetControlKml - aAction: %d aUid :0x%x", aAction, aUid );
+ __ALFFXLOGSTRING3("CPolicyHandler::GetControlKml - aResourceDir: %S, aFilename :%S, aActionString: %S", &aResourceDir, &aFileName, &aActionString );
+
+ CControlPolicy* ptr = NULL;
+ CActionPolicy* pPolicy = NULL;
+ aResourceDir.Set( TPtrC() );
+ aFileName.Set( TPtrC() );
aActionString.Set( TPtrC() );
- TInt itemCount = iControlPolicies.Count();
- for(TInt i = 0; i < itemCount; i++)
- {
- ptr = iControlPolicies[i];
- if( ptr->Uid() == aUid)
- {
- aResourceDir.Set( ptr->ResourceDir() );
- aFileName.Set( ptr->Filename() );
- aCachePriority = ptr->CachePriority();
- aWantedTime = ptr->WantedTime();
- aMinTime = ptr->MinTime();
- TInt actionCount = ptr->iControlPolicies.Count();
- for(TInt j = 0; j < actionCount; j++)
- {
- pPolicy = ptr->iControlPolicies[j];
- if(pPolicy->iAction == aAction)
- {
- aActionString.Set( pPolicy->ActionString() );
- // For now, this entry should have no priority over others
- ptr->SetCachePriority(0);
- __ALFFXLOGSTRING("CPolicyHandler::GetControlKml - return KErrNone <<");
- return KErrNone;
- }
- }
- }
- }
- __ALFFXLOGSTRING("CPolicyHandler::GetControlKml - return KErrNotFound <<");
- return KErrNotFound;
- }
-
+ TInt itemCount = iControlPolicies.Count();
+ for(TInt i = 0; i < itemCount; i++)
+ {
+ ptr = iControlPolicies[i];
+ if( ptr->Uid() == aUid)
+ {
+ aResourceDir.Set( ptr->ResourceDir() );
+ aFileName.Set( ptr->Filename() );
+ aCachePriority = ptr->CachePriority();
+ aWantedTime = ptr->WantedTime();
+ aMinTime = ptr->MinTime();
+ TInt actionCount = ptr->iControlPolicies.Count();
+ for(TInt j = 0; j < actionCount; j++)
+ {
+ pPolicy = ptr->iControlPolicies[j];
+ if(pPolicy->iAction == aAction)
+ {
+ aActionString.Set( pPolicy->ActionString() );
+ // For now, this entry should have no priority over others
+ ptr->SetCachePriority(0);
+ __ALFFXLOGSTRING("CPolicyHandler::GetControlKml - return KErrNone <<");
+ return KErrNone;
+ }
+ }
+ }
+ }
+ __ALFFXLOGSTRING("CPolicyHandler::GetControlKml - return KErrNotFound <<");
+ return KErrNotFound;
+ }
+
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
TInt CPolicyHandler::GetAllControlPolicies(RPointerArray<CClientControlPolicy>& aControlPolicies)
- {
- __ALFFXLOGSTRING("CPolicyHandler::GetAllControlPolicies >>");
- TInt err = KErrNone;
-
- TInt itemCount = iControlPolicies.Count();
- if( 0 >= itemCount)
- {
- __ALFFXLOGSTRING("CPolicyHandler::GetAllControlPolicies - return KErrNotFound <<");
- return KErrNotFound;
- }
+ {
+ __ALFFXLOGSTRING("CPolicyHandler::GetAllControlPolicies >>");
+ TInt err = KErrNone;
+
+ TInt itemCount = iControlPolicies.Count();
+ if( 0 >= itemCount)
+ {
+ __ALFFXLOGSTRING("CPolicyHandler::GetAllControlPolicies - return KErrNotFound <<");
+ return KErrNotFound;
+ }
- for(TInt i = 0; i < itemCount; i++)
- {
- CClientControlPolicy* ptr = new CClientControlPolicy();
- if ( ptr == NULL )
- {
- __ALFFXLOGSTRING("CPolicyHandler::GetAllControlPolicies - return KErrNoMemory <<");
- return KErrNoMemory;
- }
- ptr->iUid = iControlPolicies[i]->Uid();
- HBufC* fname = HBufC::New(iControlPolicies[i]->Filename().Length());
- if ( fname == NULL )
- {
- delete ptr;
- __ALFFXLOGSTRING("CPolicyHandler::GetAllControlPolicies - return KErrNoMemory <<");
- return KErrNoMemory;
- }
- fname->Des().Copy(iControlPolicies[i]->Filename());
- ptr->iFilename.Assign(fname);
- HBufC* resdir = HBufC::New(255);
+ for(TInt i = 0; i < itemCount; i++)
+ {
+ CClientControlPolicy* ptr = new CClientControlPolicy();
+ if ( ptr == NULL )
+ {
+ __ALFFXLOGSTRING("CPolicyHandler::GetAllControlPolicies - return KErrNoMemory <<");
+ return KErrNoMemory;
+ }
+ ptr->iUid = iControlPolicies[i]->Uid();
+ HBufC* fname = HBufC::New(iControlPolicies[i]->Filename().Length());
+ if ( fname == NULL )
+ {
+ delete ptr;
+ __ALFFXLOGSTRING("CPolicyHandler::GetAllControlPolicies - return KErrNoMemory <<");
+ return KErrNoMemory;
+ }
+ fname->Des().Copy(iControlPolicies[i]->Filename());
+ ptr->iFilename.Assign(fname);
+ HBufC* resdir = HBufC::New(255);
if ( resdir == NULL )
{
delete ptr;
__ALFFXLOGSTRING("CPolicyHandler::GetAllControlPolicies - return KErrNoMemory <<");
return KErrNoMemory;
}
- ptr->iResourceDir.Assign(resdir);
- // In order to actually copy the pointers to the policy data, we
- // need to iterate through the entire list.
- TInt count = iControlPolicies[i]->iControlPolicies.Count();
- if(count > 0)
- {
- for( TInt j = 0; j < count; j++)
- {
- err = ptr->iControlPolicies.Append(iControlPolicies[i]->iControlPolicies[j]);
- if(KErrNone != err)
- {
- delete ptr;
- __ALFFXLOGSTRING1("CPolicyHandler::GetAllControlPolicies - return: %d <<", err);
- return err;
- }
- }
- err = aControlPolicies.Append(ptr);
- if(KErrNone != err)
- {
- delete ptr;
- __ALFFXLOGSTRING1("CPolicyHandler::GetAllControlPolicies - return: %d <<", err);
- return err;
- }
- }
- else
- {
- delete ptr;
- ptr = NULL;
- }
- }
- __ALFFXLOGSTRING("CPolicyHandler::GetAllControlPolicies - return KErrNotFound<<");
- return KErrNone;
- }
+ ptr->iResourceDir.Assign(resdir);
+ // In order to actually copy the pointers to the policy data, we
+ // need to iterate through the entire list.
+ TInt count = iControlPolicies[i]->iControlPolicies.Count();
+ if(count > 0)
+ {
+ for( TInt j = 0; j < count; j++)
+ {
+ err = ptr->iControlPolicies.Append(iControlPolicies[i]->iControlPolicies[j]);
+ if(KErrNone != err)
+ {
+ delete ptr;
+ __ALFFXLOGSTRING1("CPolicyHandler::GetAllControlPolicies - return: %d <<", err);
+ return err;
+ }
+ }
+ err = aControlPolicies.Append(ptr);
+ if(KErrNone != err)
+ {
+ delete ptr;
+ __ALFFXLOGSTRING1("CPolicyHandler::GetAllControlPolicies - return: %d <<", err);
+ return err;
+ }
+ }
+ else
+ {
+ delete ptr;
+ ptr = NULL;
+ }
+ }
+ __ALFFXLOGSTRING("CPolicyHandler::GetAllControlPolicies - return KErrNotFound<<");
+ return KErrNone;
+ }
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
TInt CPolicyHandler::RequestPolicy(const RMessage2& aMessage)
- {
- return iClientRequestHandler->RequestPolicy(aMessage);
- }
+ {
+ return iClientRequestHandler->RequestPolicy(aMessage);
+ }
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
TInt CPolicyHandler::GetPolicyL( TThreadId aClientId, TInt aPolicyCount, TPtr8& aOutBuf )
- {
- return iClientRequestHandler->GetPolicyL( aClientId, aPolicyCount, aOutBuf );
- }
-
+ {
+ return iClientRequestHandler->GetPolicyL( aClientId, aPolicyCount, aOutBuf );
+ }
+
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
void CPolicyHandler::RemoveClient( TThreadId aClientId )
- {
- iClientRequestHandler->RemoveClient( aClientId );
- }
+ {
+ iClientRequestHandler->RemoveClient( aClientId );
+ }
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
/*
void CPolicyHandler::RemoveDeadClients()
- {
- iClientRequestHandler->RemoveDeadClients();
- }
-*/
+ {
+ iClientRequestHandler->RemoveDeadClients();
+ }
+*/
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
/*
void CPolicyHandler::DumpClientsL(RFileWriteStream& aFile)
- {
- iClientRequestHandler->DumpClientsL(aFile);
- }
-*/
-
+ {
+ iClientRequestHandler->DumpClientsL(aFile);
+ }
+*/
+
-//============== PRIVATE METHODS =================/
+//============== PRIVATE METHODS =================/
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
TInt CPolicyHandler::FindControlPolicy(TUint aAction, TUid aUid, CActionPolicy*& aPolicy, TInt& aIndex)
- {
- __ALFFXLOGSTRING3("CPolicyHandler::FindControlPolicy - aAction: %d, aUid: 0x%x, aIndex: %d", aAction, aUid, aIndex );
-
- TInt count = iControlPolicies.Count();
- aIndex = -1; // Setting index to low value to avoid accidental insertion.
-
- CControlPolicy* pData = NULL;
- for(TInt i = 0; i < count; i++)
- {
- pData = iControlPolicies[i];
- if(pData->Uid() == aUid)
- {
- aIndex = i;
- TInt j = pData->iControlPolicies.Count();
- CActionPolicy* pPolicy = NULL;
- for(TInt q = 0; q < j; q++)
- {
- pPolicy = pData->iControlPolicies[q];
- if(pPolicy->iAction == aAction)
- {
- aPolicy = pPolicy;
- __ALFFXLOGSTRING("CPolicyHandler::FindControlPolicy - return KErrNone <<");
- return KErrNone;
- }
- }
- }
- }
+ {
+ __ALFFXLOGSTRING3("CPolicyHandler::FindControlPolicy - aAction: %d, aUid: 0x%x, aIndex: %d", aAction, aUid, aIndex );
+
+ TInt count = iControlPolicies.Count();
+ aIndex = -1; // Setting index to low value to avoid accidental insertion.
+
+ CControlPolicy* pData = NULL;
+ for(TInt i = 0; i < count; i++)
+ {
+ pData = iControlPolicies[i];
+ if(pData->Uid() == aUid)
+ {
+ aIndex = i;
+ TInt j = pData->iControlPolicies.Count();
+ CActionPolicy* pPolicy = NULL;
+ for(TInt q = 0; q < j; q++)
+ {
+ pPolicy = pData->iControlPolicies[q];
+ if(pPolicy->iAction == aAction)
+ {
+ aPolicy = pPolicy;
+ __ALFFXLOGSTRING("CPolicyHandler::FindControlPolicy - return KErrNone <<");
+ return KErrNone;
+ }
+ }
+ }
+ }
__ALFFXLOGSTRING("CPolicyHandler::FindControlPolicy - return KErrNotFound <<");
- return KErrNotFound;
- }
+ return KErrNotFound;
+ }
// --- EOF ---