equal
deleted
inserted
replaced
24 #include "btuidevtypemap.h" |
24 #include "btuidevtypemap.h" |
25 |
25 |
26 |
26 |
27 BtDelegateRemoteDevName::BtDelegateRemoteDevName(BtSettingModel* settingModel, |
27 BtDelegateRemoteDevName::BtDelegateRemoteDevName(BtSettingModel* settingModel, |
28 BtDeviceModel* deviceModel,QObject *parent ) |
28 BtDeviceModel* deviceModel,QObject *parent ) |
29 :BtAbstractDelegate( settingModel, deviceModel, parent ), mRegistryActive(0) |
29 :BtAbstractDelegate( settingModel, deviceModel, parent ), mRegistryActive(0), mRegistryOpened(false) |
30 { |
30 { |
31 |
31 |
32 } |
32 } |
33 |
33 |
34 BtDelegateRemoteDevName::~BtDelegateRemoteDevName() |
34 BtDelegateRemoteDevName::~BtDelegateRemoteDevName() |
35 { |
35 { |
36 delete mRegistryActive; |
36 delete mRegistryActive; |
37 mSymName.Close(); |
37 mSymName.Close(); |
38 mBtRegistry.Close(); |
38 if (mRegistryOpened) |
|
39 mBtRegistry.Close();//there is crash is close the btregistry without opening it first |
39 mBtRegServ.Close(); |
40 mBtRegServ.Close(); |
40 } |
41 } |
41 |
42 |
42 /*! |
43 /*! |
43 Validate the bluetooth device name given by the user: |
44 Validate the bluetooth device name given by the user: |
68 QVariant indexVariant = paramList.at(0); |
69 QVariant indexVariant = paramList.at(0); |
69 QModelIndex index = indexVariant.value<QModelIndex>(); |
70 QModelIndex index = indexVariant.value<QModelIndex>(); |
70 QVariant nameVariant = paramList.at(1); |
71 QVariant nameVariant = paramList.at(1); |
71 QString btRemoteDevName = nameVariant.toString(); |
72 QString btRemoteDevName = nameVariant.toString(); |
72 |
73 |
|
74 if (!validateName(btRemoteDevName)){ |
|
75 emit commandCompleted(KErrBadName); |
|
76 return; |
|
77 } |
|
78 mNewName = btRemoteDevName; |
|
79 /* |
|
80 QModelIndex start = getDeviceModel()->index(0,0); |
|
81 QModelIndexList indexList = getDeviceModel()->match(start,BtDeviceModel::NameAliasRole, mNewName); |
|
82 if (indexList.size() > 1){ |
|
83 emit commandCompleted(KErrBadName, mNewName); |
|
84 return; |
|
85 } |
|
86 */ |
73 int error = KErrNone; |
87 int error = KErrNone; |
74 |
|
75 validateName(btRemoteDevName); |
|
76 mNewName = btRemoteDevName; |
|
77 |
|
78 TPtrC ptrName(reinterpret_cast<const TText*>(btRemoteDevName.constData())); |
88 TPtrC ptrName(reinterpret_cast<const TText*>(btRemoteDevName.constData())); |
79 |
89 |
80 error = mSymName.Create(ptrName.Length()); |
90 error = mSymName.Create(ptrName.Length()); |
81 |
91 |
82 // todo (review comment): missing proper exception handling. |
92 // todo (review comment): missing proper exception handling. |
103 error = mBtRegistry.Open( mBtRegServ ) ; |
113 error = mBtRegistry.Open( mBtRegServ ) ; |
104 if ( error != KErrNone && error != KErrAlreadyExists) { |
114 if ( error != KErrNone && error != KErrAlreadyExists) { |
105 emit commandCompleted(error,mNewName); |
115 emit commandCompleted(error,mNewName); |
106 return; |
116 return; |
107 } |
117 } |
|
118 mRegistryOpened = true; |
|
119 |
108 if (!mRegistryActive){ |
120 if (!mRegistryActive){ |
109 RequestIdentifiers requestId = Unknown; |
121 RequestIdentifiers requestId = Unknown; |
110 TRAP(error, mRegistryActive = CBtSimpleActive::NewL( |
122 TRAP(error, mRegistryActive = CBtSimpleActive::NewL( |
111 *this, requestId)); |
123 *this, requestId)); |
112 if(error!=KErrNone) { |
124 if(error!=KErrNone) { |