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