/* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * Copyright (C) 2005-2009, Anthony Minessale II * * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * * The Initial Developer of the Original Code is * Anthony Minessale II * Portions created by the Initial Developer are Copyright (C) * the Initial Developer. All Rights Reserved. * * Contributor(s): * * Joao Mesquita * */ #ifndef CALL_H #define CALL_H #include #include #include typedef enum { FSCOMM_CALL_STATE_RINGING = 0, FSCOMM_CALL_STATE_TRYING = 1, FSCOMM_CALL_STATE_ANSWERED = 2, FSCOMM_CALL_STATE_FAILED = 3 } fscomm_call_state_t; typedef enum { FSCOMM_CALL_DIRECTION_INBOUND = 0, FSCOMM_CALL_DIRECTION_OUTBOUND = 1 } fscomm_call_direction_t; class Call { public: Call(); Call(int call_id, QString cid_name, QString cid_number, fscomm_call_direction_t direction, QString uuid); QString getCidName(void) { return _cid_name; } QString getCidNumber(void) { return _cid_number; } int getCallID(void) { return _call_id; } QString getUUID(void) { return _uuid; } void setbUUID(QString uuid) { _buuid = uuid; } fscomm_call_direction_t getDirection() { return _direction; } fscomm_call_state_t getState() { return _state; } void setState(fscomm_call_state_t state) { _state = state; } void setCause(QString cause) { _cause = cause; } QString getCause() { return _cause; } void setActive(bool isActive) { _isActive = isActive; } bool isActive() { return _isActive == true; } switch_status_t toggleRecord(bool); void sendDTMF(QString digit); void setAnsweredEpoch(qulonglong time) { _answered_epoch = time/1000000; } QTime getCurrentStateTime(); private: int _call_id; QString _cid_name; QString _cid_number; QString _cause; fscomm_call_direction_t _direction; QString _uuid; QString _buuid; bool _isActive; QString _recording_filename; fscomm_call_state_t _state; qulonglong _answered_epoch; }; Q_DECLARE_METATYPE(Call) #endif // CALL_H