cdma: add port accessors for subclasses
This commit is contained in:
+34
-9
@@ -86,15 +86,14 @@ owns_port (MMModem *modem, const char *subsys, const char *name)
|
||||
return !!mm_modem_base_get_port (MM_MODEM_BASE (modem), subsys, name);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
grab_port (MMModem *modem,
|
||||
const char *subsys,
|
||||
const char *name,
|
||||
MMPortType suggested_type,
|
||||
gpointer user_data,
|
||||
GError **error)
|
||||
MMPort *
|
||||
mm_generic_cdma_grab_port (MMGenericCdma *self,
|
||||
const char *subsys,
|
||||
const char *name,
|
||||
MMPortType suggested_type,
|
||||
gpointer user_data,
|
||||
GError **error)
|
||||
{
|
||||
MMGenericCdma *self = MM_GENERIC_CDMA (modem);
|
||||
MMGenericCdmaPrivate *priv = MM_GENERIC_CDMA_GET_PRIVATE (self);
|
||||
MMPortType ptype = MM_PORT_TYPE_IGNORED;
|
||||
MMPort *port;
|
||||
@@ -140,7 +139,18 @@ grab_port (MMModem *modem,
|
||||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
return port;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
grab_port (MMModem *modem,
|
||||
const char *subsys,
|
||||
const char *name,
|
||||
MMPortType suggested_type,
|
||||
gpointer user_data,
|
||||
GError **error)
|
||||
{
|
||||
return !!mm_generic_cdma_grab_port (MM_GENERIC_CDMA (modem), subsys, name, suggested_type, user_data, error);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -171,6 +181,21 @@ release_port (MMModem *modem, const char *subsys, const char *name)
|
||||
check_valid (MM_GENERIC_CDMA (modem));
|
||||
}
|
||||
|
||||
MMSerialPort *
|
||||
mm_generic_cdma_get_port (MMGenericCdma *modem,
|
||||
MMPortType ptype)
|
||||
{
|
||||
g_return_val_if_fail (MM_IS_GENERIC_CDMA (modem), NULL);
|
||||
g_return_val_if_fail (ptype != MM_PORT_TYPE_UNKNOWN, NULL);
|
||||
|
||||
if (ptype == MM_PORT_TYPE_PRIMARY)
|
||||
return MM_GENERIC_CDMA_GET_PRIVATE (modem)->primary;
|
||||
else if (ptype == MM_PORT_TYPE_SECONDARY)
|
||||
return MM_GENERIC_CDMA_GET_PRIVATE (modem)->secondary;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
void
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
#include "mm-modem.h"
|
||||
#include "mm-modem-base.h"
|
||||
#include "mm-modem-cdma.h"
|
||||
#include "mm-serial-port.h"
|
||||
|
||||
#define MM_TYPE_GENERIC_CDMA (mm_generic_cdma_get_type ())
|
||||
#define MM_GENERIC_CDMA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MM_TYPE_GENERIC_CDMA, MMGenericCdma))
|
||||
@@ -47,6 +48,16 @@ MMModem *mm_generic_cdma_new (const char *device,
|
||||
const char *plugin);
|
||||
|
||||
/* Private, for subclasses */
|
||||
|
||||
MMPort * mm_generic_cdma_grab_port (MMGenericCdma *self,
|
||||
const char *subsys,
|
||||
const char *name,
|
||||
MMPortType suggested_type,
|
||||
gpointer user_data,
|
||||
GError **error);
|
||||
|
||||
MMSerialPort *mm_generic_cdma_get_port (MMGenericCdma *modem, MMPortType ptype);
|
||||
|
||||
void mm_generic_cdma_set_registration_state (MMGenericCdma *self,
|
||||
MMModemCdmaRegistrationState new_state);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user