Public Slots ============ virtual void slotFetchSMS ()=0 virtual void slotFetchPhonebook ()=0 virtual void slotPollStatus ()=0 virtual void processSlot (KMobileTools::Job *job) virtual void slotFetchInfos ()=0 virtual void slotDial (DialActions, const QString &=QString())=0 virtual void slotInitPhone ()=0 virtual void slotSearchPhone ()=0 virtual void slotAddAddressee (const KABC::Addressee::List &)=0 virtual void slotDelAddressee (const KABC::Addressee::List &)=0 virtual void slotDelSMS (SMS *)=0 virtual void slotStoreSMS (const QString &number, const QString &text)=0 virtual void slotSendSMS (const QString &number, const QString &text)=0 virtual void slotStoreSMS (SMS *)=0 virtual void slotSendSMS (SMS *)=0 virtual void slotSendStoredSMS (SMS *)=0 virtual void slotEditAddressee (const KABC::Addressee &, const KABC::Addressee &)=0 virtual void slotStopDevice () * rename to slotSuspendDevice() virtual void slotResumeDevice () virtual void slotWeaverSuspended () virtual void slotFetchCalendar ()=0 virtual void slotSwitchToFSMode () Signals ======= void jobFinished (KMobileTools::Job::JobType) void disconnected () void connected () void error () * rename to errorOccured() * open issue: how to retrieve the error message when an error has occured? void newSMS (SMS *) * rename to smsArrived( SMS* ) void updateInfoPage (int) * shouldn't the info page itself listen to the appropriate signals and change when needed? void addSMSFolders () * rename to smsFolderAdded() void signal (int) * rename to signalStrengthChanged() void charge (int) * rename to chargeChanged() void chargeType (int) * rename to chargeTypeChanged() void isRinging (bool) * rename to ringing() (according to qt4 naming scheme) void phoneBookUpdated (int, const ContactsList &) * rename to phonebookChanged( int, const ContactsList & ) void phoneBookUpdated () * rename to phonebookChanged() void smsListUpdated () * is this signal really needed? we already have smsAdded(), ..deleted(), ..modified() * rename to smsListChanged() void networkName (const QString &) * rename to networkNameChanged() void addressBookToUpdate () * is this referring to the kde address book? if so, remove this signal void suspended () void resumed () void jobEnqueued (KMobileTools::Job *) void smsAdded (const QByteArray &) void smsDeleted (const QByteArray &) void smsModified (const QByteArray &) void invalidLockFile (const QString &) * remove this method (should be handled by errorOccured()) void fullPhonebook () * remove this method (should be handled by errorOccured()) void calendarParsed () * calendarChanged()? or is this really meant to be parsed? Public Member Functions ======================= Engine (QObject *parent=0, const QString &name=QString()) virtual ~Engine () KMobileTools::EngineData * engineData () * we expose setter methods to non-engine code here which is bad, maybe better move to protected... don't know if c++ allows this, but an elegant solution could be to define a const KMobileTools::EngineData* engineData() const method in public and KMobileTools::EngineData* engineData() in protected so that the engine itself can set data and the outside has access to the getters (which need to be defined const too) only KMobileTools::Weaver * ThreadWeaver () * where is this method used from the outside? int newSMSCount () int totalSMSCount () SMSList * diffSMSList () const QStringList smsFolders () virtual int availPbSlots ()=0 void setSMSSlot (int slot) int smsSlot () bool isConnected () virtual bool pdu ()=0 virtual void queryClose () virtual QString shortDesc () virtual QString longDesc () virtual QString currentDeviceName () const virtual QString engineLibName () const =0 KPluginInfo * pluginInfo () void enqueueJob (KMobileTools::Job *) * move to protected void setConnected (bool) * why allow everyone to set the connection state? and why is this needed since we have the connected()/disconnected() signals? virtual QStringList encodings ()=0 int currentPBMemSlot () void setCurrentPBMemSlot (int type) void suspendStatusJobs (bool suspend) int statusJobsSuspended () const virtual QString parseWizardSummary (const QString &strtemplate, const QString &deviceName) const =0 virtual QList< QWizardPage * > wizardPages (QWidget *parentWidget)=0 virtual QList< QWidget * > configWidgets (QWidget *parentWidget)=0 virtual KMobileTools::DevicesConfig * config (bool forceNew=false, const QString &groupName=QString())=0 * forceNew what? Static Public Member Functions ============================== static Engine * load (const QString &libname, QObject *parent=0) Protected Slots =============== virtual void slotDevConnected () virtual void slotDevDisconnected () * Why yet another method to set the connection state?