configurationmanager.h 4.65 KB
Newer Older
Pierre-Luc Beaudoin's avatar
Pierre-Luc Beaudoin committed
1 2
/*
 *  Copyright (C) 2007 Savoir-Faire Linux inc.
3
 *  Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com>
4
 *  Author: Alexandre Bourget <alexandre.bourget@savoirfairelinux.com>
5
 *  Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com>
6
 *  Author: Guillaume Carmel-Archambault <guillaume.carmel-archambault@savoirfairelinux.com>
Pierre-Luc Beaudoin's avatar
Pierre-Luc Beaudoin committed
7 8 9
 *                                                                              
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
10
 *  the Free Software Foundation; either version 3 of the License, or
Pierre-Luc Beaudoin's avatar
Pierre-Luc Beaudoin committed
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
 *  (at your option) any later version.
 *                                                                                
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *                                                                              
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */
 
#ifndef CONFIGURATIONMANAGER_H
#define CONFIGURATIONMANAGER_H

#include "configurationmanager-glue.h"
#include <dbus-c++/dbus.h>

    
class ConfigurationManager
31
: public org::sflphone::SFLphone::ConfigurationManager_adaptor,
Pierre-Luc Beaudoin's avatar
Pierre-Luc Beaudoin committed
32 33 34 35 36 37 38 39 40 41
  public DBus::IntrospectableAdaptor,
  public DBus::ObjectAdaptor
{
public:

    ConfigurationManager(DBus::Connection& connection);
    static const char* SERVER_PATH;

public:

42 43 44 45 46 47
    std::map< std::string, std::string > getAccountDetails( const std::string& accountID );
    void setAccountDetails( const std::string& accountID, const std::map< std::string, std::string >& details );
    void addAccount( const std::map< std::string, std::string >& details );
    void removeAccount( const std::string& accoundID );
    std::vector< std::string > getAccountList(  );
    void sendRegister(  const std::string& accoundID , const int32_t& expire );
48
    
49 50 51 52
    std::vector< std::string > getCodecList(  );
    std::vector< std::string > getCodecDetails( const int32_t& payload );
    std::vector< std::string > getActiveCodecList(  );
    void setActiveCodecList( const std::vector< std::string >& list );
53
    
54 55 56 57 58 59 60 61 62 63 64
    std::vector< std::string > getInputAudioPluginList();
    std::vector< std::string > getOutputAudioPluginList();
    void setInputAudioPlugin(const std::string& audioPlugin);
    void setOutputAudioPlugin(const std::string& audioPlugin);
    std::vector< std::string > getAudioOutputDeviceList();
    void setAudioOutputDevice(const int32_t& index);
    std::vector< std::string > getAudioInputDeviceList();
    void setAudioInputDevice(const int32_t& index);
    std::vector< std::string > getCurrentAudioDevicesIndex();
    int32_t getAudioDeviceIndex(const std::string& name);
    std::string getCurrentAudioOutputPlugin( void );
65

66
   
67 68 69 70 71 72 73
    std::vector< std::string > getToneLocaleList(  );
    std::vector< std::string > getPlaybackDeviceList(  );
    std::vector< std::string > getRecordDeviceList(  );
    std::string getVersion(  );
    std::vector< std::string > getRingtoneList(  );
    int32_t getAudioManager( void );
    void setAudioManager( const int32_t& api ); 
Pierre-Luc Beaudoin's avatar
Pierre-Luc Beaudoin committed
74

75 76
    int32_t isIax2Enabled( void );
    int32_t isRingtoneEnabled( void );
77
    void ringtoneEnabled( void );
78 79
    std::string getRingtoneChoice( void );
    void setRingtoneChoice( const std::string& tone );
80 81
    std::string getRecordPath( void );
    void setRecordPath(const std::string& recPath );
82
    int32_t getDialpad( void );
Emmanuel Milou's avatar
Emmanuel Milou committed
83
    void setDialpad( void );
84
    int32_t getSearchbar( void );
85
    void setSearchbar( void );
86 87 88
    void setMaxCalls( const int32_t& calls);
    int32_t getMaxCalls( void );
    int32_t getVolumeControls( void );
89
    void setVolumeControls( void );
90
    int32_t isStartHidden( void );
Emmanuel Milou's avatar
Emmanuel Milou committed
91
    void startHidden( void );
92
    int32_t popupMode( void );
93
    void switchPopupMode( void );
94
    int32_t getNotify( void );
95
    void setNotify( void );
96
    int32_t getMailNotify( void );
97
    void setMailNotify( void );
98
    int32_t getPulseAppVolumeControl( void );
99
    void setPulseAppVolumeControl( void );
100
    int32_t getSipPort( void );
Emmanuel Milou's avatar
Emmanuel Milou committed
101 102 103 104 105
    void setSipPort( const int32_t& portNum);
    std::string getStunServer( void );
    void setStunServer( const std::string& server );
    void enableStun (void);
    int32_t isStunEnabled (void);
Emmanuel Milou's avatar
Emmanuel Milou committed
106

107
    std::map<std::string, int32_t> getAddressbookSettings (void);
108
    void setAddressbookSettings (const std::map<std::string, int32_t>& settings);
109

Pierre-Luc Beaudoin's avatar
Pierre-Luc Beaudoin committed
110 111 112 113
};


#endif//CONFIGURATIONMANAGER_H