|
1 /* |
|
2 * Copyright (c) 2004-2008 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: |
|
15 * |
|
16 */ |
|
17 |
|
18 using System; |
|
19 using System.Collections.Generic; |
|
20 using System.Text; |
|
21 using CrashDebuggerLib.Structures.KernelObjects; |
|
22 using CrashDebuggerLib.Attributes; |
|
23 |
|
24 namespace CrashDebuggerLib.Structures.NThread |
|
25 { |
|
26 public class NThreadTimeInfo |
|
27 { |
|
28 #region Constructors |
|
29 public NThreadTimeInfo() |
|
30 { |
|
31 } |
|
32 #endregion |
|
33 |
|
34 #region API |
|
35 #endregion |
|
36 |
|
37 #region Properties |
|
38 [PropCat( "Timing Info" )] |
|
39 public int Time |
|
40 { |
|
41 get { return iTime; } |
|
42 set { iTime = value; } |
|
43 } |
|
44 |
|
45 [PropCat( "Timing Info" )] |
|
46 public int Timeslice |
|
47 { |
|
48 get { return iTimeslice; } |
|
49 set { iTimeslice = value; } |
|
50 } |
|
51 |
|
52 [PropCat( "Timing Info", "Last start time", PropCat.TFormatType.EFormatAsHex )] |
|
53 public uint LastStartTime |
|
54 { |
|
55 get { return iLastStartTime; } |
|
56 set { iLastStartTime = value; } |
|
57 } |
|
58 |
|
59 [PropCat( "Timing Info", "Total CPU time" )] |
|
60 public ulong TotalCpuTime |
|
61 { |
|
62 get { return iTotalCpuTime; } |
|
63 set { iTotalCpuTime = value; } |
|
64 } |
|
65 |
|
66 [PropCat( "Timing Info", PropCat.TFormatType.EFormatAsHex )] |
|
67 public uint Tag |
|
68 { |
|
69 get { return iTag; } |
|
70 set { iTag = value; } |
|
71 } |
|
72 #endregion |
|
73 |
|
74 #region Internal methods |
|
75 #endregion |
|
76 |
|
77 #region Internal constants |
|
78 #endregion |
|
79 |
|
80 #region From System.Object |
|
81 public override string ToString() |
|
82 { |
|
83 return base.ToString(); |
|
84 } |
|
85 #endregion |
|
86 |
|
87 #region Data members |
|
88 private int iTime = 0; // Time remaining |
|
89 private int iTimeslice = 0; // Timeslice for this thread |
|
90 private uint iLastStartTime = 0; // Last start of execution timestamp |
|
91 private ulong iTotalCpuTime = 0; // Total time spent running, in hi-res timer ticks |
|
92 private uint iTag; // User defined set of bits which is ANDed with a mask when the thread is scheduled, and indicates if a DFC should be scheduled. |
|
93 #endregion |
|
94 } |
|
95 } |