| 84 | return newjob.promote() |
| 85 | |
| 86 | class BitsCopyJob(IBackgroundCopyJob): |
| 87 | version = 1 |
| 88 | @property |
| 89 | def owner(self): |
| 90 | owner = gdef.LPWSTR() |
| 91 | self.GetOwner(owner) |
| 92 | data = owner.value |
| 93 | windows.winproxy.CoTaskMemFree(owner) |
| 94 | return data |
| 95 | |
| 96 | |
| 97 | @property |
| 98 | def iid(self): |
| 99 | res = windows.com.IID() |
| 100 | self.GetId(res) |
| 101 | res.update_strid() |
| 102 | return res |
| 103 | |
| 104 | @property |
| 105 | def state(self): |
| 106 | x = gdef.BG_JOB_STATE() |
| 107 | self.GetState(x) |
| 108 | return x.value |
| 109 | |
| 110 | @property |
| 111 | def name(self): |
| 112 | descr = gdef.LPWSTR() |
| 113 | self.GetDisplayName(descr) |
| 114 | data = descr.value |
| 115 | windows.winproxy.CoTaskMemFree(descr) |
| 116 | return data |
| 117 | |
| 118 | @property |
| 119 | def description(self): |
| 120 | descr = gdef.LPWSTR() |
| 121 | self.GetDescription(descr) |
| 122 | data = descr.value |
| 123 | windows.winproxy.CoTaskMemFree(descr) |
| 124 | return data |
| 125 | |
| 126 | @property |
| 127 | def files(self): |
| 128 | enum = IEnumBackgroundCopyFiles() |
| 129 | self.EnumFiles(enum) |
| 130 | count = gdef.ULONG() |
| 131 | enum.GetCount(count) |
| 132 | if not count: |
| 133 | return [] |
| 134 | res_size = gdef.ULONG() |
| 135 | array = (BitsFile * count.value)() |
| 136 | enum.Next(count.value, array, res_size) |
| 137 | return array[:res_size.value] |
| 138 | |
| 139 | @property |
| 140 | def type(self): |
| 141 | res = gdef.BG_JOB_TYPE() |
| 142 | self.GetType(res) |
| 143 | return res.value |