GNUnet 0.21.1
GNUNET_CONVERSATION_Phone Struct Reference

A phone is a device that can ring to signal an incoming call and that you can pick up to answer the call and hang up to terminate the call. More...

Collaboration diagram for GNUNET_CONVERSATION_Phone:
[legend]

Data Fields

const struct GNUNET_CONFIGURATION_Handlecfg
 Our configuration. More...
 
struct GNUNET_CONVERSATION_Callercaller_head
 We keep all callers in a DLL. More...
 
struct GNUNET_CONVERSATION_Callercaller_tail
 We keep all callers in a DLL. More...
 
GNUNET_CONVERSATION_PhoneEventHandler event_handler
 Function to call for phone events. More...
 
void * event_handler_cls
 Closure for event_handler. More...
 
struct GNUNET_NAMESTORE_Handlens
 Connection to NAMESTORE (for reverse lookup). More...
 
struct GNUNET_MQ_Handlemq
 Handle for transmitting to the CONVERSATION service. More...
 
struct GNUNET_CONVERSATION_PhoneRecord my_record
 This phone's record. More...
 
struct GNUNET_CRYPTO_PrivateKey my_zone
 My GNS zone. More...
 
enum PhoneState state
 State machine for the phone. More...
 

Detailed Description

A phone is a device that can ring to signal an incoming call and that you can pick up to answer the call and hang up to terminate the call.

You can also hang up a ringing phone immediately (without picking it up) to stop it from ringing. Phones have caller ID. You can ask the phone for its record and make that record available (via GNS) to enable others to call you. Multiple phones maybe connected to the same line (the line is something rather internal to a phone and not obvious from it). You can only have one conversation per phone at any time.

Definition at line 150 of file conversation_api.c.

Field Documentation

◆ cfg

const struct GNUNET_CONFIGURATION_Handle* GNUNET_CONVERSATION_Phone::cfg

Our configuration.

Definition at line 155 of file conversation_api.c.

Referenced by GNUNET_CONVERSATION_phone_create(), and reconnect_phone().

◆ caller_head

struct GNUNET_CONVERSATION_Caller* GNUNET_CONVERSATION_Phone::caller_head

We keep all callers in a DLL.

Definition at line 160 of file conversation_api.c.

Referenced by clean_up_callers(), find_caller(), GNUNET_CONVERSATION_caller_hang_up(), handle_phone_hangup(), and handle_phone_ring().

◆ caller_tail

struct GNUNET_CONVERSATION_Caller* GNUNET_CONVERSATION_Phone::caller_tail

We keep all callers in a DLL.

Definition at line 165 of file conversation_api.c.

Referenced by GNUNET_CONVERSATION_caller_hang_up(), handle_phone_hangup(), and handle_phone_ring().

◆ event_handler

GNUNET_CONVERSATION_PhoneEventHandler GNUNET_CONVERSATION_Phone::event_handler

Function to call for phone events.

Definition at line 170 of file conversation_api.c.

Referenced by clean_up_callers(), GNUNET_CONVERSATION_phone_create(), handle_phone_hangup(), and handle_phone_ring().

◆ event_handler_cls

void* GNUNET_CONVERSATION_Phone::event_handler_cls

Closure for event_handler.

Definition at line 175 of file conversation_api.c.

Referenced by clean_up_callers(), GNUNET_CONVERSATION_phone_create(), handle_phone_hangup(), and handle_phone_ring().

◆ ns

struct GNUNET_NAMESTORE_Handle* GNUNET_CONVERSATION_Phone::ns

Connection to NAMESTORE (for reverse lookup).

Definition at line 180 of file conversation_api.c.

Referenced by GNUNET_CONVERSATION_phone_create(), and GNUNET_CONVERSATION_phone_destroy().

◆ mq

◆ my_record

struct GNUNET_CONVERSATION_PhoneRecord GNUNET_CONVERSATION_Phone::my_record

This phone's record.

Definition at line 190 of file conversation_api.c.

Referenced by GNUNET_CONVERSATION_phone_create(), GNUNET_CONVERSATION_phone_get_record(), and reconnect_phone().

◆ my_zone

struct GNUNET_CRYPTO_PrivateKey GNUNET_CONVERSATION_Phone::my_zone

My GNS zone.

Definition at line 195 of file conversation_api.c.

Referenced by GNUNET_CONVERSATION_phone_create().

◆ state


The documentation for this struct was generated from the following file: