# Copyright (c) Microsoft Corporation.  All rights reserved.

#########################################
# NAMESPACE File for RevoScaleR Package #
#########################################

###
# IMPORTS
###

import(methods)

importFrom(stats, as.formula, cov2cor, formula, naprint, pf, predict,
           printCoefmat, resid, residuals, symnum, terms, terms.formula)
importFrom(utils, browseURL, capture.output, head, tail, write.table,
           packageVersion)

import(foreach)
import(iterators)
import(jsonlite)

importFrom(CompatibilityAPI,
           CompatibilityRequest, isCompatibilityRequest,
           SSHServerDefinition, DSNServerDefinition, isServerDefinition,
           capabilityNotSupported, serverNotKnown,
           thisServerDefinition, unknownServerDefinition,
           cacheServerCapabilities, cacheCapabilitiesFromVersion,
           knownCapabilities,
           makeVersion, isVersion, isVersionAtLeast, unknownVersion,
           setJsonDatabasePath, verifyJSONFile)

importClassesFrom(CompatibilityAPI, CompatibilityRequest)

###
# Exported Functions
###

export(as.lm)
export(as.glm)
export(as.kmeans)
export(as.naiveBayes)
export(as.randomForest)
export(as.gbm)
export(as.rpart)
export(as.xtabs)
export(rxAddInheritance)
export(rxAuc)
export(rxCancelJob)
export(rxChiSquaredTest)
export(rxCleanupJobs)
export(rxCompareContexts)
export(rxCompressXdf)
export(RxComputeContext)
export(rxCor)
export(rxCorCoef)
export(rxCorData)
export(rxCov)
export(rxCovCoef)
export(rxCovCor)
export(rxCovData)
export(rxCrossTabs)
export(rxCreateColInfo)
export(rxCube)
export(rxDataFrameToXdf)
export(rxLocateFile)
export(RxDataSource)
export(rxDataStep)
export(rxDataStepXdf)
export(rxDistributeJob)
export(rxElemArg)
export(rxExec)
export(rxExecBy)
export(rxFactors)
export(RxFileSystem)
export(rxFindFileInPath)
export(rxFindPackage)
export(rxFisherTest)
export(rxGetAvailableNodes)
export(rxGetComputeContext)
export(rxGetEnableThreadPool)
export(rxGetFileSystem)
export(rxGetFuzzyDist)
export(rxGetFuzzyKeys)
export(rxGetInfo)
export(rxGetInfoXdf)
export(rxIsDistributedContext)
export(rxGetJobs)
export(rxGetNodeInfo)
export(rxGetNodes)
export(rxGetOption)
export(rxGetPartitions)
export(rxGetJobInfo)
export(rxGetJobOutput)
export(rxGetJobResults)
export(rxGetJobStatus)
export(rxGetVarInfo)
export(rxGetVarInfoXdf)
export(rxGetVarNames)
export(rxGini)
export(rxGlm)
export(rxHadoopCommand)
export(rxHadoopCopy)
export(rxHadoopCopyFromLocal)
export(rxHadoopCopyFromClient)
export(rxHadoopCopyToLocal)
export(rxHadoopListFiles)
export(rxHadoopFileExists)
export(rxHadoopMakeDir)
export(rxHadoopMove)
export(rxHadoopRemove)
export(rxHadoopRemoveDir)
export(rxHadoopVersion)
export(rxHdfsConnect)
export(rxHistogram)
export(rxIsExpressEdition)
export(rxKendallCor)
export(rxKmeans)
export(rxDTree)
export(rxDTreeBestCp)
export(prune.rxDTree)
export(rxDForest)
export(rxBTrees)
export(rxVarImpPlot)
export(rxLeafSize)
export(rxTlcBridge)
export(rxTreeDepth)
export(rxTreeSize)
export(rxVarUsed)
export(rxGetTree)
export(RxHdfsFileSystem)
export(rxImport)
export(rxImportToXdf)
export(rxInstalledPackages)
export(rxInstallPackages)
export(rxLaunchClusterJobManager)
export(rxLinMod)
export(rxLinePlot)
export(rxLogit)
export(rxLorenz)
export(rxMakeRNodeNames)
export(rxMarginals)
export(rxMerge)
export(rxMergeXdf)
export(rxMultiTest)
export(rxNaiveBayes)
export(RxNativeFileSystem)
export(rxOAuthParameters)
export(rxOddsRatio)
export(rxOptions)
export(rxPartition)
export(rxPairwiseCrossTab)
export(rxPingNodes)
export(rxPredict)
export(rxPrivacyControl)
export(rxQuantile)
export(rxReadXdf)
export(rxRemoteCall)
export(rxRemoteHadoopMRCall)
export(rxRemoteGetId)
export(rxRemoteFilePath)
export(rxRemovePackages)
export(rxResultsDF)
export(rxRiskRatio)
export(rxRngDelStream)
export(rxRngSetStream)
export(rxRngNewStream)
export(rxRngGetStream)
export(rxRoc)
export(rxRocCurve)
export(rxSerializeModel)
export(rxSSCP)
export(rxSetComputeContext)
export(rxSetFileSystem)
export(rxSetInfo)
export(rxSetInfoXdf)
export(rxSetEnableThreadPool)
export(rxSetVarInfo)
export(rxSetVarInfoXdf)
#export(rxSimulate)
export(rxSort)
export(rxSortXdf)
export(rxSplit)
export(rxSplitXdf)
export(rxStepControl)
export(rxStepPlot)
export(rxSummary)
export(rxSyncPackages)
export(rxTeradataSql)
export(rxTeradataTableExists)
export(rxTeradataDropTable)
export(rxSqlLibPaths)
export(rxSqlPkgDownloadPackages)
export(rxSqlPkgGetLibraryPath)
export(rxSqlPkgInstallPackages)
export(rxSqlPkgUninstallPackages)
export(rxSqlServerDropTable)
export(rxSqlServerPrepareLibraryPath)
export(rxSqlServerTableExists)
export(rxSqlUpdateLibPaths)
export(rxTextToXdf)
export(rxTweedie)
export(rxWaitForJob)
export(rxXdfToDataFrame)
export(rxXdfToText)
export(rxStopEngine)
export(rxWriteObject)
export(rxReadObject)
export(rxDeleteObject)
export(rxListKeys)
export(rxSparkRemoveData)
export(rxSparkListData)
export(rxSparkConnect)
export(rxSparkDisconnect)
export(rxSparkCacheData)
export(rxGetSparklyrConnection)
export(rxUnserializeModel)

###
# Exported S3 Methods
###

S3method("[", rxCube)
S3method(as.data.frame, rxCrossTable)
S3method(as.data.frame, rxCube)
S3method(as.data.frame, rxRoc)
S3method(as.list, rxCrossTabs)
S3method(as.lm, rxLinMod)
S3method(as.glm, rxLogit)
S3method(as.glm, rxGlm)
S3method(as.kmeans, rxKmeans)
S3method(as.naiveBayes, rxNaiveBayes)
S3method(as.randomForest, rpart)
S3method(as.randomForest, rxDForest)
S3method(as.randomForest, rxDTree)
S3method(as.gbm, rpart)
S3method(as.gbm, rxBTrees)
S3method(as.gbm, rxDTree)
S3method(as.rpart, rxDTree)
S3method(as.vector, rxPingResults)
S3method(as.xtabs, rxCrossTabs)
S3method(as.xtabs, rxCube)
S3method(coef, rxLinMod)
S3method(edit, rxCube)
S3method(extractAIC, rxLinMod)
S3method(extractAIC, rxLogit)
S3method(extractAIC, rxGlm)
S3method(head, rxCube)
S3method(mean, rxCrossTabs)
S3method(plot, rxDForest)
S3method(plot, rxBTrees)
S3method(plot, rxLorenz)
S3method(plot, rxRoc)
S3method(predict, rxDTree)
S3method(print, rxMultiTest)
S3method(print, rxPairwiseCrossTabList)
S3method(print, rxPairwiseCrossTabTable)
S3method(print, rxCovCor)
S3method(print, rxCrossTable)
S3method(print, rxCrossTabs)
S3method(print, rxCrossTabsMarginals)
S3method(print, rxCube)
S3method(print, rxDTree)
S3method(print, rxDForest)
S3method(print, rxBTrees)
S3method(print, rxGetInfo)
S3method(print, rxGetVarInfo)
S3method(print, rxGlm)
S3method(print, RxHdfsFileSystem)
S3method(print, rxJobInfo)
S3method(print, rxJobInfoList)
S3method(print, rxKmeans)
S3method(print, rxLinMod)
S3method(print, rxLogit)
S3method(print, rxNaiveBayes)
S3method(print, rxPingResults)
S3method(print, rxSummary)
S3method(print, rxVarInfo)
S3method(print, RxFileSystem)
S3method(print, summary.rxCrossTabs)
S3method(print, summary.rxCube)
S3method(print, summary.rxGlm)
S3method(print, summary.rxLinMod)
S3method(print, summary.rxLinModList)
S3method(print, summary.rxLogit)
S3method(residuals, rxDTree)
S3method(resid, rxDTree)
S3method(rxAddInheritance, default)
S3method(rxAddInheritance, rxDTree)
S3method(rxCorCoef, rxLinMod)
S3method(rxCorData, rxLinMod)
S3method(rxCorCoef, rxLogit)
S3method(rxCorData, rxLogit)
S3method(rxCorCoef, rxGlm)
#S3method(rxCorData, rxGlm)
S3method(rxCovCoef, rxLinMod)
S3method(rxCovData, rxLinMod)
S3method(rxCovCoef, rxLogit)
S3method(rxCovData, rxLogit)
S3method(rxCovCoef, rxGlm)
#S3method(rxCovData, rxGlm)
S3method(rxMarginals, rxCrossTabs)
S3method(rxPredict, default)
S3method(rxPredict, rxDTree)
S3method(rxPredict, rxDForest)
S3method(rxPredict, rxNaiveBayes)
S3method(rxResultsDF, rxCrossTabs)
S3method(rxResultsDF, rxCube )
S3method(rxResultsDF, rxLinMod)
S3method(rxResultsDF, rxLogit)
S3method(rxResultsDF, rxSummary)
S3method(rxAuc, rxRoc)
S3method(rxGini, rxLorenz)
S3method(subset, rxCube)
S3method(summary, rxCrossTabs)
S3method(summary, rxCube)
S3method(summary, rxGlm)
S3method(summary, rxLinMod)
S3method(summary, rxLogit)
S3method(tail, rxCube)

S3method(summary, RxXdfData)
S3method(head, RxXdfData)
S3method(head, RxSasData)
S3method(head, RxSpssData)
S3method(head, RxTextData)
S3method(head, RxOdbcData)
S3method(head, RxTeradata)
S3method(head, RxSqlServerData)
S3method(head, RxSparkData)
#S3method(head, RxAvroData)
S3method(tail, RxXdfData)
S3method(tail, RxSasData)
S3method(tail, RxSpssData)
S3method(tail, RxTextData)
S3method(tail, RxOdbcData)
S3method(tail, RxTeradata)
S3method(tail, RxSqlServerData)
S3method(tail, RxSparkData)
#S3method(tail, RxAvroData)
S3method(rxWriteObject, RxOdbcData)
S3method(rxWriteObject, default)
S3method(rxReadObject, RxOdbcData)
S3method(rxReadObject, raw)
S3method(rxDeleteObject, RxOdbcData)
S3method(rxListKeys, RxOdbcData)

S3method(rxSerializeModel, default)
###
# Exported S4 Classes
###

export(RxLocalSeq)
export(RxLocalParallel)
export(RxForeachDoPar)
export(RxHadoopMR)
export(RxSpark)
export(RxInSqlServer)
export(RxHpcServer)
#export(RxAzureBurst)
#export(RxAzureHpc)
#export(RxLsfCluster)
export(RxOdbcData)
export(RxTeradata)
export(RxSqlServerData)
#export(RxAvroData)
export(RxSasData)
export(RxSpssData)
export(RxParquetData)
export(RxHiveData)
export(RxOrcData)
export(RxTextData)
export(RxXdfData)
export(XdfData)
exportClasses(RxComputeContext)
exportClasses(RxLocalSeq)
exportClasses(RxLocalParallel)
exportClasses(RxForeachDoPar)
exportClasses(RxHadoopMR)
exportClasses(RxSpark)
exportClasses(RxHpcServer)
#exportClasses(RxAzureBurst)
#exportClasses(RxAzureHpc)
#exportClasses(RxLsfCluster)
exportClasses(RxDistributedHpa)
exportClasses(RxDataSource)
exportClasses(RxFileData)
exportClasses(RxOdbcData)
#exportClasses(RxAvroData)
exportClasses(RxTeradata)
exportClasses(RxSqlServerData)
exportClasses(RxSasData)
exportClasses(RxSpssData)
exportClasses(RxSparkData)
exportClasses(RxParquetData)
exportClasses(RxHiveData)
exportClasses(RxOrcData)
exportClasses(RxTextData)
exportClasses(RxXdfData)

###
# Export Implicit S4 Generics
##

export(colnames)
export(formula)
export(row.names)
#export(str)

###
# Exported S4 Methods/Generics
###

exportMethods(colnames)
exportMethods(dim)
exportMethods(dimnames)
exportMethods(formula)
exportMethods(length)
exportMethods(names)
exportMethods("names<-")
exportMethods(row.names)
exportMethods(rxClose)
exportMethods(rxExecuteSQLDDL)
exportMethods(rxIsOpen)
exportMethods(rxNewDataSource)
exportMethods(rxOpen)
exportMethods(rxReadNext)
exportMethods(rxWriteNext)
exportMethods(rxXdfFileName)
exportMethods(show)
#exportMethods(str)
