53 // --------------------------------------------------------------------------- |
53 // --------------------------------------------------------------------------- |
54 EXPORT_C TInt RDmDevDialog::OpenL() |
54 EXPORT_C TInt RDmDevDialog::OpenL() |
55 { |
55 { |
56 FLOG(_L("RDmDevDialog::OpenL()- Begin")); |
56 FLOG(_L("RDmDevDialog::OpenL()- Begin")); |
57 TInt res = KErrNone; |
57 TInt res = KErrNone; |
58 FLOG(_L("RDmDevDialog::OpenL()- Secured client")); |
58 FLOG(_L("RDmDevDialog::OpenL()- Secured client")); |
59 res = CreateSession( KDMDEVDIALOGSERVER,TVersion(KDmDevDialogServerVersionMajor, |
59 const int maxRetry(4); |
|
60 TInt retry = maxRetry; |
|
61 do { |
|
62 res = CreateSession( KDMDEVDIALOGSERVER,TVersion(KDmDevDialogServerVersionMajor, |
60 KDmDevDialogServerVersionMinor,0),KDefaultMessageSlots ); |
63 KDmDevDialogServerVersionMinor,0),KDefaultMessageSlots ); |
61 if ( res != KErrNone ) |
64 if (KErrNotFound != res && KErrServerTerminated != res) { |
62 { |
65 retry =0; |
63 FLOG(_L("RDmDevDialog::OpenL()- session not created")); |
66 } else { |
64 res = StartServerL(); |
67 TRAP(res, StartServerL()); |
65 User::LeaveIfError( res ); |
68 if (KErrNone == res || KErrAlreadyExists == res) { |
66 res = CreateSession( KDMDEVDIALOGSERVER,TVersion(KDmDevDialogServerVersionMajor, |
69 retry =0; |
|
70 res = CreateSession( KDMDEVDIALOGSERVER,TVersion(KDmDevDialogServerVersionMajor, |
67 KDmDevDialogServerVersionMinor,0),KDefaultMessageSlots ); |
71 KDmDevDialogServerVersionMinor,0),KDefaultMessageSlots ); |
68 } |
72 } |
|
73 } |
|
74 } while (--retry > 0); |
|
75 User::LeaveIfError( res ); |
69 FLOG(_L("RDmDevDialog::OpenL()- End %d"),res); |
76 FLOG(_L("RDmDevDialog::OpenL()- End %d"),res); |
70 return res; |
77 return res; |
71 } |
78 } |
72 |
79 |
73 // --------------------------------------------------------------------------- |
80 // --------------------------------------------------------------------------- |