def _submit_job(job_dict): """Call SMJobSubmit to submit a launchd job description. No return""" authref = __salt__['authorization.create'](kSMRightModifySystemDaemons) error = CFErrorRef() log.debug(job_dict) job_dict_p = NSDictionary(job_dict) domain = CFStringCreateWithCString(None, kSMDomainSystemLaunchd, kCFStringEncodingUTF8) ok = SMJobSubmit(domain, byref(job_dict_p), authref, byref(error)) if not ok: error_desc = NSString() error_desc = CFErrorCopyDescription(error) log.error(error_desc) #raise DaemonInstallException("SMJobSubmit error (see above)") __salt__['authorization.free'](authref) return ok