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