Ejemplo n.º 1
0
int main(int argc, char *argv[])
{

	if(argc < 4)
	{
		printf("Usage: %s [Gtalk username] [password] [recipient address] [message]\n", argv[0]);
		return 1;
	}	
	input_address = argv[3];
	input_message = argv[4];
	GMainLoop *loop = g_main_loop_new(NULL, FALSE);

	/* libpurple's built-in DNS resolution forks processes to perform
	 * blocking lookups without blocking the main process.  It does not
	 * handle SIGCHLD itself, so if the UI does not you quickly get an army
	 * of zombie subprocesses marching around.
	 */
	signal(SIGCHLD, SIG_IGN);

	init_libpurple();

	connect_to_signals();

	PurpleAccount *account = purple_account_new(argv[1], "prpl-jabber");
	purple_account_set_password(account, argv[2]);

	purple_accounts_add(account);
	purple_account_set_enabled(account, UI_ID, TRUE);

	g_main_loop_run(loop);

	return 0;

}
Ejemplo n.º 2
0
Archivo: basic.c Proyecto: ghetzel/zee
int main(int argc, char *argv[])
{

	GMainLoop *loop = g_main_loop_new(NULL, FALSE);

	/* libpurple's built-in DNS resolution forks processes to perform
	 * blocking lookups without blocking the main process.  It does not
	 * handle SIGCHLD itself, so if the UI does not you quickly get an army
	 * of zombie subprocesses marching around.
	 */
	signal(SIGCHLD, SIG_IGN);

	init_libpurple();

	printf("libpurple initialized. Running version %s.\n", purple_core_get_version()); //I like to see the version number

	connect_to_signals();

	PurpleAccount *account = purple_account_new(PACCOUNT_NAME, "prpl-aim"); //this could be prpl-aim, prpl-yahoo, prpl-msn, prpl-icq, etc.
	purple_account_set_password(account, PACCOUNT_PASS);

	purple_accounts_add(account);
	purple_account_set_enabled(account, UI_ID, TRUE);

	g_main_loop_run(loop);

	return 0;

}
Ejemplo n.º 3
0
int main() {
  pthread_t plistener;

  int ret;

  GMainLoop *loop = g_main_loop_new(NULL, FALSE);

  memset(g_client_inuse, 0, MAX_CONNECT);

  srand(time(0));

  SHA1_Init(&g_sha_ctx);

  g_session = (taim_session*)malloc(sizeof(taim_session));
  memset(g_session, 0, sizeof(taim_session));

  //pthread_mutex_init(&g_mutex_init, NULL);
  //pthread_mutex_lock(&g_mutex_init);

  ret = pthread_create(&plistener, 0, taim_server, 0);

  pthread_detach(plistener);

  init_libpurple();
  connect_to_signals();
  //pthread_mutex_lock(&g_mutex_init);
  g_main_loop_run(loop);
  return 0;
} 
static void setup_integration (void)
{
  init_libpurple();

  PurpleAccount* prpl_account = purple_account_new("test_user", "yammer");
  purple_account_set_enabled(prpl_account, "test_runner", TRUE);
  account = yammer_account_new(prpl_account);
}
Ejemplo n.º 5
0
gboolean finch_start(int *argc, char ***argv)
{
	/* Initialize the libpurple stuff */
	if (!init_libpurple(*argc, *argv))
		return FALSE;

	purple_blist_show();
	return TRUE;
}
/* boolean Init (); */
NS_IMETHODIMP purpleCoreService::Init()
{
  /* We shouldn't init the core twice, even though each purpleProtocol
     instantiation will call this method. */
  if (mInitialized)
    return NS_OK;

  /* Make sure we will uninitialize libpurple before all services are
     destroyed */
  nsresult rv;
  nsCOMPtr<nsIObserverService> os =
    do_GetService(NS_OBSERVERSERVICE_CONTRACTID, &rv);
  NS_ENSURE_SUCCESS(rv, rv);

  rv = os->AddObserver(this, "prpl-quit", PR_FALSE);
  NS_ENSURE_SUCCESS(rv, rv);

  /* Ensure that NSS is initialized */
  nsCOMPtr<nsISupports> nssComponent
    = do_GetService("@mozilla.org/psm;1");
  NS_ASSERTION(nssComponent, "Failed to initialize NSS");

  purpleSocketWatcher::init();
  purpleNetworkObserver::init();
  purpleDNS::init();
  purpleTimer::init();

  init_libpurple_commands();

  /* Init the core of libpurple */
  rv = init_libpurple();
  NS_ENSURE_SUCCESS(rv, rv);

  /* Init libpurple subsystems */
  init_libpurple_conversations();

  /*Load the list of proxies. Should be done before loading the accounts */
  InitProxies();

  /* Set to true before the end of the initialization because
     InitAccounts calls GetProtoById that ensures the core is
     initialized */
  mInitialized = PR_TRUE;

  /* Set the ui ops only after the accounts are loaded to avoid useless
     set_* ops calls during the load of account specific preferences. */
  init_libpurple_accounts();

  init_libpurple_blist();

  os->AddObserver(this, "idle-time-changed", PR_FALSE);

  LOG(("Libpurple initialized"));
  return NS_OK;
}
Ejemplo n.º 7
0
int main(int argc, char *argv[])
{
	GList *iter;
	int i, num;
	GList *names = NULL;
	const char *prpl;
	char name[128];
	char *password;
	GMainLoop *loop = g_main_loop_new(NULL, FALSE);
	PurpleAccount *account;
	PurpleSavedStatus *status;
	char *res;

#ifndef _WIN32
	/* libpurple's built-in DNS resolution forks processes to perform
	 * blocking lookups without blocking the main process.  It does not
	 * handle SIGCHLD itself, so if the UI does not you quickly get an army
	 * of zombie subprocesses marching around.
	 */
	signal(SIGCHLD, SIG_IGN);
#endif

	init_libpurple();

	printf("libpurple initialized.\n");

	iter = purple_plugins_get_protocols();
	for (i = 0; iter; iter = iter->next) {
		PurplePlugin *plugin = iter->data;
		PurplePluginInfo *info = plugin->info;
		if (info && info->name) {
			printf("\t%d: %s\n", i++, info->name);
			names = g_list_append(names, info->id);
		}
	}
	printf("Select the protocol [0-%d]: ", i-1);
	res = fgets(name, sizeof(name), stdin);
	if (!res) {
		fprintf(stderr, "Failed to gets protocol selection.");
		abort();
	}
	sscanf(name, "%d", &num);
	prpl = g_list_nth_data(names, num);

	printf("Username: "******"Failed to read user name.");
		abort();
	}
	name[strlen(name) - 1] = 0;  /* strip the \n at the end */


	/* Create the account */
	account = purple_account_new(name, prpl);

	/* Get the password for the account */
	password = getpass("Password: ");
	purple_account_set_password(account, password);

	/* It's necessary to enable the account first. */
	purple_account_set_enabled(account, UI_ID, TRUE);

	/* Now, to connect the account(s), create a status and activate it. */
	status = purple_savedstatus_new(NULL, PURPLE_STATUS_AVAILABLE);
	purple_savedstatus_activate(status);

	connect_to_signals_for_demonstration_purposes_only();

	g_main_loop_run(loop);

	return 0;
}