1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
16 Channel
* GetServiceManager() {
17 static Channel
* service_manager
= nullptr;
18 if (!service_manager
) {
19 service_manager
= new Channel(0);
22 service_manager
->Call(Channel
::PING_TRANSACTION
, in
, &out
);
23 service_manager
->reader()->Print();
26 return service_manager
;
31 Channel
* LookupService(const std
::string
& name
) {
33 data
.WriteInterfaceToken("android.os.IServiceManager");
38 Channel
* channel
= GetServiceManager();
39 channel
->Call(2 /*CHECK_SERVICE_TRANSACTION*/, data
, &reply
);
41 channel
->reader()->Print();
44 CHECK(channel
->reader()->ReadUInt32(&cmd
));
45 ALOG("Got command: %x (dec %d %u)", cmd
, cmd
, cmd
);
46 CHECK(channel
->reader()->ReadUInt32(&cmd
));
47 ALOG("Got command: %x (dec %d %u)", cmd
, cmd
, cmd
);
50 } // namespace minibind