mirror of
https://gitee.com/openharmony/print_print_fwk
synced 2025-02-21 19:00:37 +00:00
fix bugs Signed-off-by:zoumeiguang@huawei.com
Signed-off-by: guang <zoumeiguang@huawei.com>
This commit is contained in:
parent
1e393bb110
commit
ed33eaa68a
@ -33,7 +33,7 @@ public:
|
||||
DECLARE_INTERFACE_DESCRIPTOR(u"OHOS.Print.IPrintService");
|
||||
virtual int32_t StartPrint(const std::vector<std::string> &fileList,
|
||||
const std::vector<uint32_t> &fdList, std::string &taskId) = 0;
|
||||
virtual int32_t StartPrint(const std::vector<std::string> &fileList,const std::vector<uint32_t> &fdList,
|
||||
virtual int32_t StartPrint(const std::vector<std::string> &fileList, const std::vector<uint32_t> &fdList,
|
||||
std::string &taskId, const sptr<IRemoteObject> &token) = 0;
|
||||
virtual int32_t StopPrint(const std::string &taskId) = 0;
|
||||
virtual int32_t ConnectPrinter(const std::string &printerId) = 0;
|
||||
|
@ -29,7 +29,7 @@ public:
|
||||
const std::vector<uint32_t> &fdList, std::string &taskId) override;
|
||||
int32_t StopPrint(const std::string &taskId) override;
|
||||
int32_t StartPrint(const std::vector<std::string> &fileList, const std::vector<uint32_t> &fdList,
|
||||
std::string &taskId, const sptr<IRemoteObject> &token);
|
||||
std::string &taskId, const sptr<IRemoteObject> &token) override;
|
||||
int32_t ConnectPrinter(const std::string &printerId) override;
|
||||
int32_t DisconnectPrinter(const std::string &printerId) override;
|
||||
int32_t StartDiscoverPrinter(const std::vector<std::string> &extensionList) override;
|
||||
|
4
interfaces/kits/jskits/@ohos.print.d.ts
vendored
4
interfaces/kits/jskits/@ohos.print.d.ts
vendored
@ -13,7 +13,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
import type { AsyncCallback } from './@ohos.base';
|
||||
import type Context from '/application/Context';
|
||||
import type Context from './application/Context';
|
||||
|
||||
/**
|
||||
* System print
|
||||
@ -66,7 +66,7 @@ declare namespace print {
|
||||
* Start new print task for App.
|
||||
* @since 10
|
||||
* @param files Indicates the filepath list to be printed. Only pdf and picture filetype are supported.
|
||||
* @paramv { Context } context - The ability context that initiates the call print request.
|
||||
* @param { Context } context - The ability context that initiates the call print request.
|
||||
* @param callback The callback function for print task.
|
||||
* @permission {@code ohos.permission.PRINT}
|
||||
* @return -
|
||||
|
@ -38,7 +38,7 @@ private:
|
||||
static napi_value Initialize(napi_env env, napi_callback_info info);
|
||||
static bool IsValidFile(const std::string &fileName);
|
||||
static napi_value GetAbilityContext(
|
||||
napi_env env, napi_value value, std::shard_ptr<OHOS::AbilityRuntime::AbilityContext> &abilityContext);
|
||||
napi_env env, napi_value value, std::shared_ptr<OHOS::AbilityRuntime::AbilityContext> &abilityContext);
|
||||
static napi_value WrapVoidToJS(napi_env env);
|
||||
static napi_status VerifyParameters(napi_env env, size_t argc, napi_value *argv,
|
||||
const std::shared_ptr<PrintTaskContext> context, napi_value proxy);
|
||||
|
@ -72,7 +72,7 @@ napi_value NapiPrintTask::Print(napi_env env, napi_callback_info info)
|
||||
}
|
||||
|
||||
napi_value NapiPrintTask::GetAbilityContext(
|
||||
napi_env env, napi_value value, std::shard_ptr<OHOS::AbilityRuntime::AbilityContext> &abilityContext)
|
||||
napi_env env, napi_value value, std::shared_ptr<OHOS::AbilityRuntime::AbilityContext> &abilityContext)
|
||||
{
|
||||
bool stageMode = false;
|
||||
napi_status status = OHOS::AbilityRuntime::IsStageContext(env, value, stageMode);
|
||||
@ -88,7 +88,7 @@ napi_value NapiPrintTask::GetAbilityContext(
|
||||
abilityContext = OHOS::AbilityRuntime::Context::ConvertTo<OHOS::AbilityRuntime::AbilityContext>(context);
|
||||
if (abilityContext == nullptr) {
|
||||
PRINT_HILOGE("GetAbilityContext get Stage model ability context failed.");
|
||||
return nullptr;
|
||||
return nullptr;
|
||||
}
|
||||
return WrapVoidToJS(env);
|
||||
}
|
||||
@ -135,13 +135,13 @@ napi_value NapiPrintTask::Initialize(napi_env env, napi_callback_info info)
|
||||
napi_value filesValue;
|
||||
napi_get_element(env, argv[0], index, &filesValue);
|
||||
std::string files = NapiPrintUtils::GetStringFromValueUtf8(env, filesValue);
|
||||
PRINT_HILOGD("file[%{public}d] %{private}s", index, files.c_str());
|
||||
PRINT_HILOGD("file[%{public}d] %{private}s.", index, files.c_str());
|
||||
if (IsValidFile(files)) {
|
||||
printfiles.emplace_back(files);
|
||||
}
|
||||
}
|
||||
|
||||
std::shard_ptr<OHOS::AbilityRuntime::AbilityContext> abilityContext;
|
||||
std::shared_ptr<OHOS::AbilityRuntime::AbilityContext> abilityContext;
|
||||
sptr<IRemoteObject> callerToken;
|
||||
if (argc == NapiPrintUtils::ARGC_TWO && GetAbilityContext(env, argv[1], abilityContext) != nullptr) {
|
||||
callerToken = abilityContext->GetToken();
|
||||
@ -201,15 +201,15 @@ napi_status NapiPrintTask::VerifyParameters(napi_env env, size_t argc, napi_valu
|
||||
return napi_invalid_arg;
|
||||
}
|
||||
|
||||
std::shard_ptr<OHOS::AbilityRuntime::AbilityContext> abilityContext;
|
||||
std::shared_ptr<OHOS::AbilityRuntime::AbilityContext> abilityContext;
|
||||
if (argc == NapiPrintUtils::ARGC_TWO) {
|
||||
if (GetAbilityContext(env, argv[1], abilityContext) == nullptr) {
|
||||
PRINT_HILOGE("Print, Ability Context is null.");
|
||||
}
|
||||
}
|
||||
|
||||
napi_status status = napi_new_instance(env, GetCtor(env), argc, argv, &proxy);
|
||||
if ((proxy == nullptr) || (status != napi_ok))
|
||||
{
|
||||
if ((proxy == nullptr) || (status != napi_ok)) {
|
||||
PRINT_HILOGE("Failed to create print task");
|
||||
context->SetErrorIndex(E_PRINT_GENERIC_FAILURE);
|
||||
return napi_generic_failure;
|
||||
|
@ -77,12 +77,12 @@ uint32_t PrintTask::Start()
|
||||
fdList_.emplace_back(fd);
|
||||
}
|
||||
}
|
||||
if (callToken_ == nullptr) {
|
||||
if (callerToken_ == nullptr) {
|
||||
PRINT_HILOGI("call client's old StartPrint interface.");
|
||||
return PrintManagerClient::GetInstance()->StartPrint(fileList_, fdList_, taskId_);
|
||||
} else {
|
||||
PRINT_HILOGI("call client's new StartPrint interface.");
|
||||
return PrintManagerClient::GetInstance()->StartPrint(fileList_, fdList_, taskId_, callToken_);
|
||||
return PrintManagerClient::GetInstance()->StartPrint(fileList_, fdList_, taskId_, callerToken_);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -285,7 +285,7 @@ int32_t PrintServiceAbility::StartPrint(const std::vector<std::string> &fileList
|
||||
printJob->SetJobId(jobId);
|
||||
printJob->SetJobState(PRINT_JOB_PREPARED);
|
||||
AAFwk::Want want;
|
||||
want.SetElementName(SPOOLER_BUNDLE_NAME, SPOOLER_ABILITY_NAME);
|
||||
want.SetElementName(SPOOLER_BUNDLE_NAME, SPOOLER_PREVIEW_ABILITY_NAME);
|
||||
want.SetParam(LAUNCH_PARAMETER_JOB_ID, jobId);
|
||||
want.SetParam(LAUNCH_PARAMETER_FILE_LIST, fileList);
|
||||
BuildFDParam(fdList, want);
|
||||
|
@ -75,17 +75,17 @@ bool PrintServiceHelper::StartPrintServiceExtension(const AAFwk::Want &want, int
|
||||
AAFwk::AbilityManagerClient::GetInstance()->Connect();
|
||||
uint32_t retry = 0;
|
||||
while (retry++ < MAX_RETRY_TIMES) {
|
||||
PRINT_HILOGD("PrintServiceHelper::StartAbility %{public}s %{public}s",
|
||||
PRINT_HILOGD("PrintServiceHelper::StartPrintServiceExtension %{public}s %{public}s",
|
||||
element.GetBundleName().c_str(), element.GetAbilityName().c_str());
|
||||
if (AAFwk::AbilityManagerClient::GetInstance()->StartAbility(want, requestCode_) == 0) {
|
||||
break;
|
||||
}
|
||||
break;
|
||||
std::this_thread::sleep_for(std::chrono::seconds(START_ABILITY_INTERVAL));
|
||||
PRINT_HILOGD("PrintServiceHelper::StartAbility %{public}d", retry);
|
||||
PRINT_HILOGD("PrintServiceHelper::StartPrintServiceExtension %{public}d", retry);
|
||||
}
|
||||
if (retry > MAX_RETRY_TIMES) {
|
||||
PRINT_HILOGE("PrintServiceHelper::StartAbility --> failed ");
|
||||
PRINT_HILOGE("PrintServiceHelper::StartPrintServiceExtension --> failed ");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
Loading…
x
Reference in New Issue
Block a user