author | bugtracker-ml@nttdocomo.com |
Sun, 04 Jul 2010 21:21:52 +0100 | |
changeset 84 | 05f4463787cf |
parent 52 | 0dfaca43d90e |
child 79 | 80387fbc46c5 |
permissions | -rw-r--r-- |
52
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
1 |
/* |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
2 |
* Copyright (c) 2010 ISB. |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
3 |
* All rights reserved. |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
4 |
* This component and the accompanying materials are made available |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
5 |
* under the terms of the License "Eclipse Public License v1.0" |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
6 |
* which accompanies this distribution, and is available |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
7 |
* at the URL "http://www.eclipse.org/legal/epl-v10.html". |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
8 |
* |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
9 |
* Initial Contributors: |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
10 |
* ISB - initial contribution. |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
11 |
* |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
12 |
* Contributors: |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
13 |
* |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
14 |
* Description: USB driver for test |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
15 |
* |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
16 |
*/ |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
17 |
|
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
18 |
#include "webcamera_pdd.h" |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
19 |
#include <webcamera_driver.h> |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
20 |
|
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
21 |
#define DP(format...) Kern::Printf(format) |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
22 |
|
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
23 |
//Name for PDD |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
24 |
_LIT(KWebcameraPddName,"WebcameraDevice.pdd"); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
25 |
|
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
26 |
// --------------------------------------------------------------- |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
27 |
// --------------------------------------------------------------- |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
28 |
|
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
29 |
DWebcameraPddFactory::DWebcameraPddFactory() |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
30 |
{ |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
31 |
DP("DWebcameraPddFactory::DWebcameraPddFactory()"); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
32 |
iVersion=TVersion(KCommsMajorVersionNumber,KCommsMinorVersionNumber,KCommsBuildVersionNumber); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
33 |
} |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
34 |
|
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
35 |
TInt DWebcameraPddFactory::Install() |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
36 |
{ |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
37 |
DP("DWebcameraPddFactory::Install"); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
38 |
return SetName(&KWebcameraPddName); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
39 |
} |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
40 |
|
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
41 |
void DWebcameraPddFactory::GetCaps(TDes8 &aDes) const |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
42 |
{ |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
43 |
DP("DWebcameraPddFactory::GetCaps start"); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
44 |
RWebcameraDevice::TCaps capsBuf; |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
45 |
capsBuf.iVersion = iVersion; |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
46 |
aDes.FillZ(aDes.MaxLength()); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
47 |
TInt size=sizeof(capsBuf); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
48 |
if(size>aDes.MaxLength()) |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
49 |
{ |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
50 |
size=aDes.MaxLength(); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
51 |
} |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
52 |
aDes.Copy((TUint8*)&capsBuf,size); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
53 |
DP("DWebcameraPddFactory::GetCaps end"); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
54 |
} |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
55 |
|
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
56 |
TInt DWebcameraPddFactory::Create(DBase*& aChannel, TInt aUnit, const TDesC8* anInfo, const TVersion& aVer) |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
57 |
{ |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
58 |
DP("DWebcameraPddFactory::Create start"); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
59 |
DWebcameraDriver* pD=new DWebcameraDriver; |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
60 |
aChannel=pD; |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
61 |
TInt r=KErrNoMemory; |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
62 |
if (pD) |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
63 |
{ |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
64 |
r=pD->DoCreate(aUnit,anInfo); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
65 |
} |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
66 |
DP("DWebcameraPddFactory::Create end"); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
67 |
return r; |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
68 |
} |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
69 |
|
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
70 |
TInt DWebcameraPddFactory::Validate(TInt aUnit, const TDesC8* /*anInfo*/, const TVersion& aVer) |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
71 |
{ |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
72 |
DP("DWebcameraPddFactory::Validate start"); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
73 |
if ((!Kern::QueryVersionSupported(iVersion,aVer)) || |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
74 |
(!Kern::QueryVersionSupported(aVer,TVersion(KMinimumLddMajorVersion,KMinimumLddMinorVersion,KMinimumLddBuild)))) |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
75 |
{ |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
76 |
return KErrNotSupported; |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
77 |
} |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
78 |
DP("DWebcameraPddFactory::Validate end"); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
79 |
return KErrNone; |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
80 |
} |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
81 |
|
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
82 |
// --------------------------------------------------------------- |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
83 |
// --------------------------------------------------------------- |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
84 |
|
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
85 |
DWebcameraDriver::DWebcameraDriver() |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
86 |
{ |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
87 |
DP("DWebcameraDriver::DWebcameraDriver start"); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
88 |
DP("DWebcameraDriver::DWebcameraDriver end"); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
89 |
} |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
90 |
|
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
91 |
DWebcameraDriver::~DWebcameraDriver() |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
92 |
{ |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
93 |
DP("DWebcameraDriver::~DWebcameraDriver start"); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
94 |
Interrupt::Unbind(iIrq); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
95 |
DP("DWebcameraDriver::~DWebcameraDriver end"); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
96 |
} |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
97 |
|
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
98 |
TInt DWebcameraDriver::DoCreate(TInt aUnit, const TDesC8* anInfo) |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
99 |
{ |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
100 |
DP("DWebcameraDriver::DoCreate start"); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
101 |
iPortAddr=KHwSVPWebcameraDevice; |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
102 |
iIrq = EIrqWebamera; |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
103 |
Interrupt::Bind(iIrq,Isr,this); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
104 |
DP("DWebcameraDriver::DoCreate end"); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
105 |
return KErrNone; |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
106 |
} |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
107 |
|
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
108 |
TInt DWebcameraDriver::StartViewerFinder(TUint aBuffer,TInt aSize) |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
109 |
{ |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
110 |
DP("DWebcameraDriver::StartViewerFinder start"); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
111 |
iType=0; |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
112 |
TUint32 temp=(TUint32)aBuffer; |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
113 |
DP("temp=%x",temp); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
114 |
DP("iPortAddr=%x",iPortAddr); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
115 |
WriteReg(iPortAddr,WEBCAMERA_REG_DATA_TYPE, 0x0); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
116 |
WriteReg(iPortAddr,WEBCAMERA_REG_DMA_ADDR,temp); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
117 |
WriteReg(iPortAddr,WEBCAMERA_REG_DMA_SIZE, aSize); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
118 |
WriteReg(iPortAddr,WEBCAMERA_REG_INT_ENABLE, 0x1); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
119 |
Interrupt::Enable(iIrq); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
120 |
|
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
121 |
DP("DWebcameraDriver::StartViewerFinder END"); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
122 |
return KErrNone; |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
123 |
} |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
124 |
|
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
125 |
TInt DWebcameraDriver::StartCapture(TUint aBuffer,TInt aSize) |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
126 |
{ |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
127 |
DP("DWebcameraDriver::StartCapture start"); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
128 |
// Save a pointer to the buffer we need to put the 'recevied' data in |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
129 |
iType=1; |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
130 |
TUint32 temp=(TUint32)aBuffer; |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
131 |
DP("temp=%x",temp); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
132 |
WriteReg(iPortAddr,WEBCAMERA_REG_DATA_TYPE, 0x1); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
133 |
WriteReg(iPortAddr,WEBCAMERA_REG_DMA_ADDR,temp); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
134 |
WriteReg(iPortAddr,WEBCAMERA_REG_DMA_SIZE, aSize); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
135 |
WriteReg(iPortAddr,WEBCAMERA_REG_INT_ENABLE, 0x1); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
136 |
Interrupt::Enable(iIrq); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
137 |
|
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
138 |
DP("DWebcameraDriver::StartCapture END"); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
139 |
return KErrNone; |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
140 |
} |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
141 |
|
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
142 |
void DWebcameraDriver::Stop(TUSBStopMode aMode) |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
143 |
{ |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
144 |
DP("DWebcameraDriver::Stop start"); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
145 |
WriteReg(iPortAddr, WEBCAMERA_REG_INT_ENABLE, 0x0); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
146 |
Interrupt::Disable(iIrq); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
147 |
DP("DWebcameraDriver::Stop end"); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
148 |
} |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
149 |
|
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
150 |
void DWebcameraDriver::Isr(TAny* aPtr) |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
151 |
{ |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
152 |
DP("DWebcameraDriver::Isr start"); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
153 |
((DWebcameraDriver*)aPtr)->receivedatacallback(); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
154 |
DP("DWebcameraDriver::Isr end"); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
155 |
} |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
156 |
|
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
157 |
void DWebcameraDriver::receivedatacallback() |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
158 |
{ |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
159 |
DP("DWebcameraDriver::receivedatacallback start"); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
160 |
TInt datasize=ReadReg(iPortAddr,WEBCAMERA_REG_DMA_SIZE); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
161 |
switch (iType) |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
162 |
{ |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
163 |
case 0: |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
164 |
iLdd->GetOneFlameComplete(datasize); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
165 |
break; |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
166 |
case 1: |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
167 |
iLdd->CaptureComplete(datasize); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
168 |
break; |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
169 |
default: |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
170 |
// |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
171 |
} |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
172 |
WriteReg(iPortAddr,WEBCAMERA_REG_DMA_ADDR, 0); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
173 |
WriteReg(iPortAddr,WEBCAMERA_REG_DMA_SIZE, 0); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
174 |
WriteReg(iPortAddr,WEBCAMERA_REG_INT_ENABLE, 0x0); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
175 |
DP("DWebcameraDriver::receivedatacallback end"); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
176 |
} |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
177 |
|
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
178 |
// --------------------------------------------------------------- |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
179 |
// --------------------------------------------------------------- |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
180 |
|
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
181 |
DECLARE_STANDARD_PDD() |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
182 |
{ |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
183 |
DP("DECLARE_STANDARD_PDD()"); |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
184 |
return new DWebcameraPddFactory; |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
185 |
} |
0dfaca43d90e
Added web camera drivers and QEMU plug-in for obtaining and transferring dummy data.
Masaki Hosaka <hosaka@isb.co.jp>
parents:
diff
changeset
|
186 |