usbdrv/peripheral/public/d32usbc.inl
author hgs
Wed, 20 Oct 2010 12:04:53 +0800
changeset 59 bbdce6bffaad
parent 48 21625e5de155
permissions -rw-r--r--
201041_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
59
bbdce6bffaad 201041_02
hgs
parents: 48
diff changeset
     1
/*
bbdce6bffaad 201041_02
hgs
parents: 48
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
bbdce6bffaad 201041_02
hgs
parents: 48
diff changeset
     3
* All rights reserved.
bbdce6bffaad 201041_02
hgs
parents: 48
diff changeset
     4
* This component and the accompanying materials are made available
bbdce6bffaad 201041_02
hgs
parents: 48
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
bbdce6bffaad 201041_02
hgs
parents: 48
diff changeset
     6
* which accompanies this distribution, and is available
bbdce6bffaad 201041_02
hgs
parents: 48
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
bbdce6bffaad 201041_02
hgs
parents: 48
diff changeset
     8
*
bbdce6bffaad 201041_02
hgs
parents: 48
diff changeset
     9
* Initial Contributors:
bbdce6bffaad 201041_02
hgs
parents: 48
diff changeset
    10
* Nokia Corporation - initial contribution.
bbdce6bffaad 201041_02
hgs
parents: 48
diff changeset
    11
*
bbdce6bffaad 201041_02
hgs
parents: 48
diff changeset
    12
* Contributors:
bbdce6bffaad 201041_02
hgs
parents: 48
diff changeset
    13
*
bbdce6bffaad 201041_02
hgs
parents: 48
diff changeset
    14
* Description:
bbdce6bffaad 201041_02
hgs
parents: 48
diff changeset
    15
* e32/include/d32usbc.inl
bbdce6bffaad 201041_02
hgs
parents: 48
diff changeset
    16
* User side class definitions for USB Device support (inline header).
bbdce6bffaad 201041_02
hgs
parents: 48
diff changeset
    17
*
bbdce6bffaad 201041_02
hgs
parents: 48
diff changeset
    18
*/
33
089413cdde3c 201028_02
hgs
parents:
diff changeset
    19
089413cdde3c 201028_02
hgs
parents:
diff changeset
    20
/**
089413cdde3c 201028_02
hgs
parents:
diff changeset
    21
 @file d32usbc.inl
089413cdde3c 201028_02
hgs
parents:
diff changeset
    22
 @publishedPartner
089413cdde3c 201028_02
hgs
parents:
diff changeset
    23
 @released
089413cdde3c 201028_02
hgs
parents:
diff changeset
    24
*/
089413cdde3c 201028_02
hgs
parents:
diff changeset
    25
089413cdde3c 201028_02
hgs
parents:
diff changeset
    26
#ifndef __D32USBC_INL__
089413cdde3c 201028_02
hgs
parents:
diff changeset
    27
#define __D32USBC_INL__
089413cdde3c 201028_02
hgs
parents:
diff changeset
    28
089413cdde3c 201028_02
hgs
parents:
diff changeset
    29
089413cdde3c 201028_02
hgs
parents:
diff changeset
    30
/** @internalTechnology
089413cdde3c 201028_02
hgs
parents:
diff changeset
    31
*/
089413cdde3c 201028_02
hgs
parents:
diff changeset
    32
struct TUsbcIfcInfo
089413cdde3c 201028_02
hgs
parents:
diff changeset
    33
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
    34
	TUsbcInterfaceInfoBuf* iInterfaceData;
089413cdde3c 201028_02
hgs
parents:
diff changeset
    35
	TPtr8* iString;
089413cdde3c 201028_02
hgs
parents:
diff changeset
    36
	TUint32 iBandwidthPriority;
089413cdde3c 201028_02
hgs
parents:
diff changeset
    37
	};
089413cdde3c 201028_02
hgs
parents:
diff changeset
    38
089413cdde3c 201028_02
hgs
parents:
diff changeset
    39
089413cdde3c 201028_02
hgs
parents:
diff changeset
    40
/** @internalTechnology
089413cdde3c 201028_02
hgs
parents:
diff changeset
    41
*/
089413cdde3c 201028_02
hgs
parents:
diff changeset
    42
struct TEndpointTransferInfo
089413cdde3c 201028_02
hgs
parents:
diff changeset
    43
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
    44
	TDesC8* iDes;
089413cdde3c 201028_02
hgs
parents:
diff changeset
    45
	TTransferType iTransferType;
089413cdde3c 201028_02
hgs
parents:
diff changeset
    46
	TInt iTransferSize;
089413cdde3c 201028_02
hgs
parents:
diff changeset
    47
	TBool iZlpReqd;
089413cdde3c 201028_02
hgs
parents:
diff changeset
    48
	};
089413cdde3c 201028_02
hgs
parents:
diff changeset
    49
089413cdde3c 201028_02
hgs
parents:
diff changeset
    50
inline TUsbcInterfaceInfo::TUsbcInterfaceInfo(TInt aClass, TInt aSubClass,
089413cdde3c 201028_02
hgs
parents:
diff changeset
    51
											  TInt aProtocol, TDesC16* aString,
089413cdde3c 201028_02
hgs
parents:
diff changeset
    52
											  TUint aTotalEndpoints)
089413cdde3c 201028_02
hgs
parents:
diff changeset
    53
	: iClass(aClass, aSubClass, aProtocol), iString(aString),
089413cdde3c 201028_02
hgs
parents:
diff changeset
    54
	  iTotalEndpointsUsed(aTotalEndpoints), iEndpointData(), iFeatureWord(0)
089413cdde3c 201028_02
hgs
parents:
diff changeset
    55
	{}
089413cdde3c 201028_02
hgs
parents:
diff changeset
    56
089413cdde3c 201028_02
hgs
parents:
diff changeset
    57
089413cdde3c 201028_02
hgs
parents:
diff changeset
    58
#ifndef __KERNEL_MODE__
089413cdde3c 201028_02
hgs
parents:
diff changeset
    59
089413cdde3c 201028_02
hgs
parents:
diff changeset
    60
/** @capability CommDD
089413cdde3c 201028_02
hgs
parents:
diff changeset
    61
*/
089413cdde3c 201028_02
hgs
parents:
diff changeset
    62
inline TInt RDevUsbcClient::Open(TInt aUnit)
089413cdde3c 201028_02
hgs
parents:
diff changeset
    63
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
    64
	_LIT(KUsbDevName, "Usbc");
089413cdde3c 201028_02
hgs
parents:
diff changeset
    65
	return (DoCreate(KUsbDevName, VersionRequired(), aUnit, NULL, NULL, EOwnerThread));
089413cdde3c 201028_02
hgs
parents:
diff changeset
    66
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
    67
089413cdde3c 201028_02
hgs
parents:
diff changeset
    68
089413cdde3c 201028_02
hgs
parents:
diff changeset
    69
inline TVersion RDevUsbcClient::VersionRequired() const
089413cdde3c 201028_02
hgs
parents:
diff changeset
    70
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
    71
	return (TVersion(EMajorVersionNumber, EMinorVersionNumber, EBuildVersionNumber));
089413cdde3c 201028_02
hgs
parents:
diff changeset
    72
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
    73
089413cdde3c 201028_02
hgs
parents:
diff changeset
    74
089413cdde3c 201028_02
hgs
parents:
diff changeset
    75
inline TInt RDevUsbcClient::EndpointZeroRequestError()
089413cdde3c 201028_02
hgs
parents:
diff changeset
    76
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
    77
	return DoControl(EControlEndpointZeroRequestError);
089413cdde3c 201028_02
hgs
parents:
diff changeset
    78
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
    79
089413cdde3c 201028_02
hgs
parents:
diff changeset
    80
089413cdde3c 201028_02
hgs
parents:
diff changeset
    81
inline TInt RDevUsbcClient::EndpointCaps(TDes8& aCapsBuf)
089413cdde3c 201028_02
hgs
parents:
diff changeset
    82
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
    83
	return DoControl(EControlEndpointCaps, &aCapsBuf);
089413cdde3c 201028_02
hgs
parents:
diff changeset
    84
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
    85
089413cdde3c 201028_02
hgs
parents:
diff changeset
    86
089413cdde3c 201028_02
hgs
parents:
diff changeset
    87
inline TInt RDevUsbcClient::DeviceCaps(TUsbDeviceCaps& aCapsBuf)
089413cdde3c 201028_02
hgs
parents:
diff changeset
    88
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
    89
	return DoControl(EControlDeviceCaps, &aCapsBuf);
089413cdde3c 201028_02
hgs
parents:
diff changeset
    90
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
    91
089413cdde3c 201028_02
hgs
parents:
diff changeset
    92
089413cdde3c 201028_02
hgs
parents:
diff changeset
    93
inline TInt RDevUsbcClient::GetAlternateSetting(TInt &aInterfaceNumber)
089413cdde3c 201028_02
hgs
parents:
diff changeset
    94
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
    95
	return DoControl(EControlGetAlternateSetting, &aInterfaceNumber);
089413cdde3c 201028_02
hgs
parents:
diff changeset
    96
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
    97
089413cdde3c 201028_02
hgs
parents:
diff changeset
    98
089413cdde3c 201028_02
hgs
parents:
diff changeset
    99
inline TInt RDevUsbcClient::DeviceStatus(TUsbcDeviceState &aDeviceStatus)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   100
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   101
	return DoControl(EControlDeviceStatus, &aDeviceStatus);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   102
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   103
089413cdde3c 201028_02
hgs
parents:
diff changeset
   104
089413cdde3c 201028_02
hgs
parents:
diff changeset
   105
inline TInt RDevUsbcClient::EndpointStatus(TEndpointNumber aEndpoint,TEndpointState &aEndpointStatus)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   106
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   107
	return DoControl(EControlEndpointStatus,(TAny*) aEndpoint, &aEndpointStatus);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   108
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   109
089413cdde3c 201028_02
hgs
parents:
diff changeset
   110
089413cdde3c 201028_02
hgs
parents:
diff changeset
   111
inline TInt RDevUsbcClient::QueryReceiveBuffer(TEndpointNumber aEndpoint,TInt& aNumberOfBytes)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   112
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   113
	return DoControl(EControlQueryReceiveBuffer, (TAny*) aEndpoint, &aNumberOfBytes);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   114
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   115
089413cdde3c 201028_02
hgs
parents:
diff changeset
   116
089413cdde3c 201028_02
hgs
parents:
diff changeset
   117
inline TInt RDevUsbcClient::SendEp0StatusPacket()
089413cdde3c 201028_02
hgs
parents:
diff changeset
   118
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   119
	return DoControl(EControlSendEp0StatusPacket);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   120
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   121
089413cdde3c 201028_02
hgs
parents:
diff changeset
   122
089413cdde3c 201028_02
hgs
parents:
diff changeset
   123
inline TInt RDevUsbcClient::HaltEndpoint(TEndpointNumber aEndpoint)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   124
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   125
	return DoControl(EControlHaltEndpoint, (TAny*) aEndpoint);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   126
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   127
089413cdde3c 201028_02
hgs
parents:
diff changeset
   128
089413cdde3c 201028_02
hgs
parents:
diff changeset
   129
inline TInt RDevUsbcClient::ClearHaltEndpoint(TEndpointNumber aEndpoint)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   130
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   131
	return DoControl(EControlClearHaltEndpoint, (TAny*) aEndpoint);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   132
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   133
089413cdde3c 201028_02
hgs
parents:
diff changeset
   134
089413cdde3c 201028_02
hgs
parents:
diff changeset
   135
inline TUint RDevUsbcClient::EndpointZeroMaxPacketSizes()
089413cdde3c 201028_02
hgs
parents:
diff changeset
   136
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   137
	return DoControl(EControlEndpointZeroMaxPacketSizes);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   138
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   139
089413cdde3c 201028_02
hgs
parents:
diff changeset
   140
089413cdde3c 201028_02
hgs
parents:
diff changeset
   141
inline TInt RDevUsbcClient::SetEndpointZeroMaxPacketSize(TInt aMaxPacketSize)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   142
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   143
	return DoControl(EControlSetEndpointZeroMaxPacketSize, (TAny*) aMaxPacketSize);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   144
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   145
089413cdde3c 201028_02
hgs
parents:
diff changeset
   146
089413cdde3c 201028_02
hgs
parents:
diff changeset
   147
inline TInt RDevUsbcClient::GetEndpointZeroMaxPacketSize()
089413cdde3c 201028_02
hgs
parents:
diff changeset
   148
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   149
	return DoControl(EControlGetEndpointZeroMaxPacketSize);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   150
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   151
089413cdde3c 201028_02
hgs
parents:
diff changeset
   152
089413cdde3c 201028_02
hgs
parents:
diff changeset
   153
inline TInt RDevUsbcClient::GetDeviceDescriptor(TDes8& aDeviceDescriptor)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   154
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   155
	return DoControl(EControlGetDeviceDescriptor, &aDeviceDescriptor);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   156
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   157
089413cdde3c 201028_02
hgs
parents:
diff changeset
   158
089413cdde3c 201028_02
hgs
parents:
diff changeset
   159
inline TInt RDevUsbcClient::SetDeviceDescriptor(const TDesC8& aDeviceDescriptor)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   160
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   161
	return DoControl(EControlSetDeviceDescriptor, const_cast<TDesC8*>(&aDeviceDescriptor));
089413cdde3c 201028_02
hgs
parents:
diff changeset
   162
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   163
089413cdde3c 201028_02
hgs
parents:
diff changeset
   164
089413cdde3c 201028_02
hgs
parents:
diff changeset
   165
inline TInt RDevUsbcClient::GetDeviceDescriptorSize(TInt& aSize)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   166
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   167
	TPckgBuf<TInt> p;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   168
	TInt r = DoControl(EControlGetDeviceDescriptorSize, &p);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   169
	if (r == KErrNone)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   170
		aSize = p();
089413cdde3c 201028_02
hgs
parents:
diff changeset
   171
	return r;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   172
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   173
089413cdde3c 201028_02
hgs
parents:
diff changeset
   174
089413cdde3c 201028_02
hgs
parents:
diff changeset
   175
inline TInt RDevUsbcClient::GetConfigurationDescriptor(TDes8& aConfigurationDescriptor)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   176
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   177
	return DoControl(EControlGetConfigurationDescriptor, &aConfigurationDescriptor);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   178
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   179
089413cdde3c 201028_02
hgs
parents:
diff changeset
   180
089413cdde3c 201028_02
hgs
parents:
diff changeset
   181
inline TInt RDevUsbcClient::SetConfigurationDescriptor(const TDesC8& aConfigurationDescriptor)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   182
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   183
	return DoControl(EControlSetConfigurationDescriptor, const_cast<TDesC8*> (&aConfigurationDescriptor));
089413cdde3c 201028_02
hgs
parents:
diff changeset
   184
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   185
089413cdde3c 201028_02
hgs
parents:
diff changeset
   186
089413cdde3c 201028_02
hgs
parents:
diff changeset
   187
inline TInt RDevUsbcClient::GetConfigurationDescriptorSize(TInt& aSize)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   188
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   189
	TPckgBuf<TInt> p;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   190
	TInt r=DoControl(EControlGetConfigurationDescriptorSize, &p);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   191
	if (r == KErrNone)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   192
		aSize = p();
089413cdde3c 201028_02
hgs
parents:
diff changeset
   193
	return r;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   194
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   195
089413cdde3c 201028_02
hgs
parents:
diff changeset
   196
089413cdde3c 201028_02
hgs
parents:
diff changeset
   197
inline TInt RDevUsbcClient::GetInterfaceDescriptor(TInt aSettingNumber, TDes8& aInterfaceDescriptor)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   198
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   199
	return DoControl(EControlGetInterfaceDescriptor,(TAny*) aSettingNumber, &aInterfaceDescriptor);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   200
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   201
089413cdde3c 201028_02
hgs
parents:
diff changeset
   202
089413cdde3c 201028_02
hgs
parents:
diff changeset
   203
inline TInt RDevUsbcClient::SetInterfaceDescriptor(TInt aSettingNumber, const TDesC8& aInterfaceDescriptor)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   204
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   205
	return DoControl(EControlSetInterfaceDescriptor,(TAny*) aSettingNumber,
089413cdde3c 201028_02
hgs
parents:
diff changeset
   206
					 const_cast<TDesC8*>(&aInterfaceDescriptor));
089413cdde3c 201028_02
hgs
parents:
diff changeset
   207
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   208
089413cdde3c 201028_02
hgs
parents:
diff changeset
   209
089413cdde3c 201028_02
hgs
parents:
diff changeset
   210
inline TInt RDevUsbcClient::GetInterfaceDescriptorSize(TInt aSettingNumber, TInt& aSize)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   211
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   212
	TPckgBuf<TInt> p;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   213
	TInt r = DoControl(EControlGetInterfaceDescriptorSize,(TAny*) aSettingNumber, &p);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   214
	if (r == KErrNone)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   215
		aSize = p();
089413cdde3c 201028_02
hgs
parents:
diff changeset
   216
	return r;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   217
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   218
089413cdde3c 201028_02
hgs
parents:
diff changeset
   219
089413cdde3c 201028_02
hgs
parents:
diff changeset
   220
inline TInt RDevUsbcClient::GetEndpointDescriptor(TInt aSettingNumber, TInt aEndpointNumber,
089413cdde3c 201028_02
hgs
parents:
diff changeset
   221
												  TDes8& aEndpointDescriptor)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   222
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   223
	TEndpointDescriptorInfo info = {aSettingNumber, aEndpointNumber, &aEndpointDescriptor};
089413cdde3c 201028_02
hgs
parents:
diff changeset
   224
	return DoControl(EControlGetEndpointDescriptor, &info, NULL);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   225
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   226
089413cdde3c 201028_02
hgs
parents:
diff changeset
   227
089413cdde3c 201028_02
hgs
parents:
diff changeset
   228
inline TInt RDevUsbcClient::SetEndpointDescriptor(TInt aSettingNumber, TInt aEndpointNumber,
089413cdde3c 201028_02
hgs
parents:
diff changeset
   229
												  const TDesC8& aEndpointDescriptor)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   230
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   231
	TEndpointDescriptorInfo info = {aSettingNumber, aEndpointNumber, const_cast<TDesC8*>(&aEndpointDescriptor)};
089413cdde3c 201028_02
hgs
parents:
diff changeset
   232
	return DoControl(EControlSetEndpointDescriptor, &info, NULL);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   233
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   234
089413cdde3c 201028_02
hgs
parents:
diff changeset
   235
089413cdde3c 201028_02
hgs
parents:
diff changeset
   236
inline TInt RDevUsbcClient::GetEndpointDescriptorSize(TInt aSettingNumber, TInt aEndpointNumber, TInt& aSize)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   237
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   238
	TPckgBuf<TInt> p;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   239
	TEndpointDescriptorInfo info = {aSettingNumber, aEndpointNumber, &p};
089413cdde3c 201028_02
hgs
parents:
diff changeset
   240
	TInt r = DoControl(EControlGetEndpointDescriptorSize, &info, NULL);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   241
	if (r == KErrNone)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   242
		aSize = p();
089413cdde3c 201028_02
hgs
parents:
diff changeset
   243
	return r;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   244
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   245
089413cdde3c 201028_02
hgs
parents:
diff changeset
   246
089413cdde3c 201028_02
hgs
parents:
diff changeset
   247
inline void RDevUsbcClient::GetOtgDescriptorSize(TInt& aSize)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   248
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   249
	aSize = KUsbDescSize_Otg;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   250
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   251
089413cdde3c 201028_02
hgs
parents:
diff changeset
   252
089413cdde3c 201028_02
hgs
parents:
diff changeset
   253
inline TInt RDevUsbcClient::GetOtgDescriptor(TDes8& aOtgDesc)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   254
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   255
	return DoControl(EControlGetOtgDescriptor, (TAny*)&aOtgDesc);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   256
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   257
089413cdde3c 201028_02
hgs
parents:
diff changeset
   258
089413cdde3c 201028_02
hgs
parents:
diff changeset
   259
inline TInt RDevUsbcClient::SetOtgDescriptor(const TDesC8& aOtgDesc)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   260
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   261
	return DoControl(EControlSetOtgDescriptor, (TAny*)&aOtgDesc);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   262
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   263
089413cdde3c 201028_02
hgs
parents:
diff changeset
   264
089413cdde3c 201028_02
hgs
parents:
diff changeset
   265
inline TInt RDevUsbcClient::GetDeviceQualifierDescriptor(TDes8& aDescriptor)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   266
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   267
	return DoControl(EControlGetDeviceQualifierDescriptor, &aDescriptor);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   268
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   269
089413cdde3c 201028_02
hgs
parents:
diff changeset
   270
089413cdde3c 201028_02
hgs
parents:
diff changeset
   271
inline TInt RDevUsbcClient::SetDeviceQualifierDescriptor(const TDesC8& aDescriptor)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   272
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   273
	return DoControl(EControlSetDeviceQualifierDescriptor, const_cast<TDesC8*>(&aDescriptor));
089413cdde3c 201028_02
hgs
parents:
diff changeset
   274
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   275
089413cdde3c 201028_02
hgs
parents:
diff changeset
   276
089413cdde3c 201028_02
hgs
parents:
diff changeset
   277
inline TInt RDevUsbcClient::GetOtherSpeedConfigurationDescriptor(TDes8& aDescriptor)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   278
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   279
	return DoControl(EControlGetOtherSpeedConfigurationDescriptor, &aDescriptor);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   280
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   281
089413cdde3c 201028_02
hgs
parents:
diff changeset
   282
089413cdde3c 201028_02
hgs
parents:
diff changeset
   283
inline TInt RDevUsbcClient::SetOtherSpeedConfigurationDescriptor(const TDesC8& aDescriptor)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   284
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   285
	return DoControl(EControlSetOtherSpeedConfigurationDescriptor, const_cast<TDesC8*> (&aDescriptor));
089413cdde3c 201028_02
hgs
parents:
diff changeset
   286
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   287
089413cdde3c 201028_02
hgs
parents:
diff changeset
   288
089413cdde3c 201028_02
hgs
parents:
diff changeset
   289
inline TInt RDevUsbcClient::GetCSInterfaceDescriptorBlock(TInt aSettingNumber, TDes8& aInterfaceDescriptor)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   290
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   291
	return DoControl(EControlGetCSInterfaceDescriptor,(TAny*) aSettingNumber, &aInterfaceDescriptor);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   292
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   293
089413cdde3c 201028_02
hgs
parents:
diff changeset
   294
089413cdde3c 201028_02
hgs
parents:
diff changeset
   295
inline TInt RDevUsbcClient::GetCSInterfaceDescriptorBlockSize(TInt aSettingNumber, TInt& aSize)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   296
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   297
	TPckgBuf<TInt> p;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   298
	TInt r = DoControl(EControlGetCSInterfaceDescriptorSize,(TAny*) aSettingNumber, &p);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   299
	if (r == KErrNone)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   300
		aSize = p();
089413cdde3c 201028_02
hgs
parents:
diff changeset
   301
	return r;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   302
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   303
089413cdde3c 201028_02
hgs
parents:
diff changeset
   304
089413cdde3c 201028_02
hgs
parents:
diff changeset
   305
inline TInt RDevUsbcClient::GetCSEndpointDescriptorBlock(TInt aSettingNumber, TInt aEndpointNumber,
089413cdde3c 201028_02
hgs
parents:
diff changeset
   306
														 TDes8& aEndpointDescriptor)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   307
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   308
	TEndpointDescriptorInfo info={aSettingNumber, aEndpointNumber, &aEndpointDescriptor};
089413cdde3c 201028_02
hgs
parents:
diff changeset
   309
	return DoControl(EControlGetCSEndpointDescriptor,&info,NULL);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   310
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   311
089413cdde3c 201028_02
hgs
parents:
diff changeset
   312
089413cdde3c 201028_02
hgs
parents:
diff changeset
   313
inline TInt RDevUsbcClient::GetCSEndpointDescriptorBlockSize(TInt aSettingNumber, TInt aEndpointNumber,
089413cdde3c 201028_02
hgs
parents:
diff changeset
   314
															 TInt& aSize)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   315
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   316
	TPckgBuf<TInt> p;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   317
	TEndpointDescriptorInfo info = {aSettingNumber, aEndpointNumber, &p};
089413cdde3c 201028_02
hgs
parents:
diff changeset
   318
	TInt r = DoControl(EControlGetCSEndpointDescriptorSize, &info, NULL);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   319
	if (r == KErrNone)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   320
		aSize = p();
089413cdde3c 201028_02
hgs
parents:
diff changeset
   321
	return r;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   322
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   323
089413cdde3c 201028_02
hgs
parents:
diff changeset
   324
089413cdde3c 201028_02
hgs
parents:
diff changeset
   325
inline TInt RDevUsbcClient::SignalRemoteWakeup()
089413cdde3c 201028_02
hgs
parents:
diff changeset
   326
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   327
	return DoControl(EControlSignalRemoteWakeup);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   328
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   329
089413cdde3c 201028_02
hgs
parents:
diff changeset
   330
089413cdde3c 201028_02
hgs
parents:
diff changeset
   331
inline TInt RDevUsbcClient::DeviceDisconnectFromHost()
089413cdde3c 201028_02
hgs
parents:
diff changeset
   332
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   333
	return DoControl(EControlDeviceDisconnectFromHost);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   334
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   335
089413cdde3c 201028_02
hgs
parents:
diff changeset
   336
089413cdde3c 201028_02
hgs
parents:
diff changeset
   337
inline TInt RDevUsbcClient::DeviceConnectToHost()
089413cdde3c 201028_02
hgs
parents:
diff changeset
   338
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   339
	return DoControl(EControlDeviceConnectToHost);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   340
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   341
089413cdde3c 201028_02
hgs
parents:
diff changeset
   342
089413cdde3c 201028_02
hgs
parents:
diff changeset
   343
inline TInt RDevUsbcClient::PowerUpUdc()
089413cdde3c 201028_02
hgs
parents:
diff changeset
   344
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   345
	return DoControl(EControlDevicePowerUpUdc);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   346
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   347
089413cdde3c 201028_02
hgs
parents:
diff changeset
   348
089413cdde3c 201028_02
hgs
parents:
diff changeset
   349
inline TBool RDevUsbcClient::CurrentlyUsingHighSpeed()
089413cdde3c 201028_02
hgs
parents:
diff changeset
   350
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   351
	return DoControl(EControlCurrentlyUsingHighSpeed);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   352
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   353
089413cdde3c 201028_02
hgs
parents:
diff changeset
   354
089413cdde3c 201028_02
hgs
parents:
diff changeset
   355
inline TInt RDevUsbcClient::SetInterface(TInt aInterfaceNumber, TUsbcInterfaceInfoBuf& aInterfaceData,
089413cdde3c 201028_02
hgs
parents:
diff changeset
   356
										 TUint32 aBandwidthPriority)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   357
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   358
	TPtr8 name_8(NULL,0);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   359
	TUsbcIfcInfo ifcinfo;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   360
	ifcinfo.iInterfaceData = const_cast<TUsbcInterfaceInfoBuf*>(&aInterfaceData);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   361
	if (!aInterfaceData().iString)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   362
		{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   363
		ifcinfo.iString = NULL;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   364
		}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   365
	else
089413cdde3c 201028_02
hgs
parents:
diff changeset
   366
		{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   367
		name_8.Set(const_cast<TUint8*>(reinterpret_cast<const TUint8*>(aInterfaceData().iString->Ptr())),
089413cdde3c 201028_02
hgs
parents:
diff changeset
   368
				   aInterfaceData().iString->Size(), aInterfaceData().iString->Size());
089413cdde3c 201028_02
hgs
parents:
diff changeset
   369
		ifcinfo.iString = &name_8;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   370
		}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   371
	ifcinfo.iBandwidthPriority = aBandwidthPriority;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   372
	return DoControl(EControlSetInterface, (TAny*)aInterfaceNumber, &ifcinfo);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   373
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   374
089413cdde3c 201028_02
hgs
parents:
diff changeset
   375
089413cdde3c 201028_02
hgs
parents:
diff changeset
   376
inline TInt RDevUsbcClient::ReleaseInterface(TInt aInterfaceNumber)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   377
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   378
	return DoControl(EControlReleaseInterface, (TAny*)aInterfaceNumber);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   379
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   380
089413cdde3c 201028_02
hgs
parents:
diff changeset
   381
089413cdde3c 201028_02
hgs
parents:
diff changeset
   382
inline TInt RDevUsbcClient::SetCSInterfaceDescriptorBlock(TInt aSettingNumber, const TDesC8& aInterfaceDescriptor)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   383
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   384
	TCSDescriptorInfo info = {aSettingNumber, 0, const_cast<TDesC8*>(&aInterfaceDescriptor),
089413cdde3c 201028_02
hgs
parents:
diff changeset
   385
							  aInterfaceDescriptor.Size()};
089413cdde3c 201028_02
hgs
parents:
diff changeset
   386
	return DoControl(EControlSetCSInterfaceDescriptor, &info, NULL);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   387
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   388
089413cdde3c 201028_02
hgs
parents:
diff changeset
   389
089413cdde3c 201028_02
hgs
parents:
diff changeset
   390
inline TInt RDevUsbcClient::SetCSEndpointDescriptorBlock(TInt aSettingNumber, TInt aEndpointNumber,
089413cdde3c 201028_02
hgs
parents:
diff changeset
   391
														 const TDesC8& aEndpointDescriptor)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   392
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   393
	TCSDescriptorInfo info = {aSettingNumber, aEndpointNumber, const_cast<TDesC8*>(&aEndpointDescriptor),
089413cdde3c 201028_02
hgs
parents:
diff changeset
   394
							  aEndpointDescriptor.Size()};
089413cdde3c 201028_02
hgs
parents:
diff changeset
   395
	return DoControl(EControlSetCSEndpointDescriptor, &info, NULL);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   396
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   397
089413cdde3c 201028_02
hgs
parents:
diff changeset
   398
089413cdde3c 201028_02
hgs
parents:
diff changeset
   399
inline TInt RDevUsbcClient::SetDeviceControl()
089413cdde3c 201028_02
hgs
parents:
diff changeset
   400
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   401
	return DoControl(EControlSetDeviceControl);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   402
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   403
089413cdde3c 201028_02
hgs
parents:
diff changeset
   404
089413cdde3c 201028_02
hgs
parents:
diff changeset
   405
inline TInt RDevUsbcClient::ReleaseDeviceControl()
089413cdde3c 201028_02
hgs
parents:
diff changeset
   406
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   407
	return DoControl(EControlReleaseDeviceControl);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   408
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   409
089413cdde3c 201028_02
hgs
parents:
diff changeset
   410
089413cdde3c 201028_02
hgs
parents:
diff changeset
   411
inline TInt RDevUsbcClient::GetStringDescriptorLangId(TUint16& aLangId)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   412
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   413
	TPckgBuf<TUint16> p;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   414
	const TInt r = DoControl(EControlGetStringDescriptorLangId, &p);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   415
	if (r == KErrNone)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   416
		aLangId = p();
089413cdde3c 201028_02
hgs
parents:
diff changeset
   417
	return r;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   418
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   419
089413cdde3c 201028_02
hgs
parents:
diff changeset
   420
089413cdde3c 201028_02
hgs
parents:
diff changeset
   421
inline TInt RDevUsbcClient::SetStringDescriptorLangId(TUint16 aLangId)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   422
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   423
	return DoControl(EControlSetStringDescriptorLangId, (TAny*)(TUint)aLangId);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   424
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   425
089413cdde3c 201028_02
hgs
parents:
diff changeset
   426
089413cdde3c 201028_02
hgs
parents:
diff changeset
   427
inline TInt RDevUsbcClient::GetManufacturerStringDescriptor(TDes16& aString)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   428
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   429
	TPtr8 name_8(const_cast<TUint8*>(reinterpret_cast<const TUint8*>(aString.Ptr())), aString.MaxSize());
089413cdde3c 201028_02
hgs
parents:
diff changeset
   430
	const TInt r = DoControl(EControlGetManufacturerStringDescriptor, &name_8);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   431
	aString.SetLength(name_8.Size()/2);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   432
	return r;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   433
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   434
089413cdde3c 201028_02
hgs
parents:
diff changeset
   435
089413cdde3c 201028_02
hgs
parents:
diff changeset
   436
inline TInt RDevUsbcClient::SetManufacturerStringDescriptor(const TDesC16& aString)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   437
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   438
	TPtrC8 name_8(reinterpret_cast<const TUint8*>(aString.Ptr()), aString.Size());
089413cdde3c 201028_02
hgs
parents:
diff changeset
   439
	return DoControl(EControlSetManufacturerStringDescriptor, &name_8);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   440
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   441
089413cdde3c 201028_02
hgs
parents:
diff changeset
   442
089413cdde3c 201028_02
hgs
parents:
diff changeset
   443
inline TInt RDevUsbcClient::RemoveManufacturerStringDescriptor()
089413cdde3c 201028_02
hgs
parents:
diff changeset
   444
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   445
	return DoControl(EControlRemoveManufacturerStringDescriptor);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   446
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   447
089413cdde3c 201028_02
hgs
parents:
diff changeset
   448
089413cdde3c 201028_02
hgs
parents:
diff changeset
   449
inline TInt RDevUsbcClient::GetProductStringDescriptor(TDes16& aString)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   450
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   451
	TPtr8 name_8(const_cast<TUint8*>(reinterpret_cast<const TUint8*>(aString.Ptr())), aString.MaxSize());
089413cdde3c 201028_02
hgs
parents:
diff changeset
   452
	const TInt r = DoControl(EControlGetProductStringDescriptor, &name_8);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   453
	aString.SetLength(name_8.Size()/2);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   454
	return r;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   455
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   456
089413cdde3c 201028_02
hgs
parents:
diff changeset
   457
089413cdde3c 201028_02
hgs
parents:
diff changeset
   458
inline TInt RDevUsbcClient::SetProductStringDescriptor(const TDesC16& aString)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   459
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   460
	TPtrC8 name_8(reinterpret_cast<const TUint8*>(aString.Ptr()), aString.Size());
089413cdde3c 201028_02
hgs
parents:
diff changeset
   461
	return DoControl(EControlSetProductStringDescriptor, &name_8);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   462
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   463
089413cdde3c 201028_02
hgs
parents:
diff changeset
   464
089413cdde3c 201028_02
hgs
parents:
diff changeset
   465
inline TInt RDevUsbcClient::RemoveProductStringDescriptor()
089413cdde3c 201028_02
hgs
parents:
diff changeset
   466
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   467
	return DoControl(EControlRemoveProductStringDescriptor);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   468
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   469
089413cdde3c 201028_02
hgs
parents:
diff changeset
   470
089413cdde3c 201028_02
hgs
parents:
diff changeset
   471
inline TInt RDevUsbcClient::GetSerialNumberStringDescriptor(TDes16& aString)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   472
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   473
	TPtr8 name_8(const_cast<TUint8*>(reinterpret_cast<const TUint8*>(aString.Ptr())), aString.MaxSize());
089413cdde3c 201028_02
hgs
parents:
diff changeset
   474
	const TInt r = DoControl(EControlGetSerialNumberStringDescriptor, &name_8);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   475
	aString.SetLength(name_8.Size()/2);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   476
	return r;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   477
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   478
089413cdde3c 201028_02
hgs
parents:
diff changeset
   479
089413cdde3c 201028_02
hgs
parents:
diff changeset
   480
inline TInt RDevUsbcClient::SetSerialNumberStringDescriptor(const TDesC16& aString)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   481
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   482
	TPtrC8 name_8(reinterpret_cast<const TUint8*>(aString.Ptr()), aString.Size());
089413cdde3c 201028_02
hgs
parents:
diff changeset
   483
	return DoControl(EControlSetSerialNumberStringDescriptor, &name_8);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   484
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   485
089413cdde3c 201028_02
hgs
parents:
diff changeset
   486
089413cdde3c 201028_02
hgs
parents:
diff changeset
   487
inline TInt RDevUsbcClient::RemoveSerialNumberStringDescriptor()
089413cdde3c 201028_02
hgs
parents:
diff changeset
   488
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   489
	return DoControl(EControlRemoveSerialNumberStringDescriptor);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   490
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   491
089413cdde3c 201028_02
hgs
parents:
diff changeset
   492
089413cdde3c 201028_02
hgs
parents:
diff changeset
   493
inline TInt RDevUsbcClient::GetConfigurationStringDescriptor(TDes16& aString)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   494
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   495
	TPtr8 name_8(const_cast<TUint8*>(reinterpret_cast<const TUint8*>(aString.Ptr())), aString.MaxSize());
089413cdde3c 201028_02
hgs
parents:
diff changeset
   496
	const TInt r = DoControl(EControlGetConfigurationStringDescriptor, &name_8);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   497
	aString.SetLength(name_8.Size() / 2);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   498
	return r;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   499
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   500
089413cdde3c 201028_02
hgs
parents:
diff changeset
   501
089413cdde3c 201028_02
hgs
parents:
diff changeset
   502
inline TInt RDevUsbcClient::SetConfigurationStringDescriptor(const TDesC16& aString)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   503
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   504
	TPtrC8 name_8(reinterpret_cast<const TUint8*>(aString.Ptr()), aString.Size());
089413cdde3c 201028_02
hgs
parents:
diff changeset
   505
	return DoControl(EControlSetConfigurationStringDescriptor, &name_8);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   506
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   507
089413cdde3c 201028_02
hgs
parents:
diff changeset
   508
089413cdde3c 201028_02
hgs
parents:
diff changeset
   509
inline TInt RDevUsbcClient::RemoveConfigurationStringDescriptor()
089413cdde3c 201028_02
hgs
parents:
diff changeset
   510
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   511
	return DoControl(EControlRemoveConfigurationStringDescriptor);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   512
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   513
089413cdde3c 201028_02
hgs
parents:
diff changeset
   514
089413cdde3c 201028_02
hgs
parents:
diff changeset
   515
inline TInt RDevUsbcClient::GetStringDescriptor(TUint8 aIndex, TDes16& aString)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   516
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   517
	TPtr8 name_8(const_cast<TUint8*>(reinterpret_cast<const TUint8*>(aString.Ptr())), aString.MaxSize());
089413cdde3c 201028_02
hgs
parents:
diff changeset
   518
	const TInt r = DoControl(EControlGetStringDescriptor, (TAny*)(TUint)aIndex, &name_8);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   519
	aString.SetLength(name_8.Size() / 2);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   520
	return r;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   521
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   522
089413cdde3c 201028_02
hgs
parents:
diff changeset
   523
089413cdde3c 201028_02
hgs
parents:
diff changeset
   524
inline TInt RDevUsbcClient::SetStringDescriptor(TUint8 aIndex, const TDesC16& aString)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   525
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   526
	TPtrC8 name_8(reinterpret_cast<const TUint8*>(aString.Ptr()), aString.Size());
089413cdde3c 201028_02
hgs
parents:
diff changeset
   527
	return DoControl(EControlSetStringDescriptor, (TAny*)(TUint)aIndex, &name_8);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   528
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   529
089413cdde3c 201028_02
hgs
parents:
diff changeset
   530
089413cdde3c 201028_02
hgs
parents:
diff changeset
   531
inline TInt RDevUsbcClient::RemoveStringDescriptor(TUint8 aIndex)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   532
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   533
	return DoControl(EControlRemoveStringDescriptor, (TAny*)(TUint)aIndex);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   534
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   535
089413cdde3c 201028_02
hgs
parents:
diff changeset
   536
089413cdde3c 201028_02
hgs
parents:
diff changeset
   537
inline TInt RDevUsbcClient::AllocateEndpointResource(TInt aEndpoint, TUsbcEndpointResource aResource)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   538
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   539
	return DoControl(EControlAllocateEndpointResource, (TAny*)aEndpoint, (TAny*)aResource);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   540
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   541
089413cdde3c 201028_02
hgs
parents:
diff changeset
   542
089413cdde3c 201028_02
hgs
parents:
diff changeset
   543
inline TInt RDevUsbcClient::DeAllocateEndpointResource(TInt aEndpoint, TUsbcEndpointResource aResource)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   544
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   545
	return DoControl(EControlDeAllocateEndpointResource, (TAny*)aEndpoint, (TAny*)aResource);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   546
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   547
089413cdde3c 201028_02
hgs
parents:
diff changeset
   548
089413cdde3c 201028_02
hgs
parents:
diff changeset
   549
inline TBool RDevUsbcClient::QueryEndpointResourceUse(TInt aEndpoint, TUsbcEndpointResource aResource)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   550
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   551
	return DoControl(EControlQueryEndpointResourceUse, (TAny*)aEndpoint, (TAny*)aResource);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   552
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   553
089413cdde3c 201028_02
hgs
parents:
diff changeset
   554
089413cdde3c 201028_02
hgs
parents:
diff changeset
   555
inline void RDevUsbcClient::ReadUntilShort(TRequestStatus &aStatus, TEndpointNumber aEndpoint, TDes8 &aDes)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   556
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   557
	TInt ep = (aEndpoint < 0 || aEndpoint > KMaxEndpointsPerClient) ? KInvalidEndpointNumber : aEndpoint;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   558
	TEndpointTransferInfo info = {&aDes, ETransferTypeReadUntilShort, aDes.MaxLength()};
089413cdde3c 201028_02
hgs
parents:
diff changeset
   559
	DoRequest(ep, aStatus, &info, NULL);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   560
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   561
089413cdde3c 201028_02
hgs
parents:
diff changeset
   562
089413cdde3c 201028_02
hgs
parents:
diff changeset
   563
inline void RDevUsbcClient::ReadUntilShort(TRequestStatus &aStatus, TEndpointNumber aEndpoint, TDes8 &aDes,
089413cdde3c 201028_02
hgs
parents:
diff changeset
   564
										   TInt aLen)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   565
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   566
	TInt ep = (aEndpoint < 0 || aEndpoint > KMaxEndpointsPerClient) ? KInvalidEndpointNumber : aEndpoint;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   567
	TEndpointTransferInfo info = {&aDes, ETransferTypeReadUntilShort, aLen};
089413cdde3c 201028_02
hgs
parents:
diff changeset
   568
	DoRequest(ep, aStatus, &info, NULL);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   569
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   570
089413cdde3c 201028_02
hgs
parents:
diff changeset
   571
089413cdde3c 201028_02
hgs
parents:
diff changeset
   572
inline void RDevUsbcClient::ReadOneOrMore(TRequestStatus &aStatus, TEndpointNumber aEndpoint, TDes8 &aDes)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   573
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   574
	TInt ep = (aEndpoint < 0 || aEndpoint > KMaxEndpointsPerClient) ? KInvalidEndpointNumber : aEndpoint;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   575
	TEndpointTransferInfo info = {&aDes, ETransferTypeReadOneOrMore, aDes.MaxLength()};
089413cdde3c 201028_02
hgs
parents:
diff changeset
   576
	DoRequest(ep, aStatus, &info, NULL);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   577
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   578
089413cdde3c 201028_02
hgs
parents:
diff changeset
   579
089413cdde3c 201028_02
hgs
parents:
diff changeset
   580
inline void RDevUsbcClient::ReadOneOrMore(TRequestStatus &aStatus, TEndpointNumber aEndpoint, TDes8 &aDes,
089413cdde3c 201028_02
hgs
parents:
diff changeset
   581
										  TInt aLen)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   582
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   583
	TInt ep = (aEndpoint < 0 || aEndpoint > KMaxEndpointsPerClient) ? KInvalidEndpointNumber : aEndpoint;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   584
	TEndpointTransferInfo info = {&aDes, ETransferTypeReadOneOrMore, aLen};
089413cdde3c 201028_02
hgs
parents:
diff changeset
   585
	DoRequest(ep, aStatus, &info, NULL);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   586
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   587
089413cdde3c 201028_02
hgs
parents:
diff changeset
   588
089413cdde3c 201028_02
hgs
parents:
diff changeset
   589
inline void RDevUsbcClient::Read(TRequestStatus &aStatus, TEndpointNumber aEndpoint, TDes8 &aDes)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   590
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   591
	TInt ep = (aEndpoint < 0 || aEndpoint > KMaxEndpointsPerClient) ? KInvalidEndpointNumber : aEndpoint;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   592
	TEndpointTransferInfo info = {&aDes, ETransferTypeReadData, aDes.MaxLength()};
089413cdde3c 201028_02
hgs
parents:
diff changeset
   593
	DoRequest(ep, aStatus, &info, NULL);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   594
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   595
089413cdde3c 201028_02
hgs
parents:
diff changeset
   596
089413cdde3c 201028_02
hgs
parents:
diff changeset
   597
inline void RDevUsbcClient::Read(TRequestStatus &aStatus, TEndpointNumber aEndpoint, TDes8 &aDes, TInt aLen)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   598
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   599
	TInt ep = (aEndpoint < 0 || aEndpoint > KMaxEndpointsPerClient) ? KInvalidEndpointNumber : aEndpoint;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   600
	TEndpointTransferInfo info = {&aDes, ETransferTypeReadData, aLen};
089413cdde3c 201028_02
hgs
parents:
diff changeset
   601
	DoRequest(ep, aStatus, &info, NULL);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   602
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   603
089413cdde3c 201028_02
hgs
parents:
diff changeset
   604
089413cdde3c 201028_02
hgs
parents:
diff changeset
   605
inline void RDevUsbcClient::ReadPacket(TRequestStatus &aStatus, TEndpointNumber aEndpoint, TDes8 &aDes,
089413cdde3c 201028_02
hgs
parents:
diff changeset
   606
									   TInt aMaxLen)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   607
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   608
	TInt ep = (aEndpoint < 0 || aEndpoint > KMaxEndpointsPerClient) ? KInvalidEndpointNumber : aEndpoint;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   609
	TEndpointTransferInfo info = {&aDes, ETransferTypeReadPacket, aMaxLen};
089413cdde3c 201028_02
hgs
parents:
diff changeset
   610
	DoRequest(ep, aStatus, &info, NULL);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   611
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   612
089413cdde3c 201028_02
hgs
parents:
diff changeset
   613
089413cdde3c 201028_02
hgs
parents:
diff changeset
   614
inline void RDevUsbcClient::Write(TRequestStatus &aStatus, TEndpointNumber aEndpoint, const TDesC8& aDes,
089413cdde3c 201028_02
hgs
parents:
diff changeset
   615
								  TInt aLen, TBool aZlpRequired)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   616
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   617
	TInt ep = (aEndpoint < 0 || aEndpoint > KMaxEndpointsPerClient) ? KInvalidEndpointNumber : aEndpoint;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   618
	TEndpointTransferInfo info = {const_cast<TDesC8*>(&aDes), ETransferTypeWrite, aLen, aZlpRequired};
089413cdde3c 201028_02
hgs
parents:
diff changeset
   619
	DoRequest(ep, aStatus, &info, NULL);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   620
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   621
089413cdde3c 201028_02
hgs
parents:
diff changeset
   622
089413cdde3c 201028_02
hgs
parents:
diff changeset
   623
inline void RDevUsbcClient::AlternateDeviceStatusNotify(TRequestStatus& aStatus, TUint& aValue)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   624
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   625
	DoRequest(ERequestAlternateDeviceStatusNotify, aStatus, &aValue);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   626
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   627
089413cdde3c 201028_02
hgs
parents:
diff changeset
   628
089413cdde3c 201028_02
hgs
parents:
diff changeset
   629
inline void RDevUsbcClient::ReEnumerate(TRequestStatus& aStatus)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   630
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   631
	DoRequest(ERequestReEnumerate, aStatus);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   632
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   633
089413cdde3c 201028_02
hgs
parents:
diff changeset
   634
089413cdde3c 201028_02
hgs
parents:
diff changeset
   635
inline void RDevUsbcClient::EndpointStatusNotify(TRequestStatus& aStatus, TUint& aEndpointMask)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   636
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   637
	DoRequest(ERequestEndpointStatusNotify, aStatus, &aEndpointMask);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   638
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   639
089413cdde3c 201028_02
hgs
parents:
diff changeset
   640
089413cdde3c 201028_02
hgs
parents:
diff changeset
   641
inline void RDevUsbcClient::ReadCancel(TEndpointNumber aEndpoint)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   642
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   643
	if (aEndpoint < 0 || aEndpoint > KMaxEndpointsPerClient)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   644
		return;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   645
	DoCancel(1 << aEndpoint);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   646
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   647
089413cdde3c 201028_02
hgs
parents:
diff changeset
   648
089413cdde3c 201028_02
hgs
parents:
diff changeset
   649
inline void RDevUsbcClient::WriteCancel(TEndpointNumber aEndpoint)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   650
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   651
	ReadCancel(aEndpoint);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   652
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   653
089413cdde3c 201028_02
hgs
parents:
diff changeset
   654
089413cdde3c 201028_02
hgs
parents:
diff changeset
   655
inline void RDevUsbcClient::EndpointTransferCancel(TUint aEndpointMask)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   656
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   657
	/* Mask off non-endpoint cancels */
089413cdde3c 201028_02
hgs
parents:
diff changeset
   658
	DoCancel(aEndpointMask & ERequestAllCancel);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   659
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   660
089413cdde3c 201028_02
hgs
parents:
diff changeset
   661
089413cdde3c 201028_02
hgs
parents:
diff changeset
   662
inline void RDevUsbcClient::AlternateDeviceStatusNotifyCancel()
089413cdde3c 201028_02
hgs
parents:
diff changeset
   663
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   664
	DoCancel(ERequestAlternateDeviceStatusNotifyCancel);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   665
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   666
089413cdde3c 201028_02
hgs
parents:
diff changeset
   667
089413cdde3c 201028_02
hgs
parents:
diff changeset
   668
inline void RDevUsbcClient::ReEnumerateCancel()
089413cdde3c 201028_02
hgs
parents:
diff changeset
   669
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   670
	DoCancel(ERequestReEnumerateCancel);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   671
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   672
089413cdde3c 201028_02
hgs
parents:
diff changeset
   673
089413cdde3c 201028_02
hgs
parents:
diff changeset
   674
inline void RDevUsbcClient::EndpointStatusNotifyCancel()
089413cdde3c 201028_02
hgs
parents:
diff changeset
   675
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   676
	DoCancel(ERequestEndpointStatusNotifyCancel);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   677
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   678
089413cdde3c 201028_02
hgs
parents:
diff changeset
   679
inline TInt RDevUsbcClient::GetOtgFeatures(TUint8& aFeatures)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   680
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   681
	TPckgBuf<TUint8> p;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   682
	TInt r = DoControl(EControlGetOtgFeatures, &p);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   683
	if (r == KErrNone)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   684
		aFeatures = p();
089413cdde3c 201028_02
hgs
parents:
diff changeset
   685
	return r;
089413cdde3c 201028_02
hgs
parents:
diff changeset
   686
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   687
089413cdde3c 201028_02
hgs
parents:
diff changeset
   688
089413cdde3c 201028_02
hgs
parents:
diff changeset
   689
inline void RDevUsbcClient::OtgFeaturesNotify(TRequestStatus& aStatus, TUint8& aValue)
089413cdde3c 201028_02
hgs
parents:
diff changeset
   690
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   691
	DoRequest(ERequestOtgFeaturesNotify, aStatus, &aValue);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   692
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   693
089413cdde3c 201028_02
hgs
parents:
diff changeset
   694
089413cdde3c 201028_02
hgs
parents:
diff changeset
   695
inline void RDevUsbcClient::OtgFeaturesNotifyCancel()
089413cdde3c 201028_02
hgs
parents:
diff changeset
   696
	{
089413cdde3c 201028_02
hgs
parents:
diff changeset
   697
	DoCancel(ERequestOtgFeaturesNotifyCancel);
089413cdde3c 201028_02
hgs
parents:
diff changeset
   698
	}
089413cdde3c 201028_02
hgs
parents:
diff changeset
   699
48
21625e5de155 201035_01
hgs
parents: 33
diff changeset
   700
inline void RDevUsbcClient::ChargingPortTypeNotify(TRequestStatus& aStatus, TUint& aValue)
21625e5de155 201035_01
hgs
parents: 33
diff changeset
   701
    {
21625e5de155 201035_01
hgs
parents: 33
diff changeset
   702
    DoRequest(ERequestChargingPortTypeNotify, aStatus, &aValue);
21625e5de155 201035_01
hgs
parents: 33
diff changeset
   703
    }
21625e5de155 201035_01
hgs
parents: 33
diff changeset
   704
21625e5de155 201035_01
hgs
parents: 33
diff changeset
   705
inline void RDevUsbcClient::ChargingPortTypeNotifyCancel()
21625e5de155 201035_01
hgs
parents: 33
diff changeset
   706
    {
21625e5de155 201035_01
hgs
parents: 33
diff changeset
   707
    DoCancel(ERequestChargingPortTypeNotifyCancel);
21625e5de155 201035_01
hgs
parents: 33
diff changeset
   708
    }
21625e5de155 201035_01
hgs
parents: 33
diff changeset
   709
21625e5de155 201035_01
hgs
parents: 33
diff changeset
   710
inline TInt RDevUsbcClient::ChargerDetectorCaps(TUsbcChargerDetectorProperties& aProperties)
21625e5de155 201035_01
hgs
parents: 33
diff changeset
   711
	{
21625e5de155 201035_01
hgs
parents: 33
diff changeset
   712
	return DoControl(EControlGetChargerDetectorCaps, &aProperties);
21625e5de155 201035_01
hgs
parents: 33
diff changeset
   713
	}
21625e5de155 201035_01
hgs
parents: 33
diff changeset
   714
21625e5de155 201035_01
hgs
parents: 33
diff changeset
   715
33
089413cdde3c 201028_02
hgs
parents:
diff changeset
   716
089413cdde3c 201028_02
hgs
parents:
diff changeset
   717
#endif // #ifndef __KERNEL_MODE__
089413cdde3c 201028_02
hgs
parents:
diff changeset
   718
089413cdde3c 201028_02
hgs
parents:
diff changeset
   719
#endif // #ifndef __D32USBC_INL__