বর্ণনা
সংযুক্ত USB ডিভাইসগুলির সাথে যোগাযোগ করতে chrome.usb API ব্যবহার করুন। এই API একটি অ্যাপের প্রেক্ষাপট থেকে USB অপারেশনগুলিতে অ্যাক্সেস প্রদান করে। এই API ব্যবহার করে, অ্যাপগুলি হার্ডওয়্যার ডিভাইসের জন্য ড্রাইভার হিসাবে কাজ করতে পারে। এই API দ্বারা সৃষ্ট ত্রুটিগুলি runtime.lastError সেট করে এবং ফাংশনের নিয়মিত কলব্যাক কার্যকর করার মাধ্যমে রিপোর্ট করা হয়। এই ক্ষেত্রে কলব্যাকের নিয়মিত প্যারামিটারগুলি অনির্ধারিত থাকবে।
অনুমতি
usbপ্রাপ্যতা
প্রকারভেদ
ConfigDescriptor
বৈশিষ্ট্য
- সক্রিয়
বুলিয়ান
ক্রোম ৪৭+এটি কি সক্রিয় কনফিগারেশন?
- কনফিগারেশন মান
সংখ্যা
কনফিগারেশন নম্বর।
- বর্ণনা
স্ট্রিং ঐচ্ছিক
কনফিগারেশনের বিবরণ।
- অতিরিক্ত_ডেটা
অ্যারেবাফার
এই কনফিগারেশনের সাথে সম্পর্কিত অতিরিক্ত বর্ণনাকারী ডেটা।
- ইন্টারফেস
উপলব্ধ ইন্টারফেসসমূহ।
- সর্বোচ্চ শক্তি
সংখ্যা
এই ডিভাইসটির জন্য প্রয়োজনীয় সর্বোচ্চ শক্তি মিলিঅ্যাম্পিয়ার (mA) এককে।
- রিমোট ওয়েকআপ
বুলিয়ান
ডিভাইসটি রিমোট ওয়েকআপ সমর্থন করে।
- স্বচালিত
বুলিয়ান
ডিভাইসটি স্ব-চালিত।
ConnectionHandle
বৈশিষ্ট্য
- হাতল
সংখ্যা
একটি অস্বচ্ছ হ্যান্ডেল যা ইউএসবি ডিভাইসের সাথে এই সংযোগ এবং এর সাথে যুক্ত সমস্ত দাবি করা ইন্টারফেস ও অপেক্ষাধীন স্থানান্তরকে প্রতিনিধিত্ব করে। প্রতিবার ডিভাইসটি খোলার সময় একটি নতুন হ্যান্ডেল তৈরি হয়। এই সংযোগ হ্যান্ডেলটি
Device.deviceথেকে ভিন্ন। - পণ্যের আইডি
সংখ্যা
পণ্য আইডি।
- বিক্রেতার আইডি
সংখ্যা
ডিভাইস বিক্রেতার আইডি।
ControlTransferInfo
বৈশিষ্ট্য
- ডেটা
অ্যারেবাফার ঐচ্ছিক
প্রেরণ করার জন্য ডেটা (শুধুমাত্র আউটপুট স্থানান্তরের জন্য প্রয়োজন)।
- দিকনির্দেশনা
স্থানান্তরের দিক (
"in"বা"out")। - সূচক
সংখ্যা
wIndexক্ষেত্রটি, দেখুন পূর্বোক্ত । - দৈর্ঘ্য
সংখ্যা ঐচ্ছিক
গ্রহণ করার জন্য সর্বাধিক বাইট সংখ্যা (শুধুমাত্র ইনপুট স্থানান্তরের জন্য প্রয়োজন)।
- প্রাপক
স্থানান্তর লক্ষ্য।
indexদ্বারা প্রদত্ত লক্ষ্যটি অবশ্যই দাবি করতে হবে যদি তা"interface"বা"endpoint"। - অনুরোধ
সংখ্যা
bRequestফিল্ড, দেখুন ইউনিভার্সাল সিরিয়াল বাস স্পেসিফিকেশন রিভিশন ১.১ § ৯.৩। - অনুরোধের ধরণ
অনুরোধের ধরণ।
- টাইমআউট
সংখ্যা ঐচ্ছিক
ক্রোম ৪৩+অনুরোধের সময়সীমা (মিলিসেকেন্ডে)। ডিফল্ট মান
0মানে কোনো সময়সীমা নেই। - মূল্য
সংখ্যা
wValueফিল্ড, দেখুন পূর্বোক্ত গ্রন্থ ।
Device
বৈশিষ্ট্য
- ডিভাইস
সংখ্যা
ইউএসবি ডিভাইসটির একটি অস্বচ্ছ আইডি। ডিভাইসটি সংযোগ বিচ্ছিন্ন না করা পর্যন্ত এটি অপরিবর্তিত থাকে।
- প্রস্তুতকারকের নাম
স্ট্রিং
ক্রোম ৪৬+ডিভাইস থেকে iManufacturer স্ট্রিংটি পড়া হয়, যদি তা উপলব্ধ থাকে।
- পণ্যের আইডি
সংখ্যা
পণ্য আইডি।
- পণ্যের নাম
স্ট্রিং
ক্রোম ৪৬+ডিভাইস থেকে iProduct স্ট্রিংটি পড়া হয়, যদি তা উপলব্ধ থাকে।
- ক্রমিক নম্বর
স্ট্রিং
ক্রোম ৪৬+ডিভাইস থেকে iSerialNumber স্ট্রিংটি পড়া হয়, যদি তা পাওয়া যায়।
- বিক্রেতার আইডি
সংখ্যা
ডিভাইস বিক্রেতার আইডি।
- সংস্করণ
সংখ্যা
ক্রোম ৫১+ডিভাইস সংস্করণ (bcdDevice ফিল্ড)।
DeviceFilter
বৈশিষ্ট্য
- ইন্টারফেসক্লাস
সংখ্যা ঐচ্ছিক
ইউএসবি ইন্টারফেস ক্লাস, যা ডিভাইসের যেকোনো ইন্টারফেসের সাথে মেলে।
- ইন্টারফেসপ্রোটোকল
সংখ্যা ঐচ্ছিক
ইউএসবি ইন্টারফেস প্রোটোকল, শুধুমাত্র ইন্টারফেস সাব-ক্লাস মিললে যাচাই করা হয়।
- ইন্টারফেস সাবক্লাস
সংখ্যা ঐচ্ছিক
ইউএসবি ইন্টারফেস সাব-ক্লাস, যা শুধুমাত্র ইন্টারফেস ক্লাস মিলে গেলেই যাচাই করা হয়।
- পণ্যের আইডি
সংখ্যা ঐচ্ছিক
ডিভাইস প্রোডাক্ট আইডি, শুধুমাত্র ভেন্ডর আইডি মিলে গেলেই যাচাই করা হয়।
- বিক্রেতার আইডি
সংখ্যা ঐচ্ছিক
ডিভাইস বিক্রেতার আইডি।
DevicePromptOptions
বৈশিষ্ট্য
- ফিল্টার
ডিভাইসফিল্টার [] ঐচ্ছিক
ব্যবহারকারীর সামনে প্রদর্শিত ডিভাইসের তালিকাটি ফিল্টার করুন। একাধিক ফিল্টার প্রদান করা হলে, যেকোনো ফিল্টারের সাথে মিলে যাওয়া ডিভাইসগুলো প্রদর্শিত হবে।
- একাধিক
বুলিয়ান ঐচ্ছিক
ব্যবহারকারীকে একাধিক ডিভাইস নির্বাচন করার অনুমতি দিন।
Direction
Direction, Recipient, RequestType, এবং TransferType সবগুলোই ইউএসবি স্পেসিফিকেশনের মধ্যে তাদের সমনামের সাথে সম্পর্কিত।
এনাম
"মধ্যে" "আউট"
EndpointDescriptor
বৈশিষ্ট্য
- ঠিকানা
সংখ্যা
এন্ডপয়েন্ট ঠিকানা।
- দিকনির্দেশনা
স্থানান্তরের দিক।
- অতিরিক্ত_ডেটা
অ্যারেবাফার
এই এন্ডপয়েন্টের সাথে সম্পর্কিত অতিরিক্ত বর্ণনাকারী ডেটা।
- সর্বোচ্চ প্যাকেটের আকার
সংখ্যা
সর্বোচ্চ প্যাকেট আকার।
- ভোটগ্রহণ ব্যবধান
সংখ্যা ঐচ্ছিক
পোলিং ব্যবধান (শুধুমাত্র ইন্টারাপ্ট এবং আইসোক্রোনাস ক্ষেত্রে প্রযোজ্য)।
- সিঙ্ক্রোনাইজেশন
সিঙ্ক্রোনাইজেশন টাইপ ঐচ্ছিক
স্থানান্তর সিঙ্ক্রোনাইজেশন মোড (শুধুমাত্র আইসোক্রোনাস)।
- প্রকার
স্থানান্তর প্রকার।
- ব্যবহার
ব্যবহারের ধরণ ঐচ্ছিক
এন্ডপয়েন্ট ব্যবহারের ইঙ্গিত।
EnumerateDevicesAndRequestAccessOptions
বৈশিষ্ট্য
- ইন্টারফেসআইডি
সংখ্যা ঐচ্ছিক
যে ইন্টারফেসে অ্যাক্সেসের জন্য অনুরোধ করতে হবে, তার আইডি। এটি শুধুমাত্র ক্রোম ওএস-এ উপলব্ধ। অন্যান্য প্ল্যাটফর্মে এর কোনো প্রভাব নেই।
- পণ্যের আইডি
সংখ্যা
পণ্য আইডি।
- বিক্রেতার আইডি
সংখ্যা
ডিভাইস বিক্রেতার আইডি।
EnumerateDevicesOptions
বৈশিষ্ট্য
- ফিল্টার
ডিভাইসফিল্টার [] ঐচ্ছিক
যেকোনো ফিল্টারের সাথে মিলে যাওয়া ডিভাইস ফেরত দেওয়া হবে। ফিল্টার তালিকা খালি থাকলে, অ্যাপটির অনুমতি আছে এমন সমস্ত ডিভাইস ফেরত দেওয়া হবে।
- পণ্যের আইডি
সংখ্যা ঐচ্ছিক
অপ্রচলিতDeviceFilter.productIdসেট করার সমতুল্য। - বিক্রেতার আইডি
সংখ্যা ঐচ্ছিক
অপ্রচলিতDeviceFilter.vendorIdসেট করার সমতুল্য।
GenericTransferInfo
বৈশিষ্ট্য
- ডেটা
অ্যারেবাফার ঐচ্ছিক
প্রেরণ করার জন্য ডেটা (শুধুমাত্র আউটপুট স্থানান্তরের জন্য প্রয়োজন)।
- দিকনির্দেশনা
স্থানান্তরের দিক (
"in"বা"out")। - শেষবিন্দু
সংখ্যা
লক্ষ্য এন্ডপয়েন্ট ঠিকানা। যে ইন্টারফেসে এই এন্ডপয়েন্টটি রয়েছে, সেটি অবশ্যই দাবি করা থাকতে হবে।
- দৈর্ঘ্য
সংখ্যা ঐচ্ছিক
গ্রহণ করার জন্য সর্বাধিক বাইট সংখ্যা (শুধুমাত্র ইনপুট স্থানান্তরের জন্য প্রয়োজন)।
- টাইমআউট
সংখ্যা ঐচ্ছিক
ক্রোম ৪৩+অনুরোধের সময়সীমা (মিলিসেকেন্ডে)। ডিফল্ট মান
0মানে কোনো সময়সীমা নেই।
InterfaceDescriptor
বৈশিষ্ট্য
- বিকল্প সেটিং
সংখ্যা
ইন্টারফেসের বিকল্প সেটিং নম্বর (ডিফল্ট
0 - বর্ণনা
স্ট্রিং ঐচ্ছিক
ইন্টারফেসটির বর্ণনা।
- শেষবিন্দু
উপলব্ধ এন্ডপয়েন্টসমূহ।
- অতিরিক্ত_ডেটা
অ্যারেবাফার
এই ইন্টারফেসের সাথে সম্পর্কিত অতিরিক্ত বর্ণনাকারী ডেটা।
- ইন্টারফেসক্লাস
সংখ্যা
ইউএসবি ইন্টারফেস ক্লাস।
- ইন্টারফেস নম্বর
সংখ্যা
ইন্টারফেস নম্বর।
- ইন্টারফেসপ্রোটোকল
সংখ্যা
ইউএসবি ইন্টারফেস প্রোটোকল।
- ইন্টারফেস সাবক্লাস
সংখ্যা
ইউএসবি ইন্টারফেস উপশ্রেণী।
IsochronousTransferInfo
বৈশিষ্ট্য
- প্যাকেটের দৈর্ঘ্য
সংখ্যা
এই স্থানান্তরের প্রতিটি প্যাকেটের দৈর্ঘ্য।
- প্যাকেট
সংখ্যা
এই ট্রান্সফারে মোট প্যাকেটের সংখ্যা।
- স্থানান্তর তথ্য
স্থানান্তর পরামিতি। এই প্যারামিটার ব্লকে নির্দিষ্ট করা স্থানান্তর দৈর্ঘ্য বা ডেটা বাফারকে
packetLengthসীমানা বরাবর বিভক্ত করে স্থানান্তরের স্বতন্ত্র প্যাকেটগুলো গঠন করা হয়।
Recipient
এনাম
"ডিভাইস" "ইন্টারফেস" 'এন্ডপয়েন্ট' "অন্যান্য"
RequestType
এনাম
"মান" "শ্রেণী" "বিক্রেতা" সংরক্ষিত
SynchronizationType
ইন্টারাপ্ট এবং আইসোক্রোনাস মোডের ক্ষেত্রে, SynchronizationType এবং UsageType ইউএসবি স্পেসিফিকেশনের মধ্যে থাকা তাদের সমনামের সাথে সঙ্গতিপূর্ণ হয়।
এনাম
"অ্যাসিঙ্ক্রোনাস" "অভিযোজনশীল" "সিঙ্ক্রোনাস"
TransferResultInfo
বৈশিষ্ট্য
- ডেটা
অ্যারেবাফার ঐচ্ছিক
ইনপুট ট্রান্সফারের মাধ্যমে ফেরত আসা ডেটা। আউটপুট ট্রান্সফারের ক্ষেত্রে
undefined। - ফলাফল কোড
সংখ্যা ঐচ্ছিক
0মানটি নির্দেশ করে যে স্থানান্তরটি সফল হয়েছে। অন্যান্য মান ব্যর্থতা নির্দেশ করে।
TransferType
এনাম
"নিয়ন্ত্রণ" "বাধা দেওয়া" "আইসোক্রোনাস" "বাল্ক"
UsageType
এনাম
"ডেটা" "প্রতিক্রিয়া" "স্পষ্ট প্রতিক্রিয়া" "পর্যায়ক্রমিক" "বিজ্ঞপ্তি"
পদ্ধতি
bulkTransfer()
chrome.usb.bulkTransfer(
handle: ConnectionHandle,
transferInfo: GenericTransferInfo,
callback?: function,
): Promise<TransferResultInfo>
নির্দিষ্ট ডিভাইসে একযোগে একাধিক ডেটা স্থানান্তর সম্পন্ন করে।
প্যারামিটার
- হাতল
ডিভাইসটির সাথে একটি খোলা সংযোগ।
- স্থানান্তর তথ্য
স্থানান্তর পরামিতি।
- কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(info: TransferResultInfo) => void
ফেরত
প্রতিশ্রুতি< স্থানান্তর ফলাফল তথ্য >
ক্রোম ১১৬+প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।
claimInterface()
chrome.usb.claimInterface(
handle: ConnectionHandle,
interfaceNumber: number,
callback?: function,
): Promise<void>
একটি USB ডিভাইসে একটি ইন্টারফেস দাবি করে। কোনো ইন্টারফেসে বা সংশ্লিষ্ট এন্ডপয়েন্টে ডেটা স্থানান্তর করার আগে, ইন্টারফেসটি অবশ্যই দাবি করা থাকতে হবে। যেকোনো নির্দিষ্ট সময়ে শুধুমাত্র একটি কানেকশন হ্যান্ডেল একটি ইন্টারফেস দাবি করতে পারে। যদি ইন্টারফেসটি ইতিমধ্যেই দাবি করা থাকে, তাহলে এই কলটি ব্যর্থ হবে।
যখন ইন্টারফেসটির আর প্রয়োজন হবে না, তখন releaseInterface কল করা উচিত।
প্যারামিটার
- হাতল
ডিভাইসটির সাথে একটি খোলা সংযোগ।
- ইন্টারফেস নম্বর
সংখ্যা
যে ইন্টারফেসটি দাবি করা হবে।
- কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:() => void
ফেরত
প্রতিশ্রুতি<শূন্য>
ক্রোম ১১৬+প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।
closeDevice()
chrome.usb.closeDevice(
handle: ConnectionHandle,
callback?: function,
): Promise<void>
একটি সংযোগ হ্যান্ডেল বন্ধ করে। একটি হ্যান্ডেল বন্ধ হয়ে যাওয়ার পর তার উপর অপারেশন চালানো একটি নিরাপদ প্রক্রিয়া, কিন্তু এর ফলে কোনো পদক্ষেপ নেওয়া হয় না।
প্যারামিটার
- হাতল
বন্ধ করার জন্য
ConnectionHandle। - কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:() => void
ফেরত
প্রতিশ্রুতি<শূন্য>
ক্রোম ১১৬+প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।
controlTransfer()
chrome.usb.controlTransfer(
handle: ConnectionHandle,
transferInfo: ControlTransferInfo,
callback?: function,
): Promise<TransferResultInfo>
নির্দিষ্ট ডিভাইসে নিয়ন্ত্রণ হস্তান্তর সম্পাদন করে।
নিয়ন্ত্রণ হস্তান্তর বলতে ডিভাইস, ইন্টারফেস বা এন্ডপয়েন্টকে বোঝায়। কোনো ইন্টারফেস বা এন্ডপয়েন্টে হস্তান্তরের জন্য ইন্টারফেসটি দাবি করা থাকা আবশ্যক।
প্যারামিটার
- হাতল
ডিভাইসটির সাথে একটি খোলা সংযোগ।
- স্থানান্তর তথ্য
- কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(info: TransferResultInfo) => void
ফেরত
প্রতিশ্রুতি< স্থানান্তর ফলাফল তথ্য >
ক্রোম ১১৬+প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।
findDevices()
chrome.usb.findDevices(
options: EnumerateDevicesAndRequestAccessOptions,
callback?: function,
): Promise<ConnectionHandle[]>
বিক্রেতা, পণ্য এবং (ঐচ্ছিকভাবে) ইন্টারফেস আইডি দ্বারা নির্দিষ্ট ইউএসবি ডিভাইসগুলি খুঁজে বের করে এবং অনুমতি থাকলে ব্যবহারের জন্য সেগুলি খুলে দেয়।
যদি অ্যাক্সেসের অনুরোধটি প্রত্যাখ্যাত হয় বা ডিভাইসটি খোলা না যায়, তাহলে কোনো সংযোগ হ্যান্ডেল তৈরি বা ফেরত দেওয়া হবে না।
এই মেথডটি কল করা প্রতিটি ডিভাইসের জন্য প্রথমে getDevices এবং তারপর openDevice কল করার সমতুল্য।
প্যারামিটার
টার্গেট ডিভাইসগুলোতে যে বৈশিষ্ট্যগুলো অনুসন্ধান করতে হবে।
- কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(handles: ConnectionHandle[]) => void
- হাতল
ফেরত
প্রতিশ্রুতি< সংযোগ হ্যান্ডেল []>
ক্রোম ১১৬+প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।
getConfiguration()
chrome.usb.getConfiguration(
handle: ConnectionHandle,
callback?: function,
): Promise<ConfigDescriptor>
বর্তমানে নির্বাচিত কনফিগারেশনের কনফিগারেশন বর্ণনাকারীটি পাওয়া যায়।
প্যারামিটার
- হাতল
ডিভাইসটির সাথে একটি খোলা সংযোগ।
- কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(config: ConfigDescriptor) => void
- কনফিগারেশন
ফেরত
প্রতিশ্রুতি< কনফিগ ডেসক্রিপ্টর >
ক্রোম ১১৬+প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।
getConfigurations()
chrome.usb.getConfigurations(
device: Device,
callback?: function,
): Promise<ConfigDescriptor[]>
ডিভাইস কনফিগারেশন বর্ণনাকারীর সম্পূর্ণ সেট ফেরত দেয়।
প্যারামিটার
- ডিভাইস
যে
Deviceথেকে ডেসক্রিপ্টরগুলো সংগ্রহ করতে হবে। - কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(configs: ConfigDescriptor[]) => void
- কনফিগারেশন
ফেরত
Promise< ConfigDescriptor []>
ক্রোম ১১৬+প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।
getDevices()
chrome.usb.getDevices(
options: EnumerateDevicesOptions,
callback?: function,
): Promise<Device[]>
সংযুক্ত ইউএসবি ডিভাইসগুলোর তালিকা তৈরি করে।
প্যারামিটার
ফেরত
প্রতিশ্রুতি< ডিভাইস []>
ক্রোম ১১৬+প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।
getUserSelectedDevices()
chrome.usb.getUserSelectedDevices(
options: DevicePromptOptions,
callback?: function,
): Promise<Device[]>
ব্যবহারকারীর সামনে একটি ডিভাইস পিকার উপস্থাপন করে এবং নির্বাচিত Device ফেরত দেয়। ব্যবহারকারী পিকারটি বাতিল করলে ডিভাইসগুলো খালি থাকবে। ডায়ালগটি প্রদর্শনের জন্য ব্যবহারকারীর একটি অঙ্গভঙ্গি প্রয়োজন। ব্যবহারকারীর অঙ্গভঙ্গি ছাড়া, কলব্যাকটি এমনভাবে চলবে যেন ব্যবহারকারী এটি বাতিল করেছেন।
প্যারামিটার
ফেরত
প্রতিশ্রুতি< ডিভাইস []>
ক্রোম ১১৬+প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।
interruptTransfer()
chrome.usb.interruptTransfer(
handle: ConnectionHandle,
transferInfo: GenericTransferInfo,
callback?: function,
): Promise<TransferResultInfo>
নির্দিষ্ট ডিভাইসে একটি ইন্টারাপ্ট ট্রান্সফার সম্পাদন করে।
প্যারামিটার
- হাতল
ডিভাইসটির সাথে একটি খোলা সংযোগ।
- স্থানান্তর তথ্য
স্থানান্তর পরামিতি।
- কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(info: TransferResultInfo) => void
ফেরত
প্রতিশ্রুতি< স্থানান্তর ফলাফল তথ্য >
ক্রোম ১১৬+প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।
isochronousTransfer()
chrome.usb.isochronousTransfer(
handle: ConnectionHandle,
transferInfo: IsochronousTransferInfo,
callback?: function,
): Promise<TransferResultInfo>
নির্দিষ্ট ডিভাইসটিতে একটি আইসোক্রোনাস ট্রান্সফার সম্পাদন করে।
প্যারামিটার
- হাতল
ডিভাইসটির সাথে একটি খোলা সংযোগ।
- স্থানান্তর তথ্য
- কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(info: TransferResultInfo) => void
ফেরত
প্রতিশ্রুতি< স্থানান্তর ফলাফল তথ্য >
ক্রোম ১১৬+প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।
listInterfaces()
chrome.usb.listInterfaces(
handle: ConnectionHandle,
callback?: function,
): Promise<InterfaceDescriptor[]>
একটি ইউএসবি ডিভাইসের সমস্ত ইন্টারফেসের তালিকা দেখায়।
প্যারামিটার
- হাতল
ডিভাইসটির সাথে একটি খোলা সংযোগ।
- কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(descriptors: InterfaceDescriptor[]) => void
- বর্ণনাকারী
ফেরত
প্রতিশ্রুতি< ইন্টারফেস বর্ণনাকারী []>
ক্রোম ১১৬+প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।
openDevice()
chrome.usb.openDevice(
device: Device,
callback?: function,
): Promise<ConnectionHandle>
getDevices দ্বারা প্রাপ্ত একটি USB ডিভাইস খোলে।
প্যারামিটার
- ডিভাইস
Deviceখুলতে হবে। - কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(handle: ConnectionHandle) => void
- হাতল
ফেরত
প্রতিশ্রুতি< সংযোগ হ্যান্ডেল >
ক্রোম ১১৬+প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।
releaseInterface()
chrome.usb.releaseInterface(
handle: ConnectionHandle,
interfaceNumber: number,
callback?: function,
): Promise<void>
একটি দাবি করা ইন্টারফেস প্রকাশ করে।
প্যারামিটার
- হাতল
ডিভাইসটির সাথে একটি খোলা সংযোগ।
- ইন্টারফেস নম্বর
সংখ্যা
ইন্টারফেসটি প্রকাশ করা হবে।
- কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:() => void
ফেরত
প্রতিশ্রুতি<শূন্য>
ক্রোম ১১৬+প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।
requestAccess()
chrome.usb.requestAccess(
device: Device,
interfaceId: number,
callback?: function,
): Promise<boolean>
এই ফাংশনটি শুধুমাত্র ক্রোম ওএস-এর জন্য নির্দিষ্ট ছিল এবং অন্য প্ল্যাটফর্মে এটি ব্যবহার করলে ব্যর্থ হতো। এই অপারেশনটি এখন openDevice এর অংশ হিসেবে স্বয়ংক্রিয়ভাবে সম্পাদিত হয় এবং এই ফাংশনটি সব প্ল্যাটফর্মে true রিটার্ন করবে।
যদি ডিভাইসের প্রদত্ত ইন্টারফেসটি অন্য কারো দ্বারা দাবি করা না থাকে, তবে Chrome OS দ্বারা দাবি করা কোনো ডিভাইসে অ্যাক্সেসের জন্য পারমিশন ব্রোকারের কাছে অনুরোধ করা হয়।
প্যারামিটার
- ডিভাইস
যে
Deviceঅ্যাক্সেসের জন্য অনুরোধ করতে হবে। - ইন্টারফেসআইডি
সংখ্যা
নির্দিষ্ট ইন্টারফেসটি অনুরোধ করা হয়েছে।
- কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(success: boolean) => void
- সাফল্য
বুলিয়ান
ফেরত
প্রতিশ্রুতি<বুলিয়ান>
ক্রোম ১১৬+প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।
resetDevice()
chrome.usb.resetDevice(
handle: ConnectionHandle,
callback?: function,
): Promise<boolean>
ইউএসবি ডিভাইসটি রিসেট করার চেষ্টা করা হয়। রিসেট ব্যর্থ হলে, প্রদত্ত কানেকশন হ্যান্ডেলটি বন্ধ হয়ে যাবে এবং ইউএসবি ডিভাইসটি প্রথমে সংযোগ বিচ্ছিন্ন ও পরে পুনরায় সংযুক্ত হয়েছে বলে মনে হবে। এই ক্ষেত্রে, ডিভাইসটি পুনরায় খুঁজে পেতে getDevices বা findDevices কমান্ড দুটি আবার কল করতে হবে।
প্যারামিটার
- হাতল
রিসেট করার জন্য একটি সংযোগ হ্যান্ডেল।
- কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(success: boolean) => void
- সাফল্য
বুলিয়ান
ফেরত
প্রতিশ্রুতি<বুলিয়ান>
ক্রোম ১১৬+প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।
setConfiguration()
chrome.usb.setConfiguration(
handle: ConnectionHandle,
configurationValue: number,
callback?: function,
): Promise<void>
একটি ডিভাইস কনফিগারেশন নির্বাচন করুন।
এই ফাংশনটি ডিভাইসের উপলব্ধ কনফিগারেশনগুলোর মধ্যে একটি নির্বাচন করার মাধ্যমে ডিভাইসটিকে কার্যকরভাবে রিসেট করে। শুধুমাত্র 0 এর চেয়ে বড় কনফিগারেশন মানগুলোই বৈধ, তবে কিছু ত্রুটিপূর্ণ ডিভাইসে একটি কার্যকর কনফিগারেশন 0 থাকে এবং তাই এই মানটিও অনুমোদিত।
প্যারামিটার
- হাতল
ডিভাইসটির সাথে একটি খোলা সংযোগ।
- কনফিগারেশন মান
সংখ্যা
- কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:() => void
ফেরত
প্রতিশ্রুতি<শূন্য>
ক্রোম ১১৬+প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।
setInterfaceAlternateSetting()
chrome.usb.setInterfaceAlternateSetting(
handle: ConnectionHandle,
interfaceNumber: number,
alternateSetting: number,
callback?: function,
): Promise<void>
পূর্বে দাবি করা কোনো ইন্টারফেসে একটি বিকল্প সেটিং নির্বাচন করে।
প্যারামিটার
- হাতল
ডিভাইসটির সাথে একটি উন্মুক্ত সংযোগ যেখানে এই ইন্টারফেসটি দাবি করা হয়েছে।
- ইন্টারফেস নম্বর
সংখ্যা
কনফিগার করার জন্য ইন্টারফেস।
- বিকল্প সেটিং
সংখ্যা
কনফিগার করার জন্য বিকল্প সেটিং।
- কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:() => void
ফেরত
প্রতিশ্রুতি<শূন্য>
ক্রোম ১১৬+প্রমিস শুধুমাত্র ম্যানিফেস্ট ভি৩ এবং এর পরবর্তী সংস্করণগুলোতে সমর্থিত, অন্যান্য প্ল্যাটফর্মে কলব্যাক ব্যবহার করতে হবে।
ইভেন্টগুলি
onDeviceAdded
chrome.usb.onDeviceAdded.addListener(
callback: function,
)
সিস্টেমে কোনো ডিভাইস যুক্ত করা হলে এই ইভেন্টটি তৈরি হয়। ইভেন্টগুলো শুধুমাত্র সেইসব অ্যাপ এবং এক্সটেনশনে সম্প্রচার করা হয়, যাদের ডিভাইসটি অ্যাক্সেস করার অনুমতি আছে। ইনস্টল করার সময়, ব্যবহারকারী যখন কোনো ঐচ্ছিক অনুমতি গ্রহণ করেন ( permissions.request দেখুন), অথবা getUserSelectedDevices মাধ্যমে এই অনুমতি দেওয়া হয়ে থাকতে পারে।
প্যারামিটার
- কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(device: Device) => void
- ডিভাইস
onDeviceRemoved
chrome.usb.onDeviceRemoved.addListener(
callback: function,
)
সিস্টেম থেকে কোনো ডিভাইস সরিয়ে ফেলা হলে এই ইভেন্টটি তৈরি হয়। কোন কোন ইভেন্ট পাঠানো হয়, তা জানতে onDeviceAdded দেখুন।