Beispiel #1
0
RecordList
PhoneBook::searchByPhone(const string & phone)
{
    Iter i = _records.begin(), j;
    list<Record> ret;
    while ((j=searchPhone(phone, i++)) != _records.end())
        ret.push_back(*j);
    return ret;
}
Beispiel #2
0
void PhoneService::editPhones(int contractor, QVector<Phone> phones)
{
    QVector<Phone> oldPhones = model->getPhones(contractor);
    QVector<Phone> newPhones = phones;

    if(oldPhones != newPhones) // telefony były edytowane
    {
        for(int i = 0; i < newPhones.size(); i++)
        {
            // jeśli nie zawierają dokładnie takiego tela, to być może była edytowana tylko nazwa lub numer
            if(!oldPhones.contains(newPhones[i]))
            {
                int posAtOld = searchPhone(newPhones[i].getId(), oldPhones);
                if(posAtOld != -1)  // znaleziono telefon liscie, ale z innymi danymi, należy edytować
                {
                    model->editPhone(contractor, newPhones[i]);
                    oldPhones[posAtOld] = newPhones[i];
                }
                else
                {
                    model->addPhone(contractor, newPhones[i]);
                    oldPhones.append(newPhones[i]);
                }
            }

        }
    }
    /*
     * jeśli dodano lub edytowano telefony to oldPhones i newPhones powinny być teraz takie same
     * jeśli nie są tzn., że w nowym kontraktorze usunięto pozycje ze starej faktury
     */
    if(oldPhones != newPhones)
    {
        for(int i = 0; i < oldPhones.size(); i++)
        {
            if(!newPhones.contains(oldPhones[i]))
            {
                model->removePhone(oldPhones[i].getId());
                oldPhones.remove(i);
            }
        }
    }
}
Beispiel #3
0
/**
 * Activates the library
 *
 * @param env environment variable
 * @return if the returned value is less then 0, the value is an error number
 */
JNIEXPORT jint JNICALL Java_eu_asterics_component_actuator_phonecontrol_PhoneControlBridge_activate
  (JNIEnv * env, jobject obj, jstring phoneName, jint port)
{
	int result=0;
	

	if(initated)
	{
		return Library_initialized;
	}


	result = activate();


	if(result<0)
	{
		return Library_initialize_error;
	}

	result = init(deviceFound,newSMS,phoneStateChanged,0);

	if(result<0)
	{
		if(result==Library_initialized)
		{
			close();
			result = init(deviceFound,newSMS,phoneStateChanged,0);
			if(result<0)
			{
				clear ();
				return result;
			}
		}
		else
		{
			clear ();
			return result;
		}
	}

	const jchar* sPhoneName = env->GetStringChars(phoneName, NULL);
	int nPhoneNameSize=env->GetStringLength(phoneName);

	wchar_t * sPhoneNameString = new wchar_t [nPhoneNameSize+1];

	memcpy(sPhoneNameString, sPhoneName, nPhoneNameSize*2);
	sPhoneNameString[nPhoneNameSize]=0;


	wcscpy(sPhoneBTName,sPhoneNameString);
	nPhoneBTNameSize=nPhoneNameSize;

	devicePort=port;

	result=env->GetJavaVM(&g_jvm);
	g_obj = env->NewGlobalRef(obj);

	result=searchPhone();

	env->ReleaseStringChars(phoneName, sPhoneName);
	delete[] sPhoneNameString;

	if(result<0)
	{
		close();
		clear ();
		env->DeleteGlobalRef(g_obj);
		return result;
	}

	/*
	result= connectToDevice(nPhoneAddress,port);
	nPhonePort=port;
	if(result<0)
	{
		close();
		clear();
		return result;
	}*/
	
	
	return 1;
}