1 // Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies). |
1 // Copyright (c) 2004-2010 Nokia Corporation and/or its subsidiary(-ies). |
2 // All rights reserved. |
2 // All rights reserved. |
3 // This component and the accompanying materials are made available |
3 // This component and the accompanying materials are made available |
4 // under the terms of "Eclipse Public License v1.0" |
4 // under the terms of "Eclipse Public License v1.0" |
5 // which accompanies this distribution, and is available |
5 // which accompanies this distribution, and is available |
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
79 iReceivePckg(TRemConClientReceivePackage()) |
79 iReceivePckg(TRemConClientReceivePackage()) |
80 { |
80 { |
81 LOG_FUNC |
81 LOG_FUNC |
82 } |
82 } |
83 |
83 |
84 EXPORT_C TVersion RRemCon::Version() const |
|
85 { |
|
86 LOG_FUNC |
|
87 return(TVersion( KRemConSrvMajorVersionNumber, |
|
88 KRemConSrvMinorVersionNumber, |
|
89 KRemConSrvBuildNumber |
|
90 ) |
|
91 ); |
|
92 } |
|
93 |
|
94 EXPORT_C TInt RRemCon::Connect() |
84 EXPORT_C TInt RRemCon::Connect() |
95 { |
85 { |
96 LOG_FUNC |
86 LOG_FUNC |
97 |
87 |
98 TInt err = DoConnect(); |
88 TInt err = DoConnect(); |
99 if ( err == KErrNone ) |
89 |
100 { |
|
101 err = SetClientType(); |
|
102 if ( err != KErrNone ) |
|
103 { |
|
104 // For this API to be clean, we must clean up the session handle |
|
105 // already successfully created. |
|
106 Close(); |
|
107 } |
|
108 } |
|
109 return err; |
90 return err; |
110 } |
91 } |
111 |
92 |
112 EXPORT_C TInt RRemCon::Connect(const TPlayerType& aClientType, const TPlayerSubType& aClientSubType, const TDesC8& aName) |
93 EXPORT_C TInt RRemCon::Connect(const TPlayerType& aPlayerType, const TPlayerSubType& aPlayerSubType, const TDesC8& aName) |
113 { |
94 { |
114 LOG_FUNC |
95 LOG_FUNC |
115 |
96 |
116 TInt err = DoConnect(); |
97 TInt err = DoConnect(); |
117 if ( err == KErrNone ) |
98 if ( err == KErrNone ) |
118 { |
99 { |
119 err = SetClientType(aClientType,aClientSubType,aName); |
100 err = SetPlayerType(aPlayerType,aPlayerSubType,aName); |
120 if ( err != KErrNone ) |
101 if ( err != KErrNone ) |
121 { |
102 { |
122 // For this API to be clean, we must clean up the session handle |
103 // For this API to be clean, we must clean up the session handle |
123 // already successfully created. |
104 // already successfully created. |
124 Close(); |
105 Close(); |
165 /** |
146 /** |
166 Does IPC with the server to set the type of the session from our member (set |
147 Does IPC with the server to set the type of the session from our member (set |
167 at construction time). |
148 at construction time). |
168 @return Error. |
149 @return Error. |
169 */ |
150 */ |
170 TInt RRemCon::SetClientType() |
151 TInt RRemCon::SetPlayerType(const TPlayerType& aPlayerType, const TPlayerSubType& aPlayerSubType, const TDesC8& aName) |
171 { |
|
172 LOG_FUNC |
|
173 return SendReceive(ERemConSetClientType, TIpcArgs(iClientType)); |
|
174 } |
|
175 |
|
176 TInt RRemCon::SetClientType(const TPlayerType& aClientType, const TPlayerSubType& aClientSubType, const TDesC8& aName) |
|
177 { |
152 { |
178 LOG_FUNC |
153 LOG_FUNC |
179 TIpcArgs args; |
154 TIpcArgs args; |
180 args.Set(0,iClientType); |
155 // Message slot 0 is not currently used |
181 iPlayerTypePckg().iPlayerType = aClientType; |
156 iPlayerTypePckg().iPlayerType = aPlayerType; |
182 iPlayerTypePckg().iPlayerSubType = aClientSubType; |
157 iPlayerTypePckg().iPlayerSubType = aPlayerSubType; |
183 args.Set(1,&iPlayerTypePckg); |
158 args.Set(1,&iPlayerTypePckg); |
184 args.Set(2,aName.Length()); |
159 args.Set(2, &aName); |
185 args.Set(3, &aName); |
160 return SendReceive(ERemConSetPlayerType, args); |
186 return SendReceive(ERemConSetClientType, args); |
|
187 } |
161 } |
188 |
162 |
189 EXPORT_C TInt RRemCon::SendUnreliable(TUid aInterfaceUid, |
163 EXPORT_C TInt RRemCon::SendUnreliable(TUid aInterfaceUid, |
190 TUint aOperationId, |
164 TUint aOperationId, |
191 TRemConMessageSubType aSubType, |
165 TRemConMessageSubType aSubType, |
196 iOpInfoPckg().iOperationId = aOperationId; |
170 iOpInfoPckg().iOperationId = aOperationId; |
197 iOpInfoPckg().iMessageSubType = aSubType; |
171 iOpInfoPckg().iMessageSubType = aSubType; |
198 |
172 |
199 args.Set(0, aInterfaceUid.iUid); |
173 args.Set(0, aInterfaceUid.iUid); |
200 args.Set(1, &iOpInfoPckg); |
174 args.Set(1, &iOpInfoPckg); |
201 args.Set(2, &aData); |
175 args.Set(3, &aData); |
202 TInt err = SendReceive(ERemConSendUnreliable, args); |
176 TInt err = SendReceive(ERemConSendUnreliable, args); |
203 return err; |
177 return err; |
204 } |
178 } |
205 |
179 |
206 |
180 |
493 (void)SendReceive(ERemConDisconnectBearerCancel); |
467 (void)SendReceive(ERemConDisconnectBearerCancel); |
494 |
468 |
495 return KErrNone; |
469 return KErrNone; |
496 } |
470 } |
497 |
471 |
|
472 TVersion RRemConController::Version() const |
|
473 { |
|
474 LOG_FUNC |
|
475 return(TVersion( KRemConSrvMajorVersionNumber, |
|
476 KRemConSrvMinorVersionNumber, |
|
477 KRemConSrvControllerSession |
|
478 ) |
|
479 ); |
|
480 } |
|
481 |
498 EXPORT_C RRemConTarget::RRemConTarget() |
482 EXPORT_C RRemConTarget::RRemConTarget() |
499 : RRemCon(ERemConClientTypeTarget) |
483 : RRemCon(ERemConClientTypeTarget) |
500 { |
484 { |
501 LOG_FUNC |
485 LOG_FUNC |
502 } |
486 } |
503 |
487 |
|
488 TVersion RRemConTarget::Version() const |
|
489 { |
|
490 LOG_FUNC |
|
491 return(TVersion( KRemConSrvMajorVersionNumber, |
|
492 KRemConSrvMinorVersionNumber, |
|
493 KRemConSrvTargetSession |
|
494 ) |
|
495 ); |
|
496 } |
|
497 |