From cb4a46e7fbe62d788e66ed6121c717a2d22a4d7c Mon Sep 17 00:00:00 2001 From: watcherhd Date: Thu, 21 Apr 2011 14:14:52 +0000 Subject: svn.miranda.im is moving to a new home! git-svn-id: http://miranda-plugins.googlecode.com/svn/trunk@7 e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb --- delphi/Awkward/include/reserve/m_voice.inc | 156 +++++++++++++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 delphi/Awkward/include/reserve/m_voice.inc (limited to 'delphi/Awkward/include/reserve/m_voice.inc') diff --git a/delphi/Awkward/include/reserve/m_voice.inc b/delphi/Awkward/include/reserve/m_voice.inc new file mode 100644 index 0000000..41213d5 --- /dev/null +++ b/delphi/Awkward/include/reserve/m_voice.inc @@ -0,0 +1,156 @@ +{ +Copyright (C) 2006-2009 Ricardo Pescuma Domenecci + +This is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +This 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 +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with this file; see the file license.txt. If +not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. +} + +{$IFNDEF __M_VOICE} +{$DEFINE __M_VOICE} + +const + EVENTTYPE_VOICE_CALL = 8739; + + VOICE_CAPS_VOICE = 1 shl 0; // Voice is supported for this protocol. You need to set this one. + VOICE_CAPS_CALL_CONTACT = 1 shl 1; // Set if a call can be made to a hContact (PS_VOICE_CALL_CONTACT_VALID is used to validate the string) + VOICE_CAPS_CALL_STRING = 1 shl 3; // Set if a call can be made to some string (PS_VOICE_CALL_STRING_VALID is used to validate the string) +{ + Request to the protocol capabilities relative to voice. + + wParam: 0 + lParam: 0 + return: VOICE_CAPS_* +} + PS_VOICE_CAPS = '/Voice/Caps'; + + VOICE_SECURE = $00000001; + VOICE_UNICODE = $80000000; + + VOICE_STATE_TALKING = 0; + VOICE_STATE_RINGING = 1; + VOICE_STATE_CALLING = 2; + VOICE_STATE_ON_HOLD = 3; + VOICE_STATE_ENDED = 4; + VOICE_STATE_BUSY = 5; + +type + TVOICE_CALL = record + cbSize :int; // Struct size + moduleName:PAnsiChar; // The name of the protocol module (the same as VOICE_MODULE.name or the protocol szModule) + id :PAnsiChar; // Protocol especific ID for this call + flags :int; // VOICE_UNICODE to say the string is unicode or 0. + // VOICE_SECURE to say this is a encrypted call + hContact :THANDLE; // Contact associated with the call (can be NULL) + szNumber :TChar; // Number to call (can be NULL) + // Or the contact or the number must be != NULL + // If both are != NULL the call will be made to the number + // and will be associated with the contact + // This fields are only needed in first notification for a call id + szName :TChar; // Name of the caller. This makes sense only on incoming calls, + // where no contact is associated and the caller has a name and a number. + state :int; // VOICE_STATE_* + end; + +const +{ +Notifies that a voice call changed state + +wParam: const VOICE_CALL * +lParam: ignored +return: 0 on success +} + PE_VOICE_CALL_STATE = '/Voice/State'; + +{ +Request to the protocol a make voice call + +wParam: (HANDLE) hContact +lParam: (const TCHAR *) number +return: 0 on success +Or the contact or the number must be != NULL. If both are != NULL the call will be +made to the number and will be associated with the contact. +} + PS_VOICE_CALL = '/Voice/Call'; + +{ +Service called to make the protocol answer a call or restore a hold call. +It is an async call. If the call was answered, the PE_VOICE_CALL_STATE +notification will be fired. + +wParam: (const char *) id +lParam: ignored +return: 0 on success +} + PS_VOICE_ANSWERCALL = '/Voice/AnswerCall'; + +{ +Service called to make the protocol answer a call. This can be called if the +call is ringing or has started. If called any other time it should be ignored. +It is an async call. If the call was droped, the PE_VOICE_CALL_STATE +notification will be fired. + +wParam: (const char *) id +lParam: ignored +return: 0 on success +} + PS_VOICE_DROPCALL = '/Voice/DropCall'; + +{ +Service called to make the protocol hold a call. This means that the call should not +be droped, but it should be muted and put in a hold, to allow other call to be answered. +If the protocol can't hold a cal, it should be droped. + +This can be called if the call has started. If called any other time it should be ignored. +It is an async call. If the call was droped, the PE_VOICE_CALL_STATE +notification will be fired. + +wParam: (const char *) id +lParam: ignored +return: 0 on success +} + PS_VOICE_HOLDCALL = '/Voice/HoldCall'; + +{ +Send a DTMF (one digit text) to a talking call. + +wParam: (const char *) id +lParam: (TCHAR) dtmf +return: 0 on success +} + PS_VOICE_SEND_DTMF = '/Voice/SendDTMF'; + +{ +Used if protocol support VOICE_CALL_STRING. The call string is passed as +wParam and the proto should validate it. If this service does not exist all numbers can be called. + +wParam: (const TCHAR *) call string +lParam: ignored +return: 0 if wrong, 1 if correct +} + PS_VOICE_CALL_STRING_VALID = '/Voice/CallStringValid'; + +{ +Used if protocol support VOICE_CALL_CONTACT. +The hContact is passed as wParam and the proto should tell if this contact can be +called. If this service does not exist all contacts can be called (or, if it is a protocol, +all contacts from the protocol can be called). + +wParam: (HANDLE) hContact +lParam: (BOOL) TRUE if it is a test for 'can call now?', FALSE if is a test for 'will be possible to call someday?' +return: 0 if can't be called, 1 if can +} + PS_VOICE_CALL_CONTACT_VALID = '/Voice/CallContactValid'; + +{$ENDIF} -- cgit v1.2.3