예제 #1
0
static void
gsm_dbus_client_set_bus_name (GsmDBusClient  *client,
                              const char     *bus_name)
{
        uid_t    uid;
        pid_t    pid;

        g_return_if_fail (GSM_IS_DBUS_CLIENT (client));

        g_free (client->priv->bus_name);

        client->priv->bus_name = g_strdup (bus_name);
        g_object_notify (G_OBJECT (client), "bus-name");

        if (client->priv->bus_name != NULL) {
                gboolean res;

                res = get_caller_info (client, bus_name, &uid, &pid);
                if (! res) {
                        pid = 0;
                }
        } else {
                pid = 0;
        }
        client->priv->caller_pid = pid;
}
예제 #2
0
int
main ()
{
	char sender[1024];
	pid_t caller_pid;
	char *session_id;

	g_type_init ();

	g_print ("sender name:");
	scanf ("%s", sender);

	caller_pid = get_caller_info (sender);

	g_print ("Pid: %u\n", caller_pid);

	session_id = get_session (caller_pid);

	g_print ("Session: %s\n", session_id);

	g_free (session_id);

	return 0;
}