#!/bin/sh
exec smbscript "$0" ${1+"$@"}
/*
	provision OpenChange MAPI Profiles
	Copyright Julien Kerihuel 2007
	Released under the GNU GPL v3 or later
*/

options = GetOptions(ARGV,
		"POPT_AUTOHELP",
		"POPT_COMMON_SAMBA",
		"POPT_COMMON_VERSION",
		"POPT_COMMON_CREDENTIALS",
		'profpath=s',
		'profdb=s',
		'blank');

if (options == undefined) {
	println("Failed to parse options");
	return -1;
}

libinclude("base.js");
libinclude("oc_profiles.js");

function message()
{
	if (options["quiet"] == undefined) {
		print(vsprintf(arguments));
	}
}

function ShowHelp()
{
	print("
OpenChange MAPI Profiles database provisioning

oc_profiles [options]
--profpath  	PROFILES_PATH  	set the profile database path
--profdb	PROFILES_DB    	set the profile database name

You must provide at least a database name

");

	exit(1);

}

/*
	main program
*/

if (options["profdb"] == undefined) {
	ShowHelp();
}

if (options["profpath"] == undefined) {
	ShowHelp();
}

var subobj = provision_guess();
for (r in options) {
	var key = strupper(join("", split("-", r)));
	subobj[key] = options[r];
}

var blank = (options["blank"] != undefined);

if (!provision_validate(subobj, message)) {
	return -1;
}

var creds = options.get_credentials();
var system_session = system_session();
var paths = provision_default_paths(subobj);

message("Provisioning a blank MAPI Profiles store\n");
provision(subobj, message, blank, paths, system_session, creds);

message("All OK\n");
return 0;
