// createCloudConfig creates a config object that supports cloud and (optionally) local mode. func createCloudConfig(context *cli.Context, xmppJID, robotRefreshToken, userRefreshToken, shareScope, proxyName string, localEnable bool) *lib.Config { return &lib.Config{ LocalPrintingEnable: localEnable, CloudPrintingEnable: true, XMPPJID: xmppJID, RobotRefreshToken: robotRefreshToken, UserRefreshToken: userRefreshToken, ShareScope: shareScope, ProxyName: proxyName, XMPPServer: lib.DefaultConfig.XMPPServer, XMPPPort: uint16(context.Int("xmpp-port")), XMPPPingTimeout: context.String("xmpp-ping-timeout"), XMPPPingInterval: context.String("xmpp-ping-interval"), GCPBaseURL: lib.DefaultConfig.GCPBaseURL, GCPOAuthClientID: context.String("gcp-oauth-client-id"), GCPOAuthClientSecret: context.String("gcp-oauth-client-secret"), GCPOAuthAuthURL: lib.DefaultConfig.GCPOAuthAuthURL, GCPOAuthTokenURL: lib.DefaultConfig.GCPOAuthTokenURL, GCPMaxConcurrentDownloads: uint(context.Int("gcp-max-concurrent-downloads")), NativeJobQueueSize: uint(context.Int("native-job-queue-size")), NativePrinterPollInterval: context.String("native-printer-poll-interval"), CUPSJobFullUsername: lib.PointerToBool(context.Bool("cups-job-full-username")), PrefixJobIDToJobTitle: lib.PointerToBool(context.Bool("prefix-job-id-to-job-title")), DisplayNamePrefix: context.String("display-name-prefix"), PrinterBlacklist: lib.DefaultConfig.PrinterBlacklist, PrinterWhitelist: lib.DefaultConfig.PrinterWhitelist, LogLevel: context.String("log-level"), LocalPortLow: uint16(context.Int("local-port-low")), LocalPortHigh: uint16(context.Int("local-port-high")), } }
// createLocalConfig creates a config object that supports local mode. func createLocalConfig(context *cli.Context) *lib.Config { return &lib.Config{ LocalPrintingEnable: true, CloudPrintingEnable: false, NativeJobQueueSize: uint(context.Int("native-job-queue-size")), NativePrinterPollInterval: context.String("native-printer-poll-interval"), CUPSJobFullUsername: lib.PointerToBool(context.Bool("cups-job-full-username")), PrefixJobIDToJobTitle: lib.PointerToBool(context.Bool("prefix-job-id-to-job-title")), DisplayNamePrefix: context.String("display-name-prefix"), PrinterBlacklist: lib.DefaultConfig.PrinterBlacklist, PrinterWhitelist: lib.DefaultConfig.PrinterWhitelist, LogLevel: context.String("log-level"), LocalPortLow: uint16(context.Int("local-port-low")), LocalPortHigh: uint16(context.Int("local-port-high")), } }
// createLocalConfig creates a config object that supports local mode. func createLocalConfig(context *cli.Context) *lib.Config { return &lib.Config{ LocalPrintingEnable: true, CloudPrintingEnable: false, NativeJobQueueSize: uint(context.Int("native-job-queue-size")), NativePrinterPollInterval: context.String("native-printer-poll-interval"), PrefixJobIDToJobTitle: lib.PointerToBool(context.Bool("prefix-job-id-to-job-title")), DisplayNamePrefix: context.String("display-name-prefix"), PrinterBlacklist: lib.DefaultConfig.PrinterBlacklist, PrinterWhitelist: lib.DefaultConfig.PrinterWhitelist, LogLevel: context.String("log-level"), LocalPortLow: uint16(context.Int("local-port-low")), LocalPortHigh: uint16(context.Int("local-port-high")), LogFileName: context.String("log-file-name"), LogFileMaxMegabytes: uint(context.Int("log-file-max-megabytes")), LogMaxFiles: uint(context.Int("log-max-files")), LogToJournal: lib.PointerToBool(context.Bool("log-to-journal")), MonitorSocketFilename: context.String("monitor-socket-filename"), CUPSMaxConnections: uint(context.Int("cups-max-connections")), CUPSConnectTimeout: context.String("cups-connect-timeout"), CUPSPrinterAttributes: lib.DefaultConfig.CUPSPrinterAttributes, CUPSJobFullUsername: lib.PointerToBool(context.Bool("cups-job-full-username")), CUPSIgnoreRawPrinters: lib.PointerToBool(context.Bool("cups-ignore-raw-printers")), CUPSIgnoreClassPrinters: lib.PointerToBool(context.Bool("cups-ignore-class-printers")), CUPSCopyPrinterInfoToDisplayName: lib.PointerToBool(context.Bool("copy-printer-info-to-display-name")), } }
// createCloudConfig creates a config object that supports cloud and (optionally) local mode. func createCloudConfig(context *cli.Context, xmppJID, robotRefreshToken, userRefreshToken, shareScope, proxyName string, localEnable bool) *lib.Config { return &lib.Config{ LocalPrintingEnable: localEnable, CloudPrintingEnable: true, XMPPJID: xmppJID, RobotRefreshToken: robotRefreshToken, UserRefreshToken: userRefreshToken, ShareScope: shareScope, ProxyName: proxyName, XMPPServer: lib.DefaultConfig.XMPPServer, XMPPPort: uint16(context.Int("xmpp-port")), XMPPPingTimeout: context.String("xmpp-ping-timeout"), XMPPPingInterval: context.String("xmpp-ping-interval"), GCPBaseURL: lib.DefaultConfig.GCPBaseURL, GCPOAuthClientID: context.String("gcp-oauth-client-id"), GCPOAuthClientSecret: context.String("gcp-oauth-client-secret"), GCPOAuthAuthURL: lib.DefaultConfig.GCPOAuthAuthURL, GCPOAuthTokenURL: lib.DefaultConfig.GCPOAuthTokenURL, GCPMaxConcurrentDownloads: uint(context.Int("gcp-max-concurrent-downloads")), NativeJobQueueSize: uint(context.Int("native-job-queue-size")), NativePrinterPollInterval: context.String("native-printer-poll-interval"), PrefixJobIDToJobTitle: lib.PointerToBool(context.Bool("prefix-job-id-to-job-title")), DisplayNamePrefix: context.String("display-name-prefix"), PrinterBlacklist: lib.DefaultConfig.PrinterBlacklist, PrinterWhitelist: lib.DefaultConfig.PrinterWhitelist, LogLevel: context.String("log-level"), LocalPortLow: uint16(context.Int("local-port-low")), LocalPortHigh: uint16(context.Int("local-port-high")), LogFileName: context.String("log-file-name"), LogFileMaxMegabytes: uint(context.Int("log-file-max-megabytes")), LogMaxFiles: uint(context.Int("log-max-files")), LogToJournal: lib.PointerToBool(context.Bool("log-to-journal")), MonitorSocketFilename: context.String("monitor-socket-filename"), CUPSMaxConnections: uint(context.Int("cups-max-connections")), CUPSConnectTimeout: context.String("cups-connect-timeout"), CUPSPrinterAttributes: lib.DefaultConfig.CUPSPrinterAttributes, CUPSJobFullUsername: lib.PointerToBool(context.Bool("cups-job-full-username")), CUPSIgnoreRawPrinters: lib.PointerToBool(context.Bool("cups-ignore-raw-printers")), CUPSIgnoreClassPrinters: lib.PointerToBool(context.Bool("cups-ignore-class-printers")), CUPSCopyPrinterInfoToDisplayName: lib.PointerToBool(context.Bool("copy-printer-info-to-display-name")), } }