Skip to content

Commit 9794cfe

Browse files
committed
refactor(NLVObject): use smart pointers for tracking object lifetime
1 parent 1ee78c1 commit 9794cfe

14 files changed

+115
-150
lines changed

src/domain.cc

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ NAN_METHOD(Domain::LookupById)
306306
NLV_WORKER_EXECUTE(Domain, LookupById)
307307
{
308308
NLV_WORKER_ASSERT_PARENT_HANDLE();
309-
lookupHandle_ = virDomainLookupByID(parent_->handle_, id_);
309+
lookupHandle_ = virDomainLookupByID(parent_->handle(), id_);
310310
if (lookupHandle_ == NULL) {
311311
SetVirError(virSaveLastError());
312312
return;
@@ -318,7 +318,7 @@ NLV_WORKER_EXECUTE(Domain, Create)
318318
{
319319
NLV_WORKER_ASSERT_PARENT_HANDLE();
320320
unsigned int flags = 0;
321-
lookupHandle_ = virDomainCreateXML(parent_->handle_, value_.c_str(), flags);
321+
lookupHandle_ = virDomainCreateXML(parent_->handle(), value_.c_str(), flags);
322322
if (lookupHandle_ == NULL) {
323323
SetVirError(virSaveLastError());
324324
return;
@@ -329,7 +329,7 @@ NLV_WORKER_METHOD_DEFINE(Domain)
329329
NLV_WORKER_EXECUTE(Domain, Define)
330330
{
331331
NLV_WORKER_ASSERT_PARENT_HANDLE();
332-
lookupHandle_ = virDomainDefineXML(parent_->handle_, value_.c_str());
332+
lookupHandle_ = virDomainDefineXML(parent_->handle(), value_.c_str());
333333
if (lookupHandle_ == NULL) {
334334
SetVirError(virSaveLastError());
335335
return;
@@ -348,7 +348,7 @@ NAN_METHOD(Domain::Save)
348348
std::string path(*Nan::Utf8String(info[0]->ToString()));
349349
Nan::Callback *callback = new Nan::Callback(info[1].As<Function>());
350350
Domain *domain = Nan::ObjectWrap::Unwrap<Domain>(info.This());
351-
Nan::AsyncQueueWorker(new SaveWorker(callback, domain->handle_, path));
351+
Nan::AsyncQueueWorker(new SaveWorker(callback, domain->handle(), path));
352352
return;
353353
}
354354

@@ -382,7 +382,7 @@ NAN_METHOD(Domain::Restore)
382382
std::string path(*Nan::Utf8String(info[0]->ToString()));
383383
Nan::Callback *callback = new Nan::Callback(info[1].As<Function>());
384384
Hypervisor *hv = Nan::ObjectWrap::Unwrap<Hypervisor>(object);
385-
Nan::AsyncQueueWorker(new RestoreWorker(callback, hv->handle_, path));
385+
Nan::AsyncQueueWorker(new RestoreWorker(callback, hv->handle(), path));
386386
return;
387387
}
388388

@@ -410,7 +410,7 @@ NAN_METHOD(Domain::CoreDump)
410410
std::string path(*Nan::Utf8String(info[0]->ToString()));
411411
Nan::Callback *callback = new Nan::Callback(info[1].As<Function>());
412412
Domain *domain = Nan::ObjectWrap::Unwrap<Domain>(info.This());
413-
Nan::AsyncQueueWorker(new CoreDumpWorker(callback, domain->handle_, path));
413+
Nan::AsyncQueueWorker(new CoreDumpWorker(callback, domain->handle(), path));
414414
return;
415415
}
416416

@@ -723,7 +723,7 @@ NAN_METHOD(Domain::SetAutostart)
723723
bool autoStart = info[0]->IsTrue();
724724
Nan::Callback *callback = new Nan::Callback(info[1].As<Function>());
725725
Domain *domain = Nan::ObjectWrap::Unwrap<Domain>(info.This());
726-
Nan::AsyncQueueWorker(new SetAutostartWorker(callback, domain->handle_, autoStart));
726+
Nan::AsyncQueueWorker(new SetAutostartWorker(callback, domain->handle(), autoStart));
727727
return;
728728
}
729729

@@ -752,7 +752,7 @@ NAN_METHOD(Domain::SetMaxMemory)
752752
// @todo this unsafe, also needs bounds checking!
753753
Nan::Callback *callback = new Nan::Callback(info[1].As<Function>());
754754
Domain *domain = Nan::ObjectWrap::Unwrap<Domain>(info.This());
755-
Nan::AsyncQueueWorker(new SetMaxMemoryWorker(callback, domain->handle_, maxMemory));
755+
Nan::AsyncQueueWorker(new SetMaxMemoryWorker(callback, domain->handle(), maxMemory));
756756
return;
757757
}
758758

@@ -781,7 +781,7 @@ NAN_METHOD(Domain::SetMemory)
781781
// @todo this unsafe, also needs bounds checking!
782782
Nan::Callback *callback = new Nan::Callback(info[1].As<Function>());
783783
Domain *domain = Nan::ObjectWrap::Unwrap<Domain>(info.This());
784-
Nan::AsyncQueueWorker(new SetMemoryWorker(callback, domain->handle_, memory));
784+
Nan::AsyncQueueWorker(new SetMemoryWorker(callback, domain->handle(), memory));
785785
return;
786786
}
787787

@@ -813,7 +813,7 @@ NAN_METHOD(Domain::ToXml)
813813
return;
814814
}
815815
Domain *domain = Nan::ObjectWrap::Unwrap<Domain>(info.This());
816-
Nan::AsyncQueueWorker(new ToXmlWorker(callback, domain->handle_, flags));
816+
Nan::AsyncQueueWorker(new ToXmlWorker(callback, domain->handle(), flags));
817817
return;
818818
}
819819

@@ -858,7 +858,7 @@ NAN_METHOD(Domain::GetMetadata)
858858
return;
859859
}
860860
Domain *domain = Nan::ObjectWrap::Unwrap<Domain>(info.This());
861-
Nan::AsyncQueueWorker(new GetMetadataWorker(callback, domain->handle_, type, namespace_uri, flags));
861+
Nan::AsyncQueueWorker(new GetMetadataWorker(callback, domain->handle(), type, namespace_uri, flags));
862862
return;
863863
#endif
864864
}
@@ -921,7 +921,7 @@ NAN_METHOD(Domain::SetMetadata)
921921
return;
922922
}
923923
Domain *domain = Nan::ObjectWrap::Unwrap<Domain>(info.This());
924-
Nan::AsyncQueueWorker(new SetMetadataWorker(callback, domain->handle_, type, null_metadata, metadata, namespace_key, namespace_uri, flags));
924+
Nan::AsyncQueueWorker(new SetMetadataWorker(callback, domain->handle(), type, null_metadata, metadata, namespace_key, namespace_uri, flags));
925925
return;
926926
#endif
927927
}
@@ -1000,7 +1000,7 @@ NAN_METHOD(Domain::GetBlockInfo)
10001000
std::string path(*Nan::Utf8String(info[0]->ToString()));
10011001
Nan::Callback *callback = new Nan::Callback(info[1].As<Function>());
10021002
Domain *domain = Nan::ObjectWrap::Unwrap<Domain>(info.This());
1003-
Nan::AsyncQueueWorker(new GetBlockInfoWorker(callback, domain->handle_, path));
1003+
Nan::AsyncQueueWorker(new GetBlockInfoWorker(callback, domain->handle(), path));
10041004
return;
10051005
}
10061006

@@ -1039,7 +1039,7 @@ NAN_METHOD(Domain::GetBlockStats)
10391039
std::string path(*Nan::Utf8String(info[0]->ToString()));
10401040
Nan::Callback *callback = new Nan::Callback(info[1].As<Function>());
10411041
Domain *domain = Nan::ObjectWrap::Unwrap<Domain>(info.This());
1042-
Nan::AsyncQueueWorker(new GetBlockStatsWorker(callback, domain->handle_, path));
1042+
Nan::AsyncQueueWorker(new GetBlockStatsWorker(callback, domain->handle(), path));
10431043
return;
10441044
}
10451045

@@ -1137,7 +1137,7 @@ NAN_METHOD(Domain::GetInterfaceStats)
11371137
std::string interface(*Nan::Utf8String(info[0]->ToString()));
11381138
Nan::Callback *callback = new Nan::Callback(info[1].As<Function>());
11391139
Domain *domain = Nan::ObjectWrap::Unwrap<Domain>(info.This());
1140-
Nan::AsyncQueueWorker(new GetInterfaceStatsWorker(callback, domain->handle_, interface));
1140+
Nan::AsyncQueueWorker(new GetInterfaceStatsWorker(callback, domain->handle(), interface));
11411141
return;
11421142
}
11431143

@@ -1313,7 +1313,7 @@ NAN_METHOD(Domain::AttachDevice)
13131313
}
13141314

13151315
Domain *domain = Nan::ObjectWrap::Unwrap<Domain>(info.This());
1316-
Nan::AsyncQueueWorker(new AttachDeviceWorker(callback, domain->handle_, xml, flags));
1316+
Nan::AsyncQueueWorker(new AttachDeviceWorker(callback, domain->handle(), xml, flags));
13171317
return;
13181318
}
13191319

@@ -1359,7 +1359,7 @@ NAN_METHOD(Domain::DetachDevice)
13591359
}
13601360

13611361
Domain *domain = Nan::ObjectWrap::Unwrap<Domain>(info.This());
1362-
Nan::AsyncQueueWorker(new DetachDeviceWorker(callback, domain->handle_, xml, flags));
1362+
Nan::AsyncQueueWorker(new DetachDeviceWorker(callback, domain->handle(), xml, flags));
13631363
return;
13641364
}
13651365

@@ -1405,7 +1405,7 @@ NAN_METHOD(Domain::UpdateDevice)
14051405
}
14061406

14071407
Domain *domain = Nan::ObjectWrap::Unwrap<Domain>(info.This());
1408-
Nan::AsyncQueueWorker(new UpdateDeviceWorker(callback, domain->handle_, xml, flags));
1408+
Nan::AsyncQueueWorker(new UpdateDeviceWorker(callback, domain->handle(), xml, flags));
14091409
return;
14101410
}
14111411

@@ -1500,7 +1500,7 @@ NAN_METHOD(Domain::SetVcpus)
15001500
unsigned int count = info[0]->Int32Value();
15011501
Domain *domain = Nan::ObjectWrap::Unwrap<Domain>(info.This());
15021502
Nan::Callback *callback = new Nan::Callback(info[1].As<Function>());
1503-
Nan::AsyncQueueWorker(new SetVcpusWorker(callback, domain->handle_, count));
1503+
Nan::AsyncQueueWorker(new SetVcpusWorker(callback, domain->handle(), count));
15041504
return;
15051505
}
15061506

@@ -1534,7 +1534,7 @@ NAN_METHOD(Domain::BlockCommit)
15341534
unsigned long bandwidth = info[3]->Int32Value();
15351535
unsigned int flags = GetFlags(info[4]);
15361536

1537-
virDomainPtr domain = Nan::ObjectWrap::Unwrap<Domain>(info.This())->handle_;
1537+
virDomainPtr domain = Nan::ObjectWrap::Unwrap<Domain>(info.This())->handle();
15381538
Worker::RunAsync(info, [=] (Worker::SetOnFinishedHandler onFinished) {
15391539
if (virDomainBlockCommit(domain, path.c_str(), base.c_str(), top.c_str(), bandwidth, flags) < 0) {
15401540
return virSaveLastError();
@@ -1558,7 +1558,7 @@ NAN_METHOD(Domain::BlockJobInfo)
15581558
std::string path(*Nan::Utf8String(info[0]->ToString()));
15591559
unsigned int flags = GetFlags(info[1]);
15601560

1561-
virDomainPtr domain = Nan::ObjectWrap::Unwrap<Domain>(info.This())->handle_;
1561+
virDomainPtr domain = Nan::ObjectWrap::Unwrap<Domain>(info.This())->handle();
15621562
Worker::RunAsync(info, [=] (Worker::SetOnFinishedHandler onFinished) {
15631563
virDomainBlockJobInfo info;
15641564
int ret = virDomainGetBlockJobInfo(domain, path.c_str(), &info, flags);
@@ -1596,7 +1596,7 @@ NAN_METHOD(Domain::BlockJobAbort)
15961596
std::string path(*Nan::Utf8String(info[0]->ToString()));
15971597
unsigned int flags = GetFlags(info[1]);
15981598

1599-
virDomainPtr domain = Nan::ObjectWrap::Unwrap<Domain>(info.This())->handle_;
1599+
virDomainPtr domain = Nan::ObjectWrap::Unwrap<Domain>(info.This())->handle();
16001600

16011601
Worker::RunAsync(info, [=] (Worker::SetOnFinishedHandler onFinished) {
16021602
//abort_flags |= VIR_DOMAIN_BLOCK_JOB_ABORT_PIVOT;
@@ -1626,7 +1626,7 @@ NAN_METHOD(Domain::SendKeys)
16261626

16271627
Domain *domain = Nan::ObjectWrap::Unwrap<Domain>(info.This());
16281628
Nan::Callback *callback = new Nan::Callback(info[1].As<Function>());
1629-
Nan::AsyncQueueWorker(new SendKeysWorker(callback, domain->handle_, keys));
1629+
Nan::AsyncQueueWorker(new SendKeysWorker(callback, domain->handle(), keys));
16301630
return;
16311631
}
16321632

@@ -1689,9 +1689,9 @@ NAN_METHOD(Domain::Migrate)
16891689
}
16901690

16911691
Hypervisor *hypervisor = Nan::ObjectWrap::Unwrap<Hypervisor>(hyp_obj);
1692-
worker = new MigrateWorker(callback, domain->handle_, hypervisor->handle_);
1692+
worker = new MigrateWorker(callback, domain->handle(), hypervisor->handle());
16931693
} else {
1694-
worker = new MigrateWorker(callback, domain->handle_, dest_uri);
1694+
worker = new MigrateWorker(callback, domain->handle(), dest_uri);
16951695
}
16961696

16971697
worker->setBandwidth(bandwidth);
@@ -1761,7 +1761,7 @@ NAN_METHOD(Domain::PinVcpu) {
17611761

17621762
Domain *domain = Nan::ObjectWrap::Unwrap<Domain>(info.This());
17631763
Nan::Callback *callback = new Nan::Callback(info[2].As<Function>());
1764-
Nan::AsyncQueueWorker(new PinVcpuWorker(callback, domain->handle_, info[0]->Int32Value(), usables, vcpus));
1764+
Nan::AsyncQueueWorker(new PinVcpuWorker(callback, domain->handle(), info[0]->Int32Value(), usables, vcpus));
17651765
return;
17661766
}
17671767

@@ -1822,7 +1822,7 @@ NAN_METHOD(Domain::MemoryPeek)
18221822

18231823
Domain *domain = Nan::ObjectWrap::Unwrap<Domain>(info.This());
18241824
Nan::Callback *callback = new Nan::Callback(info[3].As<Function>());
1825-
Nan::AsyncQueueWorker(new MemoryPeekWorker(callback, domain->handle_, start, size, flags));
1825+
Nan::AsyncQueueWorker(new MemoryPeekWorker(callback, domain->handle(), start, size, flags));
18261826
return;
18271827
}
18281828

@@ -1864,7 +1864,7 @@ NAN_METHOD(Domain::BlockPeek)
18641864

18651865
Domain *domain = Nan::ObjectWrap::Unwrap<Domain>(info.This());
18661866
Nan::Callback *callback = new Nan::Callback(info[4].As<Function>());
1867-
Nan::AsyncQueueWorker(new BlockPeekWorker(callback, domain->handle_, path, start, size, flags));
1867+
Nan::AsyncQueueWorker(new BlockPeekWorker(callback, domain->handle(), path, start, size, flags));
18681868
return;
18691869
}
18701870

@@ -1908,7 +1908,7 @@ NAN_METHOD(Domain::RevertToSnapshot) {
19081908

19091909
Domain *domain = Nan::ObjectWrap::Unwrap<Domain>(info.This());
19101910
Nan::Callback *callback = new Nan::Callback(info[1].As<Function>());
1911-
Nan::AsyncQueueWorker(new RevertToSnapshotWorker(callback, domain->handle_, *Nan::Utf8String(info[0]->ToString())));
1911+
Nan::AsyncQueueWorker(new RevertToSnapshotWorker(callback, domain->handle(), *Nan::Utf8String(info[0]->ToString())));
19121912
return;
19131913
}
19141914

@@ -1951,7 +1951,7 @@ NAN_METHOD(Domain::TakeSnapshot) {
19511951

19521952
Domain *domain = Nan::ObjectWrap::Unwrap<Domain>(info.This());
19531953
Nan::Callback *callback = new Nan::Callback(info[2].As<Function>());
1954-
Nan::AsyncQueueWorker(new TakeSnapshotWorker(callback, domain->handle_, *Nan::Utf8String(info[0]->ToString()), flags));
1954+
Nan::AsyncQueueWorker(new TakeSnapshotWorker(callback, domain->handle(), *Nan::Utf8String(info[0]->ToString()), flags));
19551955
return;
19561956
}
19571957

@@ -1979,7 +1979,7 @@ NAN_METHOD(Domain::DeleteSnapshot) {
19791979
std::string name = *Nan::Utf8String(info[0]->ToString());
19801980
unsigned int flags = GetFlags(info[1]);
19811981

1982-
auto domain = Nan::ObjectWrap::Unwrap<Domain>(info.This())->handle_;
1982+
auto domain = Nan::ObjectWrap::Unwrap<Domain>(info.This())->handle();
19831983
//Nan::Callback *callback = new Nan::Callback(info[1].As<Function>());
19841984
Worker::RunAsync(info, [=](Worker::SetOnFinishedHandler onFinished) {
19851985
auto snapshot = virDomainSnapshotLookupByName(domain, name.c_str(), 0);
@@ -2008,7 +2008,7 @@ NAN_METHOD(Domain::LookupSnapshotByName) {
20082008

20092009
Domain *domain = Nan::ObjectWrap::Unwrap<Domain>(info.This());
20102010
Nan::Callback *callback = new Nan::Callback(info[1].As<Function>());
2011-
Nan::AsyncQueueWorker(new LookupSnapshotByNameWorker(callback, domain->handle_, *Nan::Utf8String(info[0]->ToString())));
2011+
Nan::AsyncQueueWorker(new LookupSnapshotByNameWorker(callback, domain->handle(), *Nan::Utf8String(info[0]->ToString())));
20122012
return;
20132013
}
20142014

@@ -2071,7 +2071,7 @@ NAN_METHOD(Domain::SetMigrationMaxDowntime) {
20712071

20722072
Domain *domain = Nan::ObjectWrap::Unwrap<Domain>(info.This());
20732073
Nan::Callback *callback = new Nan::Callback(info[1].As<Function>());
2074-
Nan::AsyncQueueWorker(new SetMigrationMaxDowntimeWorker(callback, domain->handle_, info[0]->Int32Value(), flags));
2074+
Nan::AsyncQueueWorker(new SetMigrationMaxDowntimeWorker(callback, domain->handle(), info[0]->Int32Value(), flags));
20752075
return;
20762076
}
20772077

@@ -2146,7 +2146,7 @@ NAN_METHOD(Domain::RegisterEvent)
21462146
Domain *domain = Nan::ObjectWrap::Unwrap<Domain>(info.This());
21472147
int eventId = arg_obj->Get(Nan::New("evtype").ToLocalChecked())->Int32Value();
21482148
Nan::Callback *callback = new Nan::Callback(info[1].As<Function>());
2149-
Nan::AsyncQueueWorker(new RegisterEventWorker(callback, domain->handle_, domain, eventId));
2149+
Nan::AsyncQueueWorker(new RegisterEventWorker(callback, domain->handle(), domain, eventId));
21502150
return;
21512151
}
21522152

@@ -2207,7 +2207,7 @@ NAN_METHOD(Domain::UnregisterEvent)
22072207

22082208
Domain *domain = Nan::ObjectWrap::Unwrap<Domain>(info.This());
22092209
Nan::Callback *callback = new Nan::Callback(info[1].As<Function>());
2210-
Nan::AsyncQueueWorker(new UnregisterEventWorker(callback, domain->handle_, info[0]->Int32Value()));
2210+
Nan::AsyncQueueWorker(new UnregisterEventWorker(callback, domain->handle(), info[0]->Int32Value()));
22112211
return;
22122212
}
22132213

@@ -2242,7 +2242,7 @@ NAN_METHOD(Domain::SetSchedulerParameters)
22422242
Local<Object> newparams = info[0]->ToObject();
22432243
Domain *domain = Nan::ObjectWrap::Unwrap<Domain>(info.This());
22442244

2245-
type = virDomainGetSchedulerType(domain->handle_, &nparams);
2245+
type = virDomainGetSchedulerType(domain->handle(), &nparams);
22462246
if (type == NULL) {
22472247
ThrowLastVirError();
22482248
return info.GetReturnValue().Set(Nan::False());
@@ -2257,7 +2257,7 @@ NAN_METHOD(Domain::SetSchedulerParameters)
22572257

22582258
memset(params, 0, sizeof(*params) * nparams);
22592259

2260-
ret = virDomainGetSchedulerParameters(domain->handle_, params, &nparams);
2260+
ret = virDomainGetSchedulerParameters(domain->handle(), params, &nparams);
22612261
if(ret == -1) {
22622262
ThrowLastVirError();
22632263
free(params);
@@ -2294,7 +2294,7 @@ NAN_METHOD(Domain::SetSchedulerParameters)
22942294
}
22952295
}
22962296

2297-
ret = virDomainSetSchedulerParameters(domain->handle_, params, nparams);
2297+
ret = virDomainSetSchedulerParameters(domain->handle(), params, nparams);
22982298
if (ret == -1) {
22992299
ThrowLastVirError();
23002300
free(params);

0 commit comments

Comments
 (0)