From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============5694633234450055257==" MIME-Version: 1.0 From: Xavier Claessens Subject: Re: Add/Remove phonesim on the fly Date: Thu, 17 Dec 2015 12:44:32 -0500 Message-ID: <1450374272.16798.0.camel@gmail.com> In-Reply-To: <1450373047.2408.1.camel@gmail.com> List-Id: To: ofono@ofono.org --===============5694633234450055257== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sorry, I didn't properly fixed merge conflict. Here is updated patch. Le jeudi 17 d=C3=A9cembre 2015 =C3=A0 12:24 -0500, Xavier Claessens a =C3= =A9crit : > Ubuntu's ofono has a useful DBus interface to add/remove modems. > Would > make sense to upstream that patch. > = > Regards, > Xavier Claessens. --===============5694633234450055257== Content-Type: text/x-patch MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-Added-dbus-control-channel-to-phonesim-plugin.patch" RnJvbSA5MjRhM2QzODNmMmU2YTAzZGRmMzRjNDRlYmM3ODQ3NTM1ZmJmMGZiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKdXNzaSBQYWtrYW5lbiA8anVzc2kucGFra2FuZW5AY2Fub25p Y2FsLmNvbT4KRGF0ZTogVHVlLCA4IEFwciAyMDE0IDEwOjU3OjQxICswMzAwClN1YmplY3Q6IFtQ QVRDSF0gQWRkZWQgZGJ1cyBjb250cm9sIGNoYW5uZWwgdG8gcGhvbmVzaW0gcGx1Z2luLgoKLS0t CiBkb2MvcGhvbmVzaW0tY29udHJvbC1hcGkudHh0IHwgIDM0ICsrKysrKysrKysKIHBsdWdpbnMv cGhvbmVzaW0uYyAgICAgICAgICAgfCAxNDQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAxNjUgaW5zZXJ0aW9ucygrKSwgMTMgZGVs ZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZG9jL3Bob25lc2ltLWNvbnRyb2wtYXBpLnR4 dAoKZGlmZiAtLWdpdCBhL2RvYy9waG9uZXNpbS1jb250cm9sLWFwaS50eHQgYi9kb2MvcGhvbmVz aW0tY29udHJvbC1hcGkudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5 ZDcwMzYKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcGhvbmVzaW0tY29udHJvbC1hcGkudHh0CkBA IC0wLDAgKzEsMzQgQEAKK1Bob25lc2ltIGNvbnRyb2wgaGllcmFyY2h5CisKKz09PT09PT09PT09 PT09PT09PT09PT09PT09CisKK1NlcnZpY2UJCW9yZy5vZm9ubworSW50ZXJmYWNlCW9yZy5vZm9u by5waG9uZXNpbS5NYW5hZ2VyCitPYmplY3QgcGF0aAkvCisKK01ldGhvZHMJCUFkZChzdHJpbmcg bmFtZSwgc3RyaW5nIGFkZHJlc3MsIHN0cmluZyBwb3J0KQorCisJCQlJbnN0YW50aWF0ZXMgYSBu ZXcgbW9kZW0gaW4gcGhvbmVzaW0gd2l0aCB0aGUgZ2l2ZW4KKwkJCXNwZWNpZmljYXRpb25zLgor CisJCQlSZW1vdmVBbGwoKQorCisJCQlSZW1vdmVzIGFsbCBtb2RlbXMgZnJvbSBwaG9uZXNpbS4K KworCQkJUmVzZXQoKQorCQkJCisJCQlSZW1vdmVzIGFsbCBtb2RlbXMgYW5kIGluc3RhbnRpYXRl cyBhbGwgdGhvc2UgbW9kZW1zIGxpc3RlZAorCQkJaW4gdGhlIGNvbmZpZ3VyYXRpb24gZmlsZS4g RXF1aXZhbGVudCB0byBzdG9wcGluZyBhbmQKKwkJCXJlc3RhcnRpbmcgdGhlIGRhZW1vbi4KKwor RXhhbXBsZXMKKworVG8gYWRkIGEgbmV3IHBob25lc2ltIG1vZGVtIG9uIHRoZSBmbHkgZG8gdGhl IGZvbGxvd2luZzoKKworLSBTdGFydCBuZXcgcGhvbmVzaW0gaW5zdGFuY2UKKyAgKiAuL3Bob25l c2ltIC1wIDEyMzQ2IHlvdXJfdmVyeV9vd24ueG1sCistIENhbGwgdGhlIFtpbnRlcmZhY2VdLkFk ZCgibXluYW1lIiwgIjEyNy4wLjAuMSIsICIxMjM0NiIpCisgICogZGJ1cy1zZW5kIC0tc3lzdGVt IC0tcHJpbnQtcmVwbHkgLS1kZXN0PW9yZy5vZm9ubyAvIFwKKyAgICBvcmcub2Zvbm8ucGhvbmVz aW0uTWFuYWdlci5BZGQgc3RyaW5nOm15bmFtZSBzdHJpbmc6MTI3LjAuMC4xIHN0cmluZzoxMjM0 NgorICAqIGRidXMtc2VuZCAtLXN5c3RlbSAtLXByaW50LXJlcGx5IC0tZGVzdD1vcmcub2Zvbm8g XAorICAgIC9teW5hbWUgb3JnLm9mb25vLk1vZGVtLlNldFByb3BlcnR5IHN0cmluZzpQb3dlcmVk IHZhcmlhbnQ6Ym9vbGVhbjp0cnVlCmRpZmYgLS1naXQgYS9wbHVnaW5zL3Bob25lc2ltLmMgYi9w bHVnaW5zL3Bob25lc2ltLmMKaW5kZXggMTZiY2NkNS4uMDE2Zjg2ZiAxMDA2NDQKLS0tIGEvcGx1 Z2lucy9waG9uZXNpbS5jCisrKyBiL3BsdWdpbnMvcGhvbmVzaW0uYwpAQCAtMzUsNiArMzUsNyBA QAogI2luY2x1ZGUgPGdsaWIuaD4KICNpbmNsdWRlIDxnYXRtdXguaD4KICNpbmNsdWRlIDxnYXRj aGF0Lmg+CisjaW5jbHVkZSA8Z2RidXMuaD4KIAogI2RlZmluZSBPRk9OT19BUElfU1VCSkVDVF9U T19DSEFOR0UKICNpbmNsdWRlIDxvZm9uby9wbHVnaW4uaD4KQEAgLTczLDYgKzc0LDggQEAgc3Rh dGljIGNvbnN0IGNoYXIgKm5vbmVfcHJlZml4W10gPSB7IE5VTEwgfTsKIHN0YXRpYyBjb25zdCBj aGFyICpwdHR5X3ByZWZpeFtdID0geyAiK1BUVFk6IiwgTlVMTCB9Owogc3RhdGljIGNvbnN0IGNo YXIgKnNpbXN0YXRlX3ByZWZpeFtdID0geyAiK1NJTVNUQVRFOiIsIE5VTEwgfTsKIHN0YXRpYyBp bnQgbmV4dF9pZmFjZSA9IDA7CitzdGF0aWMgY29uc3QgY2hhciBDT05UUk9MX1BBVEhbXSA9ICIv IjsKK3N0YXRpYyBjb25zdCBjaGFyIENPTlRST0xfSU5URVJGQUNFW10gPSAib3JnLm9mb25vLnBo b25lc2ltLk1hbmFnZXIiOwogCiBzdHJ1Y3QgcGhvbmVzaW1fZGF0YSB7CiAJR0F0TXV4ICptdXg7 CkBAIC0xMDk4LDEyICsxMTAxLDE5IEBAIGVycm9yOgogCiBzdGF0aWMgR1NMaXN0ICptb2RlbV9s aXN0ID0gTlVMTDsKIAotc3RhdGljIHZvaWQgcGFyc2VfY29uZmlnKGNvbnN0IGNoYXIgKmZpbGVu YW1lKQorc3RhdGljIHZvaWQgcGFyc2VfY29uZmlnKHZvaWQpCiB7CiAJR0tleUZpbGUgKmtleWZp bGU7CiAJR0Vycm9yICplcnIgPSBOVUxMOwogCWNoYXIgKiptb2RlbXM7CiAJaW50IGk7CisJY29u c3QgY2hhciAqZmlsZW5hbWU7CisKKwljaGFyICpjb25mX292ZXJyaWRlID0gZ2V0ZW52KCJPRk9O T19QSE9ORVNJTV9DT05GSUciKTsKKwlpZiAoY29uZl9vdmVycmlkZSkKKwkJZmlsZW5hbWUgPSBj b25mX292ZXJyaWRlOworCWVsc2UKKwkJZmlsZW5hbWUgPSBDT05GSUdESVIgIi9waG9uZXNpbS5j b25mIjsKIAogCURCRygiZmlsZW5hbWUgJXMiLCBmaWxlbmFtZSk7CiAKQEAgLTExMzcsMTAgKzEx NDcsMTIyIEBAIGRvbmU6CiAJZ19rZXlfZmlsZV9mcmVlKGtleWZpbGUpOwogfQogCitzdGF0aWMg dm9pZCByZWxlYXNlX21vZGVtcyh2b2lkKQoreworCUdTTGlzdCAqbGlzdDsKKworCWZvciAobGlz dCA9IG1vZGVtX2xpc3Q7IGxpc3Q7IGxpc3QgPSBsaXN0LT5uZXh0KSB7CisJCXN0cnVjdCBvZm9u b19tb2RlbSAqbW9kZW0gPSBsaXN0LT5kYXRhOworCisJCW9mb25vX21vZGVtX3JlbW92ZShtb2Rl bSk7CisJfQorCisJZ19zbGlzdF9mcmVlKG1vZGVtX2xpc3QpOworCW1vZGVtX2xpc3QgPSBOVUxM OworfQorCitzdGF0aWMgREJ1c01lc3NhZ2UgKmNvbnRyb2xfYWRkKERCdXNDb25uZWN0aW9uICpj b25uLAorCQkJCQlEQnVzTWVzc2FnZSAqbXNnLCB2b2lkICpkYXRhKQoreworCWNvbnN0IGNoYXIg KmRyaXZlciA9ICJwaG9uZXNpbSI7CisJc3RydWN0IG9mb25vX21vZGVtICptb2RlbTsKKwlEQnVz TWVzc2FnZUl0ZXIgaXRlcjsKKwljaGFyICpuYW1lOworCWNoYXIgKmFkZHJlc3M7CisJY2hhciAq cG9ydDsKKworCWlmICghZGJ1c19tZXNzYWdlX2l0ZXJfaW5pdChtc2csICZpdGVyKSkKKwkJcmV0 dXJuIF9fb2Zvbm9fZXJyb3JfaW52YWxpZF9hcmdzKG1zZyk7CisKKwlpZiAoZGJ1c19tZXNzYWdl X2l0ZXJfZ2V0X2FyZ190eXBlKCZpdGVyKSAhPSBEQlVTX1RZUEVfU1RSSU5HKQorCQlyZXR1cm4g X19vZm9ub19lcnJvcl9pbnZhbGlkX2FyZ3MobXNnKTsKKworCWRidXNfbWVzc2FnZV9pdGVyX2dl dF9iYXNpYygmaXRlciwgJm5hbWUpOworCWRidXNfbWVzc2FnZV9pdGVyX25leHQoJml0ZXIpOwor CisJaWYgKGRidXNfbWVzc2FnZV9pdGVyX2dldF9hcmdfdHlwZSgmaXRlcikgIT0gREJVU19UWVBF X1NUUklORykKKwkJcmV0dXJuIF9fb2Zvbm9fZXJyb3JfaW52YWxpZF9hcmdzKG1zZyk7CisKKwlk YnVzX21lc3NhZ2VfaXRlcl9nZXRfYmFzaWMoJml0ZXIsICZhZGRyZXNzKTsKKwlkYnVzX21lc3Nh Z2VfaXRlcl9uZXh0KCZpdGVyKTsKKworCWlmIChkYnVzX21lc3NhZ2VfaXRlcl9nZXRfYXJnX3R5 cGUoJml0ZXIpICE9IERCVVNfVFlQRV9TVFJJTkcpCisJCXJldHVybiBfX29mb25vX2Vycm9yX2lu dmFsaWRfYXJncyhtc2cpOworCisJZGJ1c19tZXNzYWdlX2l0ZXJfZ2V0X2Jhc2ljKCZpdGVyLCAm cG9ydCk7CisKKwltb2RlbSA9IG9mb25vX21vZGVtX2NyZWF0ZShuYW1lLCBkcml2ZXIpOworCWlm IChtb2RlbSA9PSBOVUxMKQorCQlyZXR1cm4gTlVMTDsKKworCW9mb25vX21vZGVtX3NldF9zdHJp bmcobW9kZW0sICJBZGRyZXNzIiwgYWRkcmVzcyk7CisJb2Zvbm9fbW9kZW1fc2V0X2ludGVnZXIo bW9kZW0sICJQb3J0IiwgYXRvaShwb3J0KSk7CisJaWYgKG9mb25vX21vZGVtX3JlZ2lzdGVyKG1v ZGVtKSAhPSAwKSB7CisJCW9mb25vX21vZGVtX3JlbW92ZShtb2RlbSk7CisJCXJldHVybiBfX29m b25vX2Vycm9yX2ludmFsaWRfYXJncyhtc2cpOworCX0KKwltb2RlbV9saXN0ID0gZ19zbGlzdF9w cmVwZW5kKG1vZGVtX2xpc3QsIG1vZGVtKTsKKworCXJldHVybiBkYnVzX21lc3NhZ2VfbmV3X21l dGhvZF9yZXR1cm4obXNnKTsKK30KKworc3RhdGljIERCdXNNZXNzYWdlICpjb250cm9sX3JlbW92 ZV9hbGwoREJ1c0Nvbm5lY3Rpb24gKmNvbm4sCisJCQkJCURCdXNNZXNzYWdlICptc2csIHZvaWQg KmRhdGEpCit7CisJcmVsZWFzZV9tb2RlbXMoKTsKKworCXJldHVybiBkYnVzX21lc3NhZ2VfbmV3 X21ldGhvZF9yZXR1cm4obXNnKTsKK30KKworc3RhdGljIERCdXNNZXNzYWdlICpjb250cm9sX3Jl c2V0KERCdXNDb25uZWN0aW9uICpjb25uLAorCQkJCQlEQnVzTWVzc2FnZSAqbXNnLCB2b2lkICpk YXRhKQoreworCXJlbGVhc2VfbW9kZW1zKCk7CisJcGFyc2VfY29uZmlnKCk7CisKKwlyZXR1cm4g ZGJ1c19tZXNzYWdlX25ld19tZXRob2RfcmV0dXJuKG1zZyk7Cit9CisKK3N0YXRpYyBjb25zdCBH REJ1c01ldGhvZFRhYmxlIGNvbnRyb2xfbWV0aG9kc1tdID0geworCXsgR0RCVVNfTUVUSE9EKCJB ZGQiLAorCQlHREJVU19BUkdTKHsgIm5hbWUiLCAicyIgfSwgeyJhZGRyZXNzIiwgInMifSwgeyJw b3J0IiwgInMifSksCisJCU5VTEwsCisJCWNvbnRyb2xfYWRkKSB9LAorCXsgR0RCVVNfTUVUSE9E KCJSZW1vdmVBbGwiLAorCQlHREJVU19BUkdTKHsgfSksCisJCU5VTEwsCisJCWNvbnRyb2xfcmVt b3ZlX2FsbCkgfSwKKwl7IEdEQlVTX01FVEhPRCgiUmVzZXQiLAorCQlHREJVU19BUkdTKHsgfSks CisJCU5VTEwsCisJCWNvbnRyb2xfcmVzZXQpIH0sCisJe30KK307CisKK3N0YXRpYyBpbnQgc2V0 dXBfY29udHJvbF9jaGFubmVsKHZvaWQpCit7CisJaW50IGVyciA9IDA7CisJREJ1c0Nvbm5lY3Rp b24gKmNvbm4gPSBvZm9ub19kYnVzX2dldF9jb25uZWN0aW9uKCk7CisJdm9pZCAqdXNlcl9kYXRh ID0gTlVMTDsKKwlnX2RidXNfcmVnaXN0ZXJfaW50ZXJmYWNlKGNvbm4sCisJCQlDT05UUk9MX1BB VEgsIENPTlRST0xfSU5URVJGQUNFLAorCQkJY29udHJvbF9tZXRob2RzLAorCQkJTlVMTCwKKwkJ CU5VTEwsCisJCQl1c2VyX2RhdGEsCisJCQlOVUxMKTsKKwlyZXR1cm4gZXJyOworfQorCitzdGF0 aWMgdm9pZCBzaHV0ZG93bl9jb250cm9sX2NoYW5uZWwodm9pZCkKK3sKKwlnX2RidXNfdW5yZWdp c3Rlcl9pbnRlcmZhY2Uob2Zvbm9fZGJ1c19nZXRfY29ubmVjdGlvbigpLAorCQkJQ09OVFJPTF9Q QVRILCBDT05UUk9MX0lOVEVSRkFDRSk7Cit9CisKIHN0YXRpYyBpbnQgcGhvbmVzaW1faW5pdCh2 b2lkKQogewogCWludCBlcnI7Ci0JY2hhciAqY29uZl9vdmVycmlkZSA9IGdldGVudigiT0ZPTk9f UEhPTkVTSU1fQ09ORklHIik7CiAKIAllcnIgPSBvZm9ub19tb2RlbV9kcml2ZXJfcmVnaXN0ZXIo JnBob25lc2ltX2RyaXZlcik7CiAJaWYgKGVyciA8IDApCkBAIC0xMTUyLDI1ICsxMjc0LDIxIEBA IHN0YXRpYyBpbnQgcGhvbmVzaW1faW5pdCh2b2lkKQogCW9mb25vX2N0bV9kcml2ZXJfcmVnaXN0 ZXIoJmN0bV9kcml2ZXIpOwogCW9mb25vX3JhZGlvX3NldHRpbmdzX2RyaXZlcl9yZWdpc3Rlcigm cmFkaW9fc2V0dGluZ3NfZHJpdmVyKTsKIAotCWlmIChjb25mX292ZXJyaWRlKQotCQlwYXJzZV9j b25maWcoY29uZl9vdmVycmlkZSk7Ci0JZWxzZQotCQlwYXJzZV9jb25maWcoQ09ORklHRElSICIv cGhvbmVzaW0uY29uZiIpOworCXBhcnNlX2NvbmZpZygpOworCisJZXJyID0gc2V0dXBfY29udHJv bF9jaGFubmVsKCk7CisJaWYgKGVyciA8IDApCisJCXJldHVybiBlcnI7CiAKIAlyZXR1cm4gMDsK IH0KIAogc3RhdGljIHZvaWQgcGhvbmVzaW1fZXhpdCh2b2lkKQogewotCUdTTGlzdCAqbGlzdDsK LQotCWZvciAobGlzdCA9IG1vZGVtX2xpc3Q7IGxpc3Q7IGxpc3QgPSBsaXN0LT5uZXh0KSB7Ci0J CXN0cnVjdCBvZm9ub19tb2RlbSAqbW9kZW0gPSBsaXN0LT5kYXRhOworCXNodXRkb3duX2NvbnRy b2xfY2hhbm5lbCgpOwogCi0JCW9mb25vX21vZGVtX3JlbW92ZShtb2RlbSk7Ci0JfQorCXJlbGVh c2VfbW9kZW1zKCk7CiAKLQlnX3NsaXN0X2ZyZWUobW9kZW1fbGlzdCk7CiAJbW9kZW1fbGlzdCA9 IE5VTEw7CiAKIAlvZm9ub19yYWRpb19zZXR0aW5nc19kcml2ZXJfdW5yZWdpc3RlcigmcmFkaW9f c2V0dGluZ3NfZHJpdmVyKTsKLS0gCjIuNS4wCgo= --===============5694633234450055257==--